2012-07-21 242 views
0
  1. 列表項如何在黑莓手機

    我開發的應用程序,在使用精簡版平方米數據庫中創建數據庫。這在模擬器上正常運行。但是當我們將應用程序部署在黑莓Curve 8520手機上時。告訴我們數據庫不存在。任何人都知道答案,請快速反應...

我的代碼 - >

public static void insertData(String pass , String cpass) 
{ 
    boolean fl=false; 
    String root = null; 
    MainScreen ms = new MainScreen(); 
    Enumeration e = FileSystemRegistry.listRoots(); 
    while (e.hasMoreElements()) 
    { 
     root = (String)e.nextElement(); 
     if(root.equalsIgnoreCase("store/")) 
     { 
      fl=true; 
     } 
    } 
    if(!fl) 
    { 
     UiApplication.getUiApplication().invokeLater(new Runnable() 
     { 
      public void run() 
      { 
       Dialog.alert("This application requires an SD card to be present." + 
          "Exiting application..."); 
       System.exit(0); 
      } 
     }); 
    } 
    else 
    { 
     String dbLocation = "C:/om12345/sql/res/store/"; 
     // Create URI 
     // Statement st=null; 
     try 
     { 
      URI myURI = URI.create("file:///store/home/user/databases/database.sqlite"); 
      //URI myURI1=URI. 
      d = DatabaseFactory.create(myURI); 
      Statement st = d.createStatement("insert into Admin (pass, Cpass) values('"+ pass+"','"+cpass+"')"); 
      st.prepare(); 
      st.execute(); 
      st.close(); 
      d.close(); 
      //ms.add(new RichTextField ("tata" + "tata1")); 
      // UiApplication.getApplication.invokeLater(pushScreeen(ms)); 
     } 
     catch (Exception e1) 
     { 
      System.out.println(e1.getMessage()); 
      e1.printStackTrace(); 
     } 
    } 

回答

0

首先你需要改變這一行: 「字符串dbLocation =」 C:/ om12345/SQL/RES /商店/ 「;」因爲這是指開發計算機上的某個位置,但不適用於移動設備。你需要指向應用程序本身的'res'文件夾。

+1

的代碼可以使用一些清洗一看。 dbLocation字符串沒有被傳遞給DatabaseFactory.create(),所以建議不會有幫助。請給出 – 2012-07-21 19:42:30

+0

,你給出適當的答案這個問題。作爲數據庫路徑 – 2012-08-03 16:56:07

+0

我想說,你可以告訴我一步一步解決這個問題。請問..... – 2012-08-05 14:53:52

1

對於8520,您可能無法在/store上存儲sqlite數據庫。有關該更多信息,請參閱我的回答BlackBerry SQLite database creation: "filesystem not ready"

+0

但你知道,這是商店的數據。所以,我怎麼接受這個想法。 – 2012-08-03 16:54:43

+0

我不明白你的意見 – 2012-08-03 18:55:03

0

如果您的內部存儲少於1GB,那麼您不能在存儲目錄中創建數據庫&您已將數據庫保存在C目錄中,該目錄可以從系統訪問,但不能在設備上訪問。所以將其位置複製到res文件夾中。 &檢查您是否有SD卡,然後使用/ SDCard保存您的數據庫。 如果SD卡不可比你將能夠訪問數據庫,如果你有超過1GB的內部存儲 更多有此鏈接

http://docs.blackberry.com/en/developers/deliverables/17952/SQLite_database_files_1219778_11.jsp 
相關問題