Изберете вътрешна памет и външна памет

Какво означава вътрешна памет и външна памет в android? Външното хранилище е micro SDкарта и вътрешната памет на телефона? Ако трябва да напиша файл за моето приложение, което е необходимо само на моето приложение (потребителят няма работа с този файл), тогава къде трябва да напиша моя файл - във вътрешна памет или външна памет?

Мисля, че ако запиша файла си в SDcard (външна памет), когато потребителят извади SDcard, приложението няма да може да прочете файла. правилно ли е Ако е правилно, тогава записът на файл във външна памет няма да изпълни критериите ми. Тъй като приложението ми трябва да провери някои данни във файла няколко пъти и ако в този конкретен момент потребителят извади SD картата, приложението ми не може да постигне целта си.

И трябва да запиша файла постоянно (но ако потребителят деинсталира приложението, тогава файлът трябва да бъде изтрит). И така, по кой път да тръгна?


person Shoshi    schedule 27.12.2012    source източник


Отговори (5)


Използвайте вътрешно хранилище за вашата цел (като файл или като споделена pref[ключ-стойност двойка])

SD картата не е опция за използване.

Използвайте връзката за разработчици на Android, която обяснява различните опции за съхранение: http://developer.android.com/guide/topics/data/data-storage.html

Наздраве, Прея

person preeya    schedule 27.12.2012

Разгледайте тази публикация в блога относно правилния начин за използване на файлово хранилище в Android.

Ако трябва да имате достъп до файла през цялото време, вътрешното хранилище е правилният начин. Но не трябва да използвате големи файлове във вътрешната памет, защото много устройства са много ограничени в пространството за съхранение.

Файловете се изтриват автоматично както във външната, така и във вътрешната памет, когато използвате вградените в Android механизми за създаване на файлове на първо място. Това също е обяснено в публикацията.

person Wolfram Rittmeyer    schedule 28.12.2012

Външното хранилище е micro SDкарта и вътрешната памет на телефона?

микро SD карта и вътрешна памет на телефона, и двете са външно хранилище според официалните документи на Android.

Ако трябва да напиша файл за моето приложение, което е необходимо само на моето приложение (потребителят няма работа с този файл), тогава къде трябва да напиша моя файл - във вътрешна памет или външна памет?

Запазете вашите файлове във вътрешна памет.

И трябва да запиша файла постоянно (но ако потребителят деинсталира приложението, тогава файлът трябва да бъде изтрит). И така, по кой път да тръгна?

Запазете вашите файлове във вътрешна памет.

Защо, защото според Официално ръководство за Android,

По подразбиране файловете, записани във вътрешното хранилище, са частни за вашето приложение и други приложения нямат достъп до тях (нито пък потребителят). Когато потребителят деинсталира вашето приложение, тези файлове се премахват.

Методи за запазване на файлове във вътрешно хранилище:

И двамата са в Context клас

File getDir (String name, int mode)

File getFilesDir () 

Но имайте предвид, че много телефони от нисък клас имат ограничена вътрешна памет. В този тип телефони дори изображенията, заснети с помощта на камера, се съхраняват автоматично в SD картата. Трябва да се грижите за такива случаи.

Терминологията за вътрешно и външно хранилище според Google/официалните документи на Android е съвсем различна от това, което мислим.

person AnV    schedule 01.08.2016

Трябва да използвате вътрешна памет, до която винаги е имало достъп от вашето приложение, друго приложение не може да има разрешение за достъп.

Мисля, че трябва да преминете през вътрешното хранилище.

Благодаря ти

person Bhavdip Sagar    schedule 27.12.2012

Външното хранилище е micro SD-карта и вътрешната памет на телефона?

На първо място, трябва да разберете, че не е необходимо външното хранилище да е на отделна SD-карта, а вътрешното в хранилището по подразбиране на телефона. Външното хранилище се отнася до SD-картата на устройства с Android или еквивалентен дял, който устройства без SD- опция за карта.

Вътрешното и външното хранилище са само две отделни директории, които се използват за запазване на данни. Вътрешното хранилище е място, използвано за съхраняване на лични файлове, които се оценяват само от нашето приложение и се изтриват при деинсталиране на приложението. като има предвид, че външното хранилище се използва за съхраняване на данни, от които вашият потребител вероятно се интересува, дори ако приложението ви вече не е инсталирано на устройството. Примери са заснети снимки, обработени или скицирани изображения, редактирани кодови файлове, закупени аудио файлове и т.н. можем да получим път за външно съхранение по подразбиране за съхраняване на музика, както следва,

Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MUSIC);

И трябва да запиша файла постоянно (но ако потребителят деинсталира приложението, тогава файлът трябва да бъде изтрит). И така, по кой път да тръгна?

За да запазите данните, след като потребителят е деинсталирал приложението ви, трябва да го запазите във външно хранилище. Пример: обикновено приложението за редактор на снимки записва редактирани изображения във външно хранилище, така че потребителят да има достъп до тази снимка от приложението галерия и ако потребителят деинсталира това приложение, редактираните от потребителя изображения остават на потребителското устройство.

person Umair Mustafa    schedule 05.10.2020