Java 将EditText数据存储到稍后访问的文件/位置的最佳方法?
我创建了下面的示例代码来解释我自己。我有几个EditText字段,需要将数据存储为“条目”以供以后使用。我的问题是,存储这三个变量以便在另一个活动中“列出”的最佳方式是什么。(liAmount、liAccount和vID)。我只是想使用共享首选项,但即使这样,我也会在同一个EditText上有多个条目,所以我真的不知道如何正确地序列化它们Java 将EditText数据存储到稍后访问的文件/位置的最佳方法?,java,android,android-edittext,Java,Android,Android Edittext,我创建了下面的示例代码来解释我自己。我有几个EditText字段,需要将数据存储为“条目”以供以后使用。我的问题是,存储这三个变量以便在另一个活动中“列出”的最佳方式是什么。(liAmount、liAccount和vID)。我只是想使用共享首选项,但即使这样,我也会在同一个EditText上有多个条目,所以我真的不知道如何正确地序列化它们 float liAmount; String liAccount; String vID; btnSaveLineItem.setOnClickListen
float liAmount;
String liAccount;
String vID;
btnSaveLineItem.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(etLineItemAmount.length() == 0 || etAccountName.length() == 0) {
Toast.makeText(NewLineActivity.this, "Fill all fields.", Toast.LENGTH_LONG).show();
} else {
saveLineItem();
createVID();
}
}
});
public void createVID(){
vID = String.valueOf(liAccount.charAt(0) + liAccount.charAt(1) + liAccount.charAt(2) + liAmount);
}
public void saveLineItem(){
liAmount = Float.valueOf(etLineItemAmount.getText().toString());
liAccount = etAccountName.getText().toString();
}
编辑:我应该澄清一下,我确实希望这些数据文件能够长期存储。这些基本上将在单独的活动文件中使用,以显示所有以前条目的列表。您可以使用应用程序类临时保存数据。如果只想存储字符串列表,请声明
ArrayList
,或者声明HashMap
将值存储为键值对。像这样,在自定义应用程序类中声明
private ArrayList<String> temp;
public ArrayList<String> getTemp() {
return temp;
}
public void setTemp(ArrayList<String> temp) {
this.temp = temp;
}
private ArrayList temp;
公共数组列表getTemp(){
返回温度;
}
公共void settmp(ArrayList temp){
this.temp=temp;
}
然后在任何活动中调用
((您的应用程序)getActivity()).getTemp()
,并从中添加或获取数据。您可以使用SharedReferences将数据与键值对一起存储,然后在需要时检索相同的数据。下面是一个示例代码
Editor editor = sharedpreferences.edit();
editor.putString("key", "value");
editor.commit();
要获取存储的值,请使用以下内容
SharedPreferences prefs = getSharedPreferences(this);
String restoredText = prefs.getString("key", null);
可能重复的FYI-没有最佳方法,因为没有最佳评级。每个人都用他喜欢的东西。这被称为基于意见,这通常是基于stackoverflow的主题