Android доступ к существующей базе данных sqlite на устройстве - PullRequest
1 голос
/ 23 мая 2011

Я программирую приложение для вкладки iconia (Android 3.0).В этом приложении я хочу получить доступ к базе данных sqlite, которая уже существует.В эмуляторе это работало хорошо, но на устройстве кажется, что я не могу найти нужную папку, где я должен разместить базу данных.Я рутировал устройство.Я подумал, может быть, если я создам базу данных в программе, я мог бы увидеть, где она расположена, но когда я ее ищу, то получается, что ее нигде нет.

Конструктор базы данных:

        public CustomSQLiteOpenHelper(Context context)
        {
            super(context, "blub.db", null, 1);
        }

доступ к базе данных:

public void showTestValues(){
            ArrayList<Object> rowArray = new ArrayList<Object>();
            Cursor cursor;
            Log.d("myLog", "showTestValues");
            try
            {
                // this is a database call that creates a "cursor" object.
                // the cursor object store the information collected from the
                // database and is used to iterate through the data.
                cursor = db.rawQuery("SELECT * FROM artikel ", null);

                // move the pointer to position zero in the cursor.
                cursor.moveToFirst();

                // if there is data available after the cursor's pointer, add
                // it to the ArrayList that will be returned by the method.
                if (!cursor.isAfterLast())
                {
                    do
                    {
                        rowArray.add(cursor.getString(0));
                        Log.d("myLog", cursor.getString(0));
                    }
                    while (cursor.moveToNext());
                }

                // let java know that you are through with the cursor.
                cursor.close();
            }
            catch (SQLException e) 
            {
                Log.e("DB ERROR", e.toString());
                e.printStackTrace();
            }
        }

Код ошибки:

 05-23 15:05:59.220: INFO/SqliteDatabaseCpp(7217): sqlite returned: error code = 1, msg = no such table: artikel, db=/data/data/com.example.inspiratedshopping/databases/blub.db

Я попытался выдвинуть базу данных в направлении data / data / com.example.inspiratedshopping / database с помощьюADB File Explorer в Eclipse - я получаю ошибку:

"Не удалось подтолкнуть выбор: нет такого файла или каталога"

, поэтому я использовал файловый эксперт на устройстве, и это было возможноразместить базу данных.Но вы видите ошибку там.

Кто-нибудь имеет опыт работы с этим?Заранее спасибо !!!

1 Ответ

0 голосов
/ 23 мая 2011

Посмотрите на это сообщение в блоге.Если у вас есть база данных, которая уже существует, ее необходимо будет включить, насколько мне известно, в папку «Активы».

http://www.reigndesign.com/blog/using-your-own-sqlite-database-in-android-applications/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...