Yêu cầu thg 8 30, 2017 6:34 SA 229 0 1
  • 229 0 1
0

Ẩn ảnh trong thư viện

Chia sẻ
  • 229 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,

Avatar Tran Duc Thang @thangtd90
thg 8 30, 2017 7:31 SA

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:

Avatar Hà Kiên Nguyễn @nguyenhakien11111996
thg 8 30, 2017 7:54 SA

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

Avatar Tran Duc Thang @thangtd90
thg 8 30, 2017 8:31 SA

@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

1 CÂU TRẢ LỜI


Đã trả lời thg 8 30, 2017 7:28 SA
+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.

Chia sẻ
Avatar Hà Kiên Nguyễn @nguyenhakien11111996
thg 8 30, 2017 7:56 SA

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.

Avatar Tran Duc Thang @thangtd90
thg 8 30, 2017 8:33 SA

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

Avatar Hà Kiên Nguyễn @nguyenhakien11111996
thg 8 30, 2017 9:10 SA

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.

thg 8 30, 2017 9:57 SA

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 😕

Avatar Hà Kiên Nguyễn @nguyenhakien11111996
thg 8 30, 2017 10:12 SA

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

Avatar Tran Duc Thang @thangtd90
thg 8 31, 2017 1:12 SA

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

Avatar Hà Kiên Nguyễn @nguyenhakien11111996
thg 9 7, 2017 8:32 SA

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

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí