Ẩn ảnh trong thư viện
hiện tại mình đang có source code như vậy:
String folderSaveFile = Environment.getExternalStorageDirectory()
-
File.separator + context.getString(R.string.P5Distribute)
-
File.separator + distributeTracking.getProduct_Image(); File imgFile = new File(folderSaveFile);
if (imgFile.exists()) {
Bitmap bitmapImage = BitmapFactory.decodeFile(Environment .getExternalStorageDirectory() + File.separator + context.getString(R.string.P5Distribute) + File.separator + distributeTracking.getProduct_Image()); Drawable drawableImage = new BitmapDrawable(bitmapImage); holder.imgSPDistribute.setImageDrawable(drawableImage);
} Mình muốn tất cả các ảnh sau mỗi lần đồng bộ sẽ ẩn đi để người dùng không xóa nhầm tránh mất ảnh. thanks all,
1 CÂU TRẢ LỜI
Không biết bạn làm việc với hệ điều hành thuộc họ Unix (MacOS, Linux), hay Windows?
Nếu là Unix thì mọi thứ rất đơn giản, các file trong Unix mà bắt đầu bằng dấu .
thì đều là file ẩn, nên bạn chỉ cần thêm dấu .
và đầu tên file là được.
Còn trong Windows thì hidden là một thuộc tính của file hay folder, bạn cần chạy lệnh để thay đổi attribute này. Bạn có thể viết một đoạn code để exec lệnh hệ thống attrib -s -h -r path/to/you/file
để set flag hidden cho file.
mình đang code trên windows. mình đã thử đoạn code: Environment.getExternalStorageDirectory().toString()+context.getPackageName+"//data//data//"+"(.folderName)"; nhưng nó không load sản phẩm lên.
@nguyenhakien11111996 Mình không hiểu ý bạn lắm, không load sản phẩm lên tức là không load được ảnh à? Không load được thì nó có báo lỗi gì không bạn? Và không load được thì nó có liên quan gì đến vấn đề ẩn ảnh đi mà bạn đang giải quyết không vậy?
Mình sẽ nói rõ hơn: hiện tại mình đang làm tiếp 1 dự án của bên thứ 3. mỗi khi đồng bộ về thì tất cả ảnh trên app đều lưu về thư viện ảnh. Điều này làm người dùng tưởng rằng nó là file rác nên sẽ xóa đi, nếu xóa đi thì ảnh sẽ không có để load lên ứng dụng (nó chỉ hiện lên icon android thôi chứ không báo lỗi). Cho nên mình muốn những ảnh đó mỗi khi đồng bộ về sẽ ẩn đi để người dùng tránh xóa nhầm.
Thay vì tìm cách ẩn ảnh đi thì mình nghĩ nên chuyển các ảnh của app vào một thư mục riêng ngoài thư viện ảnh
dù để ảnh ở thư mục nào đi nữa thì thư viện ảnh vẫn tự đồng bộ về được mà, ý mình ở đây là ẩn đi trừ khi thiết bị đã root thì mới mở được thư mục ẩn lên thôi
@nguyenhakien11111996 Theo như bạn nói thì có vẻ bạn đang làm app cho Android nhỉ Tại có nhắc đến "thiết bị" với "root".
Android dùng nhân Linux, nên mình nghĩ cũng giống với các hệ điều hành Unix, hay Unix-like, khác thôi, để ẩn thư mục hay file ảnh bạn chỉ cần thêm dấu .
ở đầu tên file hay thư mục là được. Ví dụ thư mục của bạn có tên là images
thì bạn đổi thành .images
là nó sẽ bị ẩn đi.
mình dùng đoạn ''' String folderSaveFile = context.getFilesDir().getAbsolutePath() ''' này thì mọi thứ đã ẩn như mình mong muốn. getFilesDir().getAbsolutePath() là code mình muốn hỏi để ẩn hình, giờ mình đã tìm ra rồi
Bạn cố gắng đặt hết đoạn code của mình bên trong
``` // Code here ```
nhé, như vậy code của bạn sẽ được format tốt hơn, chứ không phải trông lộn xộn như hiện tại :slight_smile:
lần đầu mình đặt câu hỏi nên chưa hiểu cách thức, bạn thông cảm ^^
@nguyenhakien11111996 Bạn tham khảo bài này để hiểu thêm về cách format bài viết nhé https://viblo.asia/helps/cach-su-dung-markdown-bxjvZYnwkJZ