http://www.reigndesign.com/blog/using-your-own-sqlite-database-in-android-applications/
Этот парень говорит о пути к системе Android:
// Системный путь Android к базе данных вашего приложения по умолчанию.
закрытая статическая строка DB_PATH = "/ data / data / YOUR_PACKAGE / database /";
и здесь: DB_PATH = "/data/data/com.android.example/databases/" во многих других ссылках, касающихся баз данных sqlite.
Проблема в том, что Eclipse (на Mac OSX 10.7) не создал каталог данных, а на моем Motorola Xoom (на котором установлен Android 4.0.3 - сэндвич с мороженым) я не могу определить, какой у него системный путь по умолчанию. Я не вижу ничего, ссылающегося на / data / data / ... с помощью файлового менеджера Astro.
Поскольку я использую Mac, мне пришлось использовать приложение для файловой системы Android, чтобы перенести мои apk-файлы из моего рабочего пространства eclipse в motorola xoom. Я предположил, что один из моих вопросов должен быть - где было бы правильное место, чтобы поставить это, или это имеет значение?
Я уже загрузил браузер базы данных Sqlite и заполнил свою базу данных, о чем говорит ссылка выше. У меня нет никаких первичных ключей. я скопировал файл .db в папку с активами в моем проекте - также как указано в ссылке.
Кроме того, поскольку моя база данных уже создана с таблицами, на самом деле все, что мне нужно сделать (я полагаю), это скопировать таблицы в этот каталог данных, о котором все всегда упоминают, и тогда я смогу делать вставки / обновления / выборки и т. Д. И т. Д. ?
пока мой код:
public class DatabaseHelper extends SQLiteOpenHelper {
private Context myDbContext;
private static String dbName = "restaurant";
public DatabaseHelper(Context context){
super(context, dbName, null, 1);
this.myDbContext = context;
}
@Override
public void onCreate(SQLiteDatabase db) {
//need to take input from local database and copy it
//but where do i copy the information to? what path should i use?
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
Log.w(DatabaseHelper.class.getName(), "upgrading database/changing database which will remove all old data!");
db.execSQL("drop table if exists menu");
db.execSQL("drop table if exists items");
db.execSQL("drop table if exists server");
onCreate(db);
}
}