【问题标题】:Include a data file with my Android app在我的 Android 应用中包含一个数据文件
【发布时间】:2011-04-05 20:44:05
【问题描述】:

我正在创建一个应用程序,我想使用该应用程序将用作其初始状态的数据文件作为种子。在 Eclipse 项目结构中,我在哪里添加数据文件,以便在将应用程序部署到设备(和模拟器)时,数据文件与它一起部署?

【问题讨论】:

    标签: android eclipse file


    【解决方案1】:

    如果您知道数据文件类型和用途,将会很有帮助。如果您希望初始化某些设置,您可以通过以下方式进行:

    在 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);
    

    否则,

    您可以硬编码数据并存储在数据库中:

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

    否则,您可以将此文件存储在 Assets 文件夹中并使用 getAssets() 检索文件:

            getAssets().open(fileName)
    

    例如。使用原始数据文件。如果资产替换为上述命令:

          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();
        }
    

    【讨论】:

    • 我正在考虑的数据类型不是用户设置。它更像是按州列出的位置列表(每个州 200 - 300 个位置)。我仍然不确定应用程序将如何请求数据;通过 SQLLite 调用,或 webservice 调用或什么。但现在我只是要把它放在一个数据文件中(每个状态一个文件),然后让应用程序打开文件并读取内容。但是我不知道在eclipse项目结构中数据文件放在哪里,调试时如何将数据文件推送到app/emulator。
    • 即使我打算使用 SqlLite,我也需要以某种方式初始化数据库,这将需要 50*200 个插入语句。所以我想我真正的问题是,在第一次开发 Android 应用程序时,你如何播种所需的初始数据?
    • 放到asset的文件夹里。您可以使用简单的文件读取语句来提取值。基于 XML 的输入是另一种选择。请参阅上面的编辑
    • 我有同样的问题,我正在寻找的答案在 getAssets().open(FILENAME) 中。谢谢
    猜你喜欢
    • 1970-01-01
    • 2012-09-27
    • 1970-01-01
    • 1970-01-01
    • 2010-11-02
    • 1970-01-01
    • 1970-01-01
    • 2013-03-21
    • 1970-01-01
    相关资源
    最近更新 更多