Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Digetix
104 / 104 / 1
Регистрация: 09.04.2012
Сообщений: 651
#1

Записать базу на карту памяти - Программирование Android

26.11.2013, 16:31. Просмотров 711. Ответов 4
Метки нет (Все метки)

Как правильно прописать путь к базе данных? То есть при запуске создать файл базы данных на карте памяти и в дальнейшем с ним работать.
Как учитывать, что есть устройства с картой памяти, а со большой встроенной памятью?

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
class DBHelper extends SQLiteOpenHelper { 
         
        public DBHelper(Context context) {        
              super(context, "/sdcard/"+DATABASE_NAME, null, 1);               
              String newFolder = "/newFolder"; 
              String extStorageDirectory = Environment.getExternalStorageDirectory().toString(); 
              File myNewFolder = new File(extStorageDirectory + newFolder); 
              myNewFolder.mkdir(); 
              SQLiteDatabase.openOrCreateDatabase("/sdcard/newFolder/"+DATABASE_NAME,null); 
        } 
 
        @Override 
        public void onCreate(SQLiteDatabase db) { 
          db.execSQL("create table mytable (" 
              + "id integer primary key autoincrement," 
              + "email text" + ");"); 
        } 
 
        @Override 
        public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 
 
        } 
      }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.11.2013, 16:31
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Записать базу на карту памяти (Программирование Android):

Как позволить установку приложения на карту памяти? - Программирование Android
Здравствуйте. Возникла необходимость дать возможность переносить программу на SD карту. Видится мне, что делается это в пару кликов,...

При переносе приложения на карту памяти где хранятся SharedPreferences, SQLite базы и тп ? - Программирование Android
Где хранятся настройки SharedPreferences, SQLite базы и тд? Нужно ли что то дополнительно прописывать или при переносе на карту памяти...

Форматировать карту памяти - Смартфоны
как-то у меня глюканул телефон Nokia 6300, и все файлы на флешке(mini sd 128mb) стали не читаемы, удалить их невозможно, отфармотировать...

Телефон не видит карту памяти - Symbian
телефон N82,карта памяти 2gb micro sd .в чем проблема?Как можно отформатировать ее?

Перенос приложений на карту памяти - Android
установлена обычная прошивка андроид 2.3.6. телефон samsung galaxy gio s5660. нужно переместить приложения на флешку, чтобы можно было...

Nokia N8 не видит карту памяти - Symbian
Доброго времени суток, у меня такая проблема : Nokia N8 после переустановки программного обеспечения не видит карту памяти. пробовал...

4
YuraAAA
1577 / 1318 / 271
Регистрация: 25.10.2009
Сообщений: 3,438
Записей в блоге: 2
26.11.2013, 20:09 #2
Запись базы на карту:
Вместо
"/sdcard/"+DATABASE_NAME
пишите
Java
1
2
3
Environment.getExternalStorageDirectory()
                + File.separator + "/DataBase/" + File.separator
                + DATABASE_NAME
Проверка на СД-карту

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
boolean mExternalStorageAvailable = false;
boolean mExternalStorageWriteable = false;
String state = Environment.getExternalStorageState();
 
if (Environment.MEDIA_MOUNTED.equals(state)) {
    // Мы можем читать и писать на неё
    mExternalStorageAvailable = mExternalStorageWriteable = true;
} else if (Environment.MEDIA_MOUNTED_READ_ONLY.equals(state)) {
    // Только читать
    mExternalStorageAvailable = true;
    mExternalStorageWriteable = false;
} else {
    // Не можем ничего делать. Возможно карты нет
    mExternalStorageAvailable = mExternalStorageWriteable = false;
}
2
Digetix
104 / 104 / 1
Регистрация: 09.04.2012
Сообщений: 651
26.11.2013, 23:37  [ТС] #3
Спасибо, всё работает. А как узнать и имеет ли смысл узнавать есть ли карта памяти в устройстве?
0
YuraAAA
1577 / 1318 / 271
Регистрация: 25.10.2009
Сообщений: 3,438
Записей в блоге: 2
27.11.2013, 12:29 #4
Цитата Сообщение от Digetix Посмотреть сообщение
А как узнать и имеет ли смысл узнавать есть ли карта памяти в устройстве?
Хэх, ну это уже от Вашей задачи зависит. Я обычно создаю базу в кэше приложения. Куда пользователь установил приложение - там и будет база. Обычно БД не занимает много места (если Вы, конечно, не собираетесь хранить там кучу тяжёловесных blob).
Создание базы в кэше приложения - просто:
Java
1
super(context, DATABASE_NAME, null, 1);
0
Digetix
104 / 104 / 1
Регистрация: 09.04.2012
Сообщений: 651
27.11.2013, 12:59  [ТС] #5
Цитата Сообщение от YuraAAA Посмотреть сообщение
ну это уже от Вашей задачи зависит
В общем у меня такая задача, есть сервис parse.com, там есть моя база данных (таблица с 2000 строк, 5 столбцов, только текст). Я хочу при установке и при первом запуске "закачать" базу в устройство и при последующих запусках использовать локальную базу. При каждом запуске буду сверять версии баз данных и если нужно обновлять её. Так вот и прошу от вас совета, как лучше поступить и где разместить базу?
0
27.11.2013, 12:59
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.11.2013, 12:59
Привет! Вот еще темы с ответами:

Как восстановить карту памяти - Носители информации
Всем привет! меня зовут Анна. Помоги кто может. Спалила карту памяти. Получилось все так, начала включать ноутбук и забыла что у меня в USB...

Смартфон не видит карту памяти - Flash-память
Здравствуйте. Возникла такая ситуация, что мой смартфон перестал видеть карту памяти. При подключении его к компу карты тоже не видно. Но...

Как перенести приложения на карту памяти? - Android
Всем привет! Так вот, как перенести приложения на карту памяти? Память телефона делится на три памяти: внутренняя(512 мб), память...

телефон перестал видеть карту памяти - Смартфоны
у меня телефон nokia 2700 classic.и вот я как всегда решил зайти в аську которая находится на флешке. в итоге я открыл аську начал...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru