博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android学习之路之数据的使用(一)
阅读量:3681 次
发布时间:2019-05-21

本文共 2891 字,大约阅读时间需要 9 分钟。

今天是Android学习第四天,上午简单的学习了数据的存储与使用,在这里把上午的总结一下

数据存储分为四大类:

* 文件

* Sharedpreference(参数)

* SQLite数据库

* 内容提供者(Content provide)

先来看看前两种方法,文件 和 Sharedpreference

1、 文件

这里的文件和Java里的文件时一模一样的,具体的就不在介绍,看过程

首先在主界面上定义两个按钮,一个是“写文件”一个是“读文件”,先写后读

对写文件添加监听事件

writefile.setOnClickListener(new OnClickListener() {			@Override			public 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 block					e.printStackTrace();				}finally{					if(fos!=null){						try {							fos.close();						} catch (IOException e) {							// TODO Auto-generated catch block							e.printStackTrace();						}					}				}			}		});
再对读文件添加监听事件

readfile.setOnClickListener(new OnClickListener() {			@Override			public 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 block					e.printStackTrace();				}finally{					if(in!=null){						try {							in.close();						} catch (IOException e) {							// TODO Auto-generated catch block							e.printStackTrace();						}					}				}			}		});
程序跑起来,先点击写文件,这个时候项目的包下就会多出一个data.txt文件,那么不仅要问,这个文件怎么才能看到呢!

我们用Eclipse开发的,那就在这个工具里看

按照箭头的方向就会找到虚拟机的FileExplorer,就算你使用手机测试一样能找到

好了,在文件目录里打开data文件,里面还有一个data文件,继续打开,然后里面就是设备上所有app的包,找到我们的包

如上图,files下的data.txt就是我们刚刚写的文件,右上角的圈中可以讲文件导出到电脑上,然后你可以查看里面的内容,这里不再演示

点击读文件的时候,就会显示写入的字符串

2、SharedPreferences

这是Android里封装好的一个包,好处就在于,方便,存取一些数据书写很方便,提取也是如此

同样在主界面画两个按钮读与写

分别添加监听事件

spwritefile.setOnClickListener(new OnClickListener() {			@Override			public 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() {			@Override			public 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文件,里面就是Map,Key与Value

!!!!!!

你可能感兴趣的文章
PATpython练习题帅到没朋友
查看>>
python练习题字符串的美化使用二维列表处理
查看>>
数据库基本概念和体系结构
查看>>
数据库关系模型基本概念
查看>>
SQL创建数据库表CREATE TABLE table_name( );
查看>>
SQL使用as起别名,既什么又什么
查看>>
SQL查询时使用DISTINCT去掉重复
查看>>
SQL使用ORDER BY(DESC)关键字根据列名排序,默认为升序
查看>>
chapter two 2-7单链表删除元素操作、删除单链表整个表
查看>>
chapter3 循环链表 && 双向链表
查看>>
chapter4栈与队列 1.顺序栈实现
查看>>
Part 1 start network programming:chapter one:1.1理解网络编程和套接字
查看>>
Part 1 start network programming:chapter one:1.2 基于Linux 的文件操作
查看>>
Part 1 start network programming:chapter one:1.3 基于Windows平台的实现
查看>>
Part 1 start network programming:chapter one:1.4 基于Windows的套接字相关函数及示例
查看>>
Part 1 start network programming:chapter two:2.1 套接字协议及其数据传输
查看>>
Cortex-A 系列CP15协处理器简单解析
查看>>
4. led驱动控制:驱动中操作寄存器完成led控制
查看>>
移动零(方1:利用vector erase实现,方2:利用双指针思想实现)
查看>>
L2 L3: 操作系统启动知识点
查看>>