android中想要对文本框中输入的数据进行保存怎么实现

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android中想要对文本框中输入的数据进行保存怎么实现相关的知识,希望对你有一定的参考价值。

android 关于在文本框中输入可以显示历史记录,怎样将输入的数据保存,保存到哪个地方。values/string.xml中能不能动态的添加数据啊。
删除历史记录时该如何删除呢

Android应用开发中,给我们提供了5种数据的存储方式
1 使用SharedPreferences存储数据
2 文件存储数据
3 SQLite数据库存储数据
4 使用ContentProvider存储数据
5 网络存储数据
不同的业务逻辑,或者需求,用不同的实现方式,以下是这几中数据存储方式的说明用及法:

第一种: 使用SharedPreferences存储数据
SharedPreferences是Android平台上一个轻量级的存储类,主要是保存一些常用的配置比如窗口状态,一般在Activity中 重载窗口状态onSaveInstanceState保存一般使用SharedPreferences完成,它提供了Android平台常规的Long长 整形、Int整形、String字符串型的保存。
以下为示例代码:
public class MainActivity extends Activity
@Override
public void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

//获取SharedPreferences对象
Context ctx = MainActivity.this;
SharedPreferences sp = ctx.getSharedPreferences("SP", MODE_PRIVATE);
//存入数据
Editor editor = sp.edit();
editor.putString("STRING_KEY", "string");
editor.putInt("INT_KEY", 0);
editor.putBoolean("BOOLEAN_KEY", true);
editor.commit();

//返回STRING_KEY的值
Log.d("SP", sp.getString("STRING_KEY", "none"));
//如果NOT_EXIST不存在,则返回值为"none"
Log.d("SP", sp.getString("NOT_EXIST", "none"));



第二种: 文件存储数据
关于文件存储,Activity提供了openFileOutput()方法可以用于把数据输出到文件中,具体的实现过程与在J2SE环境中保存数据到文件中是一样的。
文件可用来存放大量数据,如文本、图片、音频等。
默认位置:/data/data/< >/files/***.***。
代码示例:
public void save()
try
FileOutputStream outStream=this.openFileOutput("a.txt",Context.MODE_WORLD_READABLE);
outStream.write(text.getText().toString().getBytes());
outStream.close();
Toast.makeText(MyActivity.this,"Saved",Toast.LENGTH_LONG).show();
catch (FileNotFoundException e)
return;

catch (IOException e)
return ;



第三种: SQLite数据库存储数据
SQLite是轻量级嵌入式数据库引擎,它支持 SQL 语言,并且只利用很少的内存就有很好的性能。此外它还是开源的,任何人都可以使用它。许多开源项目((Mozilla, php, Python)都使用了 SQLite。
SQLite 由以下几个组件组成:SQL 编译器、内核、后端以及附件。
SQLite 通过利用虚拟机和虚拟数据库引擎(VDBE),使调试、修改和扩展 SQLite 的内核变得更加方便。
读取文件示例:

public void load()
try
FileInputStream inStream=this.openFileInput("a.txt");
ByteArrayOutputStream stream=new ByteArrayOutputStream();
byte[] buffer=new byte[1024];
int length=-1;
while((length=inStream.read(buffer))!=-1)
stream.write(buffer,0,length);

stream.close();
inStream.close();
text.setText(stream.toString());
Toast.makeText(MyActivity.this,"Loaded",Toast.LENGTH_LONG).show();
catch (FileNotFoundException e)
e.printStackTrace();

catch (IOException e)
return ;



第四种 使用ContentProvider存储数据 ContentProvider其实也是通过数据库的方式来存储数据的,因此这里不再做详细介绍

第五种 网络存储数据 也就是说将数据保存在服务器,android上只需要通过httpclient发起一个请求,向服务器获取数据即可
参考技术A 保存到数据库里面。添加和删除,就是对数据库的操作了。 参考技术B Android中有 AutoCompleteTextView这一组件可以实现这一功能。追问

那他是如何存储记录的,能存放在string.xml文件中吗

追答

可以用sharedPreference进行保存,具体方法见http://blog.csdn.net/iamkila/article/details/7230160

本回答被提问者采纳

自动更新文本框

【中文标题】自动更新文本框【英文标题】:Automatically updated the textbox 【发布时间】:2013-03-17 22:02:45 【问题描述】:

我的表单中有这张图片。 .当我从我的组合框中选择值时,在我的文本框中输入值并单击保存...我希望在我的文本框中有值以进行一些计算,因为我点击了组合中选择的值的保存按钮框,但我不确定我的访问表单中的哪些属性可以进行计算......就像我在组合框中选择了每月一样 当我点击保存按钮时,在我的文本框中输入 4,我的文本框中的值 4 应该是 4(depart * 2),即 8

【问题讨论】:

【参考方案1】:

在设计视图中打开表单,右键单击保存按钮并选择属性。 在属性表中选择 Event 选项卡并在 On Click 事件中选择 [Event Procedure]

然后点击它前面的小按钮...。在 VBA 中,您可以编写计算并保存记录。这是一个例子

textBox1= textBox1 * 2          ' you can assign any calculation you need
If Me.Dirty then Me.Dirty=False ' Save the record

【讨论】:

以上是关于android中想要对文本框中输入的数据进行保存怎么实现的主要内容,如果未能解决你的问题,请参考以下文章

Android界面中一个文本框,返回时保存数据,

将文本框中的数据保存到文本文件中

如何在 PHP CodeIgniter 中保存文本框中输入的数据

winform中文本框的值怎么保存

如何保存在PHP CodeIgniter中的文本框中输入的数据

自动更新文本框