2011-03-29 1 views
0

응용 프로그램이 시작될 때 데이터베이스를 생성하는 Blackberry 응용 프로그램을 구축 중입니다. 문제는 코드가 sdCard에서 제대로 작동하지만 SDCard를 제거하고 전화 메모리를 사용하려고 할 때 작동하지 않는다는 것입니다.전화 메모리에서 작동하지 않는 데이터베이스가 Blackberry의 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(); 
    } 


    } 

+0

참조 http://stackoverflow.com/questions/4447526/blackberry-sqlite-db-creation-filesystem-not-ready –

답변

2

블랙 베리는 특정 모델의 eMMC 메모리 (/저장)에서 SQLite 데이터베이스를 저장하는 지원 제안하십시오 : 다음은 내가 데이터베이스를 만드는 데 사용하고 코드입니다. 예를 들어

, 8520 블랙 베리 커브는 (당신이 갖고있는 것 같다있는) /저장 (에서만 /SDCard에)에 SQLite 데이터베이스를 저장하는 지원하지 않습니다.

+0

코딩에 prblm이 있습니까? ... 나중에 ... 나는 8520 곡선을 ​​가지고 있습니다. –

+1

오케이. – hrnt

관련 문제