我正在尝试制作应用程序,我需要保存字符串,就像 AppInventor 中的 TinyDB 一样。所以,我在那里找到http://developer.android.com/guide/topics/data/data-storage.html#filesInternal我正在寻找的是将数据保存到内部存储,但我不知道如何阅读。他们说:
从内部存储读取文件:
调用 openFileInput() 并将要读取的文件的名称传递给它。这将返回一个 FileInputStream。
使用 read() 从文件中读取字节。
然后用 close() 关闭流
但我不知道怎么做,我的代码永远不会工作。所以我用谷歌搜索了如何从内部存储中读取,但没有任何代码有效。你能告诉我,如何从内部存储中读取文本吗?:)
这是代码:
EditText tagbox = (EditText)findViewById(R.id.editText1);
String tag = tagbox.toString();
Context context = getApplicationContext();
FileInputStream fis = context.openFileInput( tag );
InputStreamReader in = new InputStreamReader(fis);
BufferedReader br = new BufferedReader(in);
String data = br.readLine();
Toast.makeText(getApplicationContext(), data, Toast.LENGTH_LONG).show();
好的,所以我找到了解决方案。存储数据的最简单方法,如 AppInventor 中的 TinyDB,是使用 SharedPreferences:
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
Edtior editor = preferences.edit();
存储数据:
editor.putString("key", "value");
读取数据:
String value = preferences.getString("key");