保存按钮以存储数据并在以后检索

时间:2012-11-27 10:01:40

标签: android

我已经四处寻找这个问题的答案,我确信我已经阅读过了,但我不明白。希望有人可以提供帮助。

我想将'姓名''地址''支持'(分别为文本,文本,数字)保存到文件中,然后在发送文本消息时稍后检索信息以供使用(天,月,电话重启后)。

我找到了openFileOutput() 但我无法弄清楚如何使用它。

我是编码的新手,所以不要真正理解我发现的例子属于哪里。 任何帮助非常感谢。

EDIT ---- 我要做的是:创建一个应用程序,它将是最终用户的简单单键应用程序。 安装它,将NAME,ADDRESS和SUPPORT(手机/手机号码)添加到“设置”页面。 稍后,当您需要帮助时,最终用户启动应用程序并点击按钮。 该应用程序检索NAME,ADDRESS并将其以文本形式发送到SUPPORT号码 非常感谢任何更多的帮助。

2 个答案:

答案 0 :(得分:1)

如果值仍然很小,并且您不需要对它们进行结构化(例如,如果您有用户配置文件或其他内容),则共享首选项应该没问题。 100个整数仅为 400个字节,因此即使共享首选项存储在内存中,也不是什么大问题。

点击here以获取有关共享偏好的完整信息

答案 1 :(得分:1)

如果您想使用偏好设置,请按以下步骤操作。

1)声明要存储在XML文件中的首选项,例如res/xml/preferences.xml

<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
    <EditTextPreference
        android:key="pref_name"
        android:title="Name"
        android:defaultValue="" />
    <EditTextPreference
        android:key="pref_address"
        android:title="Address"
        android:defaultValue="" />
    <EditTextPreference
        android:key="pref_support"
        android:title="Support"
        android:defaultValue="" />
</PreferenceScreen>

2)扩展PreferenceActivity以显示允许修改这些首选项的屏幕:

public class TestActivity extends PreferenceActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        addPreferencesFromResource(R.xml.preferences);  
    }
}

3)使用这些首选项发送电子邮件,例如:

private void sendEmail(String emailAddress) {
    String name = getPreferences(0).getString("pref_name", "");
    String address = getPreferences(0).getString("pref_address", "");
    String support = getPreferences(0).getString("pref_support", "");

    String mailBody = "Name: " + name + "\nAddress: " + address + "\nSupport: " + support;

    Intent intent = new Intent(Intent.ACTION_SEND);
    intent.setType("text/html");
    intent.putExtra(Intent.EXTRA_EMAIL, emailAddress);
    intent.putExtra(Intent.EXTRA_SUBJECT, "Subject");
    intent.putExtra(Intent.EXTRA_TEXT, mailBody);

    startActivity(Intent.createChooser(intent, "Send Email"));  
}