Android学习之路之数据的使用(一)
来源:互联网 发布:linq to sql distinct 编辑:程序博客网 时间:2024/05/21 19:53
今天是Android学习第四天,上午简单的学习了数据的存储与使用,在这里把上午的总结一下
数据存储分为四大类:
* 文件
* Sharedpreference(参数)
* SQLite数据库
* 内容提供者(Content provide)
先来看看前两种方法,文件 和 Sharedpreference
1、 文件
这里的文件和Java里的文件时一模一样的,具体的就不在介绍,看过程
首先在主界面上定义两个按钮,一个是“写文件”一个是“读文件”,先写后读
对写文件添加监听事件
writefile.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {String content="张三 20 male";//FileOutputStream fos = new FileOutputStream("test.txt");FileOutputStream fos=null;try {fos = MainActivity.this.openFileOutput("data.txt", Context.MODE_PRIVATE);fos.write(content.getBytes());} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}finally{if(fos!=null){try {fos.close();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}}});再对读文件添加监听事件
readfile.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {FileInputStream in=null;try {in = MainActivity.this.openFileInput("data.txt");byte[] bytes = new byte[1024];int length=0;StringBuffer content = new StringBuffer();while((length=in.read(bytes))!=-1){content.append(new String(bytes,0,length));}Toast.makeText(MainActivity.this, content.toString(), Toast.LENGTH_SHORT).show();} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}finally{if(in!=null){try {in.close();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}}});程序跑起来,先点击写文件,这个时候项目的包下就会多出一个data.txt文件,那么不仅要问,这个文件怎么才能看到呢!
我们用Eclipse开发的,那就在这个工具里看
按照箭头的方向就会找到虚拟机的FileExplorer,就算你使用手机测试一样能找到
好了,在文件目录里打开data文件,里面还有一个data文件,继续打开,然后里面就是设备上所有app的包,找到我们的包
如上图,files下的data.txt就是我们刚刚写的文件,右上角的圈中可以讲文件导出到电脑上,然后你可以查看里面的内容,这里不再演示
点击读文件的时候,就会显示写入的字符串
2、SharedPreferences
这是Android里封装好的一个包,好处就在于,方便,存取一些数据书写很方便,提取也是如此
同样在主界面画两个按钮读与写
分别添加监听事件
spwritefile.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// 获取SharedPreferences对象SharedPreferences sp = getSharedPreferences("data", Context.MODE_PRIVATE);//获取编辑器Editor ed = sp.edit();//添加数据ed.putString("name", "张三");ed.putInt("age", 20);//提交ed.commit();}});spreadfile.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// 获取SharedPreferences对象SharedPreferences sp = getSharedPreferences("data", Context.MODE_PRIVATE);String name = sp.getString("name", "烫");int age = sp.getInt("age", 0);;Toast.makeText(MainActivity.this, name+"---"+age, Toast.LENGTH_SHORT).show();}});我们可以发现,写数据的时候,先获取SharedPreferences对象,然后获取编辑器,然后直接putString就行了,最后别忘了commit提交,否则就像文本文件没有保存一样!!
读文件的时候,get就行了,这个可以看一下倒出来的文件
<?xml version='1.0' encoding='utf-8' standalone='yes' ?><map><string name="name">张三</string><int name="age" value="20" /></map>这个文件自动生成是xml文件,里面就是Map,Key与Value
!!!!!!
0 0
- Android学习之路之数据的使用(一)
- Android学习之路之数据的使用(二)
- Android数据搜索之路(一)
- Android学习笔记(基础)之数据存储(一)
- Android学习笔记(一)之解析本地json数据
- Android学习之网络请求(访问网路数据)一
- 我的Android入门之路:一、初步接触之GreenDAO学习使用体验
- Android之ListView的使用(一)
- Android 学习之路一:Activity之间传递数据的四种方式
- Android学习之路(一)
- android学习之路(一)
- Android学习之路(一)
- Android学习之路一
- 学习Android之路一
- Mac学习使用之路(一)
- Android学习笔记之--------DataBinding使用一
- Android进阶之路 - Handler的详细使用(一)
- Android学习之路——Android四大组件之activity(二)数据的传递
- 是谁离间了中移动和微信
- 北京世纪坛医院治疗肺癌晚期有什么方法 - 肺癌治疗 -
- 如何调试 Android 手机网页
- android获取屏幕宽和高
- 软件采购必备:软件供应商评估表 之七(共七),结束!
- Android学习之路之数据的使用(一)
- 北京世纪坛医院治疗肺癌晚期有什么方法 - 肺癌治疗 -
- 一道有趣的面试题
- 北京世纪坛医院治疗肺癌晚期有什么方法 - 肺癌治疗 -
- 【Java架构学习】Model1和Model2讨论
- (六)Android百度公交开发—百度地图API之公交换乘方案搜索
- 中南大学2015年研究生复试淘汰率将超40%
- 如何使用命令行调优ASP.NET网站代码(From MSDN)
- 主题:钩子函数简析及实例