Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
Digetix
104 / 104 / 1
Регистрация: 09.04.2012
Сообщений: 651
1

Записать базу на карту памяти

26.11.2013, 16:31. Просмотров 828. Ответов 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
Ответы с готовыми решениями:

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

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

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

Как восстановить карту памяти
Всем привет! меня зовут Анна. Помоги кто может. Спалила карту памяти....

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

4
YuraAAA
1578 / 1319 / 282
Регистрация: 25.10.2009
Сообщений: 3,436
Записей в блоге: 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
1578 / 1319 / 282
Регистрация: 25.10.2009
Сообщений: 3,436
Записей в блоге: 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

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

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

Смартфон не видит карту памяти
Здравствуйте. Возникла такая ситуация, что мой смартфон перестал видеть карту...


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

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

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