База данных Sqlite заблокирована в командной строке (оболочка adb) + Android - PullRequest
0 голосов
/ 13 августа 2010

Я построил базу данных Sqlite в приложении для Android. Сначала я построил таблицу main_category в Sqlite Manager. Затем я экспортировал этот файл в необработанную папку моего приложения. Мой файл экспорта - файл .sql. Что это здесь.

 CREATE TABLE "main_category" ("_id" INTEGER PRIMARY KEY  NOT NULL ,"main_image" TEXT,"word_audio_file" TEXT,"char_audio_file" TEXT,"hash_record" BOOL NOT NULL ,"record" TEXT, "menu" TEXT);
    INSERT INTO "main_category" VALUES(1,'g_a.png','g_a.mp3','g_a_01.mp3','false',NULL,NULL);

Поэтому я читаю из своего приложения, используя FileInputStream. Код здесь,

InputStream in= new InputStream() {

                @Override
                public int read() throws IOException {
                    File sqlfile1 = new File("C://CellCity//workspace//GokiriKidApp//res//raw//main_category.sql");
                    return 0;
                }
            };
            try {

                InputStreamReader isr=new InputStreamReader(in);
                BufferedReader br=new BufferedReader(isr);

                SQL_MAIN_CATEGORY= br.readLine();
                in.close();
                br.close();
                isr.close();

            } catch (IOException e) {

                e.printStackTrace();
            }

            Log.i("onCreate", "Database Creation");
            String categoryTString=SQL_MAIN_CATEGORY;
            db.execSQL(categoryTString);

Итак, когда я запускаю свой код, я получаю сообщение об ошибке: OutOfMemoryError и блокирую базу данных в командной строке (оболочка adb)

1 Ответ

1 голос
/ 01 сентября 2010

Вы ссылаетесь на файл на вашем компьютере, а не на устройстве Android здесь:

 File sqlfile1 = new File("C://CellCity//workspace//GokiriKidApp//res//raw//main_category.sql");

Если вы поместили файл, который вы хотите прочитать, в папку raw, то вы указываете его местоположение наустройство, использующее openRawResource(R.raw.fileName)

Это вернет inputStream, который вы можете использовать для чтения файла, вместо того, чтобы создавать объект File и inputStream самостоятельно.

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