2012-10-27 18 views
5

Jestem bardzo nowym użytkownikiem Androida ... chcę wiedzieć, jaki jest najlepszy sposób na ukrycie obrazu w systemie Android. Mam aplikację, w której robię zdjęcie, i chcę, aby to zdjęcie było wyświetlane tylko w mojej aplikacji.Najlepszy sposób na ukrycie obrazu w systemie Android?

+0

można spróbować encripting obrazy w jakiś sposób. Istnieją doniesienia, że ​​.nomedia nie działa od 4.0. http://stackoverflow.com/questions/10697276/android-nomedia-not-working-for-images – Doomsknight

+0

Istnieje kilka błędów ze skanerem mediów w niektórych wersjach API, ale .nomedia nadal działa. Jednym z błędów jest to, że tworzenie pliku .nomedia po tym, jak niektóre obrazy były obecne w folderze, ukrywa przyszłe obrazy, ale nie starsze, ale można je naprawić wymuszając ponowne skanowanie wszystkich nośników (po prostu usuwając swoje dane i pamięć podręczną działa) . Rozwiązanie jest jeszcze prostsze. Dodaj plik .nomedia, zanim zaczniesz zapisywać obrazy w folderze, aby zapobiec ich pobieraniu przez MediaScanner. Ten wpis opisuje, jak rozwiązać to wszystko. – ZhDev

Odpowiedz

3

Najlepszym sposobem byłoby użycie wewnętrznej pamięci urządzenia. Według witryny programisty:

Możesz zapisywać pliki bezpośrednio w pamięci wewnętrznej urządzenia. Domyślnie pliki zapisane w pamięci wewnętrznej są prywatne dla aplikacji , a inne aplikacje nie mają do nich dostępu (ani użytkownik ).

Można znaleźć wszystkie szczegóły tutaj: Using the Internal Storage

Należy pamiętać, że istnieją pewne rzeczy, które należy wziąć pod uwagę; na przykład, jeśli wspomniane zdjęcie jest robione za pomocą kamery, zdjęcie należy najpierw zapisać w folderze publicznym (np. w pamięci zewnętrznej), aby kamera działała prawidłowo, a następnie przenieść go do pamięci wewnętrznej (lub skopiuj, a następnie usuń oryginał).

Istnieją inne metody:

  • Można też spróbować zapisywania zdjęć w pamięci zewnętrznej (dostepne przez innych), ale nazwy plików z poprzedniego kropką w nazwie plików, żeby były niewidoczne, ale każda aplikacja może uzyskać dostęp do pliku, jeśli zna nazwę pliku, a większość menedżerów plików może pokazywać ukryte pliki.
  • Dodaj plik ".nomedia" do folderu, aby zapobiec wyświetlaniu zdjęć w galerii.
  • Nazwij pliki z losowymi ciągami bez rozszerzeń.

To naprawdę zależy od tego, czy chcesz, aby były całkowicie niedostępne dla innych aplikacji lub ukrywanie go trochę to wystarczy

+0

+1 za odpowiedź. Ale mam małą wątpliwość. Wątpliwości są poza zakresem, ale mają nadzieję, że zostaną rozważone. Załóżmy, że mam plik, który przechowuję w pamięci zewnętrznej o nazwie pliku poprzedzającej kropkę. Pomaga to, aby plik był niewidoczny, a czym jest plik .nomedia? Czy powinien on zostać utworzony podczas tworzenia tego pliku (poprzedzona kropką) w kodzie java? –

+0

Z tego samego linku, którego użyto w odpowiedzi: "Dołącz pusty plik o nazwie .nomedia do katalogu plików zewnętrznych (zwróć uwagę na prefiks kropki w nazwie pliku) .Może to uniemożliwić czytnikowi multimediów Android odczytanie plików multimedialnych i włączenie ich do aplikacji takich jak Galeria lub muzyka. " Zasadniczo dołącz jeden pusty plik o nazwie .nomedia w górnym folderze używanym do przechowywania obrazów (przy pierwszym dostępie do folderu lub podczas jego tworzenia), co uniemożliwi galerii wyświetlanie wszystkich zapisanych tam obrazów. – ZhDev

+1

Jako dodatkowy komentarz do tego, galeria (domyślna) również nie pokazuje ukrytych plików, więc jeśli wszystkie twoje pliki mają nazwy ".image1.jpg", ".image2.jpg", ".reallyCoolPic.jpg", są ukryte i nie potrzebujesz pliku .nomedia. – ZhDev

Powiązane problemy