/ / Ustal, czy chcesz używać wewnętrznej, czy zewnętrznej aplikacji na Androida - Java, Android

Określ, czy chcesz używać wewnętrznej lub zewnętrznej aplikacji na Androida - java, android

Czytałem, gdzie mam przechowywać moje pliki,i nadal nie jestem pewien, jaką trasę powinienem wybrać. Piszę aplikację, która będzie przechowywać obrazy i pliki PDF (w sumie około 300 MB). Chciałbym, aby aplikacja była zainstalowana w pamięci wewnętrznej, a następnie pozwolić użytkownikowi na przechowywanie plików pdf i niektórych obrazów w tym miejscu do wyboru. Jest możliwe jest, aby użytkownik mógł wybrać, którego miejsca przechowywania używają tylko dla tych plików, nawet ja mam to w moim manifeście:

android:installLocation="internalOnly"

Zasadniczo chciałbym, aby użytkownik wybrał to podczas uruchamiania aplikacji.

Jeśli tak, czy powinienem mieć tylko flagęaplikacja, która jeśli użytkownik wybrał pamięć zewnętrzną i jeśli pamięć zewnętrzna była dostępna, miała wystarczającą ilość miejsca, a następnie zapisz w niej pliki. Za każdym razem, gdy użytkownik otwierał aplikację, sprawdzałem, czy pliki są dostępne. Jeśli użytkownicy wybiorą wewnętrzny, użyje openFileOutput. Czy to wszystko wydaje się właściwe, czy to możliwe?

A może powinienem po prostu rozważyć uczynienie go całkowicie wewnętrznym, ponieważ bez tych plików PDF i obrazów aplikacja nie będzie użyteczna.

Odpowiedzi:

0 dla odpowiedzi № 1

Wygląda na to, że możesz ustawić installLocation w następujący sposób, aby osiągnąć dokładnie to, co chcesz:

android:installLocation="preferExternal"

Od dokumentacja:

Jeśli zadeklarujesz „preferExternal”, poprosisz o toTwoja aplikacja będzie zainstalowany na zewnętrznej pamięci, ale system nie gwarantuje aplikacja zostanie zainstalowana w pamięci zewnętrznej. Jeśli pamięć zewnętrzna jest pełna, system zainstaluje ją w Pamięć wewnętrzna. Użytkownik może również przenosić aplikację między dwie lokalizacje.

Jeśli ustawisz opcję InternalOnly, użytkownik nie będzie mógł przenieść aplikacji z pamięci wewnętrznej do pamięci zewnętrznej, więc powyższe rozwiązanie jest prawdopodobnie najlepszą opcją.