Asked Aug 30th, 2017 6:34 AM 149 0 1
  • 149 0 1
0

Ẩn ảnh trong thư viện

Share
  • 149 0 1

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,

Thang Tran Duc @thangtd90
Aug 30th, 2017 7:31 AM

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:

0
| Reply
Share
Hà Kiên Nguyễn @nguyenhakien11111996
Aug 30th, 2017 7:54 AM

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 ^^

0
| Reply
Share
Thang Tran Duc @thangtd90
Aug 30th, 2017 8:31 AM

@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

0
| Reply
Share

1 ANSWERS


Answered Aug 30th, 2017 7:28 AM
+1

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.

Share
Hà Kiên Nguyễn @nguyenhakien11111996
Aug 30th, 2017 7:56 AM

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.

0
| Reply
Share
Thang Tran Duc @thangtd90
Aug 30th, 2017 8:33 AM

@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?

0
| Reply
Share
Hà Kiên Nguyễn @nguyenhakien11111996
Aug 30th, 2017 9:10 AM

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.

0
| Reply
Share
Aug 30th, 2017 9:57 AM

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 😕

0
| Reply
Share
Hà Kiên Nguyễn @nguyenhakien11111996
Aug 30th, 2017 10:12 AM

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

0
| Reply
Share
Thang Tran Duc @thangtd90
Aug 31st, 2017 1:12 AM

@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.

0
| Reply
Share
Hà Kiên Nguyễn @nguyenhakien11111996
Sep 7th, 2017 8:32 AM

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

+1
| Reply
Share