2010-08-30 62 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

相关问题