2015-11-24 3 views
0

Я пытаюсь сохранить локальную базу данных SQLite во внутренней памяти устройства. Когда я использовал эмулятор, это:Путь к хранению базы данных SQLite в Xamarin Android

static string dbName = "totems.sqlite"; 
string dbPath = Path.Combine (Android.OS.Environment.ExternalStorageDirectory.ToString(), dbName); 

работал нормально. Но когда я попытался отладить мой Nexus 5, это не сработало, потому что у него нет внешнего хранилища. Я искал, где хранить его, чтобы он мог работать и на моем Nexus. Я заменил его:

static string dbName = "totems.sqlite"; 
string dbPath = Path.Combine ("/data/data/com.companyname.totem/databases/", dbName); 

Но теперь он не работает на моем Nexus 5 и он не работает на моем эмуляторе. Он говорит, что не может найти путь.

Что я делаю неправильно?

Заранее спасибо.

ответ

2

Я знаю, что это старая нить, но старый ответа есть опечатка. Рабочий синтаксис должен быть:

string path = Path.Combine(System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal), "DatabaseName.txt"); 
1

Im используя следующий код:

string path = Path.Combine(System.Enviroment.GetFolderPath(System.Enviroment.SpecialFolder.Personal), "data.txt"); 

Я думаю, что надо писать в внутреннюю память, как вы хотите

+0

Это путь. –

+0

GetFolderPath работает на вас? –

Смежные вопросы