2010-08-30 109 views
2

我正在創建一個應用程序,我想用該數據文件播種該應用程序將用作其初始狀態的應用程序。在Eclipse項目結構中,我應該在哪裏添加數據文件,以便在應用程序部署到設備(和模擬器)時數據文件與它一起部署?在我的Android應用程序中包含數據文件

回答

4

這將有助於它你可以將數據文件類型和目的。如果您正在尋找initalize某些設置,你可以做到這一點通過:

描述在XML首選---店RES/XML:

<?xml version="1.0" encoding="utf-8"?> 
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> 
    <PreferenceCategory > 
     <CheckBoxPreference /> 
    </PreferenceCategory> 
</PreferenceScreen> 

負荷肯定的onCreate():

/* Loading default preferences the first time application is run */ 
     PreferenceManager.setDefaultValues(getApplicationContext(), 
       R.xml.generalsettings, false); 

否則,

您可以在DB硬編碼的數據和存儲:

String sql = "CREATE TABLE ..." + "INSERT VALUES ... INTO ... "; 
db.ExecSQL(sql); 

否則,你可以存儲在Assets文件夾此文件,並使用getAssets()來檢索文件:

 getAssets().open(fileName) 

EG。使用原始數據文件。在以上命令替換資產的情況下:

 InputStream is = context.getResources().openRawResource(R.raw.artoodict); 
    BufferedReader br = new BufferedReader(new InputStreamReader(is)); 
    String readLine = null; 

    try { 
     while ((readLine = br.readLine()) != null) { 

      } 
     } 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
+0

我在考慮的數據的種類並不是用戶設置。它更像是一個州的名單(每州有200-300個地點)。我仍然不確定應用程序如何請求數據;通過SQLLite調用,或者webservice調用或者什麼。但現在我只是把它放在一個數據文件中(每個狀態一個文件),並讓應用程序打開文件並閱讀內容。 但我無法弄清楚在哪裏把數據文件放在eclipse項目結構中,以及如何在調試時將數據文件推送到app/emulator。 – Turbo 2010-08-30 17:27:12

+0

即使我打算使用SqlLite,我也需要以某種方式初始化數據庫,這將需要50 * 200的插入語句。所以我想我真正的問題是,如何在首次開發一個Android應用程序時種下初始數據? – Turbo 2010-08-30 17:28:31

+2

把它放在assest的文件夾中。您可以使用簡單文件讀取語句來提取值。基於XML的輸入是另一種選擇。 查看上面的編輯 – 2010-08-30 18:13:54

相關問題