База данных не работает в памяти телефона отлично работает с SDCard в Blackberry - PullRequest
0 голосов
/ 29 марта 2011

Я создаю приложение Blackberry, в котором я создаю базу данных при запуске приложения. Проблема в том, что код хорошо работает с SDCARD, но когда я удаляю SDCard и пытаюсь использовать память телефона, она не работает. Вот код, который я использую для создания базы данных:

public static String db_location="file:///SDCard/Databases/MyApp/MyDatabase.db";

    public MyDatabase() {
        // TODO Auto-generated constructor stub

         boolean sdCardPresent = false;
            String root = null;
            Enumeration e = FileSystemRegistry.listRoots();
            while (e.hasMoreElements())
            {
                root = (String)e.nextElement();
                if(root.equalsIgnoreCase("sdcard/"))
                {
                    sdCardPresent = true;


                }     
            }            
            if(!sdCardPresent)
            {
                // If an SDCard is not available we will store our database in
                // flash memory.  This is not recommended for large databases.

                db_location = "file:///store/home/user/Databases/MyApp/MyDatabase.db";   

            }          
        try
           {


         URI myURI = URI.create(db_location); 
         d = DatabaseFactory.create(myURI);

    d.close();
     }
     catch ( Exception e1 ) 
     {         
         System.out.println( e1.getMessage() );
         e1.printStackTrace();
     }


    }

Пожалуйста, предложите

1 Ответ

2 голосов
/ 29 марта 2011

BlackBerry поддерживает сохранение баз данных SQLite в памяти eMMC ( / store ) только на определенных моделях.

Например, BlackBerry Curve 8520 (который у вас, похоже, есть) не поддерживает сохранение базы данных SQLite в / store (только в / SDCard ).

...