Android学习之路之数据的使用(一)

今天是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 version='1.0' encoding='utf-8' standalone='yes' ?>
<map>
<string name="name">张三</string>
<int name="age" value="20" />
</map>

这个文件自动生成是xml文件,里面就是Map,Key与Value

!!!!!!

时间: 2024-10-13 11:57:20

Android学习之路之数据的使用(一)的相关文章

Android学习之路——Android四大组件之activity(二)

上一篇讲了activity的创建和启动,这一篇,我们来讲讲activity的数据传递 activity之间的数据传递,这里主要介绍的是activity之间简单数据的传递,直接用bundle传递基本数据类型的数据.还有一种数据类型是parcelable和serialable 用bundle 传递数据有两种情况,这篇文章就分别从两个方面说明一下. 一.利用bundle传递基本数据类型 1.启动时传递数据,使用intent的put方法,将数据写入bundle中,然后startActivity(inte

Android学习之路——Android四大组件之activity(一)

一.什么是Activity? Activity简单的说就是一个界面,我们在Android手机上看到的每一个界面就是一个activity. 二.Activity的创建 1.定义一个类继承activity,然后在清单文件manifest.xml文件的application节点下注册activity,这个activity就创建成功了. public class MyActivity extends Activity { } 2.清单文件注册activity <application android:a

Android学习之路(转载)

原文地址:http://stormzhang.github.io/android/2014/07/07/learn-android-from-rookie/ 硬件 电脑–推荐Mac 首先声明我不是果粉,个人Windows,Linux,Mac OX系统均用过, 只能说Windows上面的开发工具简直难以恭维,尤其命令行超级难用,而Linux自己必须得花不少时间在折腾中,更是不适合新手了,Max OS是我认为迄今为止最好用的系统,没有之一, 所以如果你不差钱的话,强烈建议入手一台Mac,推荐Pro系

Android学习之简单的数据存储

在Android中,数据存储是开发人员不可以避免的.Android为开发者提供了很多的存储方法,在前面的博客中,已经讲述了sqlite存储数据.今天将介绍用SharedPreferences来存储数据,它可以将数据保存在应用软件的私有存储区,存储区的数据只能被写入这些数据的软件读取.SharedPreference通过键值对的方法存储数据. 1.SharedPreference存储简单数据 SharedPreference可以存放简单的String.Boolean.Int等对象. 1 <Rela

Android 学习之路--android基础(三)

Android 学习之路--android基础(三) | Talent?C 盒子 盒子 博客 友链 关于 Posts List 作者Talent?C转载请注明出处 前言 上一篇文章我们介绍了 活动(Activity) 的作用及相关用法,我们知道活动是用来给用户展示 UI界面 的,那么在Android中都有哪些UI控件呢?今天就让我们来简单学习几种常见的 UI控件. 如何编写UI界面? Android Studio中为我们提供两种UI界面的编辑方式, 第一种是通过Android Studio 提供

Android学习之路——简易版微信为例(二)

1 概述 从这篇博文开始,正式进入简易版微信的开发.深入学习前,想谈谈个人对Android程序开发一些理解,不一定正确,只是自己的一点想法.Android程序开发不像我们在大学时候写C控制台程序那样,需要从main开始写代码逻辑,大部分逻辑控制代码都由自己来实现.事实上,Android已经为我们提供了一个程序运行的框架,我们只需要往框架中填入我们所需的内容即可,这里的内容主要是:四大组件——Activity.Service.ContentProvider.BroadCast.在这四大组件中,可以

Android学习之路-------广播接收器

前言 没想到离上一篇博文的时间已经有一个多星期了,时间真的不等人啊,在这里LP告诉你们一个道理,如果现在有谁正在看管理时间的书,那么请你们把这些书放下吧,看了也没有用,因为时间我们根本管不了,我们只能管自己,如果真的想管时间,错了,应该是珍惜时间的话,那么请你们要和时间做朋友,介绍一本书给大家看<和时间做朋友> 作者是 李笑来. 不说废话了,广播开始了 目录 什么是广播 广播的种类 怎么去使用这些广播 最安全的广播 什么是广播? 广播相信有上过学的人都知道,在学校里面都有那么一个大喇叭,通知大

Android 学习之路 1:Activity之间传递数据的四种方式

传递数据 新建 Activity 在项目中右键,选择 New,继续选择中下方的 Activity,最后是 Blank Activity. 此时 Android Studio 会为我们自动添加一个对应的布局文件,为布局文件中的 TextView 添加 ID,以便后续使用. 用Intent 发送数据 在主布局文件中新建一个 Button 控件,并在主类中定义它,然后为它设置 Click 的监听事件. Button button; @Override protected void onCreate(B

Android 学习之路 1:如何在Activity之间传递数据

传递数据 新建 Activity 在项目中右键,选择 New,继续选择中下方的 Activity,最后是 Blank Activity. 此时 Android Studio 会为我们自动添加一个对应的布局文件,为布局文件中的 TextView 添加 ID,以便后续使用. 用Intent 发送数据 在主布局文件中新建一个 Button 控件,并在主类中定义它,然后为它设置 Click 的监听事件. Button button; @Override protected void onCreate(B