数据存储的三种方式

public class SpActivity extends Activity implements OnClickListener {

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
findViewById(R.id.btnSp).setOnClickListener(this);
findViewById(R.id.btnSpRead).setOnClickListener(this);
findViewById(R.id.btnFileWrite).setOnClickListener(this);
findViewById(R.id.btnFileReader).setOnClickListener(this);
findViewById(R.id.btnFileWriteToSd).setOnClickListener(this);
findViewById(R.id.btnRawRead).setOnClickListener(this);
findViewById(R.id.btnSQlite).setOnClickListener(this);
}

@Override

public class SpActivity extends Activity implements OnClickListener {

	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		findViewById(R.id.btnSp).setOnClickListener(this);
		findViewById(R.id.btnSpRead).setOnClickListener(this);
		findViewById(R.id.btnFileWrite).setOnClickListener(this);
		findViewById(R.id.btnFileReader).setOnClickListener(this);
		findViewById(R.id.btnFileWriteToSd).setOnClickListener(this);
		findViewById(R.id.btnRawRead).setOnClickListener(this);
		findViewById(R.id.btnSQlite).setOnClickListener(this);
	}

	@Override
	public void onClick(View v) {
		switch (v.getId()) {
		case R.id.btnSp:
			SharedPreferences sp = this.getSharedPreferences("setting", Context.MODE_PRIVATE);
			//SharedPreferences sp = this.getPreferences(Context.MODE_PRIVATE);
			SharedPreferences.Editor editor = sp.edit();
			editor.putString("name", "张三");
			editor.putInt("age", 24);
			editor.putFloat("weight", 110.8f);
			//提交
			editor.commit();
			//editor.apply();
			break;
		case R.id.btnSpRead:
			SharedPreferences spReader = getSharedPreferences("setting", Context.MODE_PRIVATE);
			String name= spReader.getString("name", "N");
			int age =spReader.getInt("age", 18);
			float weight=spReader.getFloat("weight", 80f);
			Toast.makeText(this, name+"--"+age+"--"+weight, Toast.LENGTH_LONG).show();
			break;
		case R.id.btnFileWrite:
			writeFiles();
			break;
		case R.id.btnFileReader:
			readFile();
			break;
		case R.id.btnFileWriteToSd:
			writeFilesToSDCard();
			break;
		case R.id.btnRawRead:
			readRawFile();
			break;
		case R.id.btnSQlite:
			Intent in = new Intent(this, DBOptActivity.class);
			startActivity(in);
			break;
		default:
			break;
		}
	}

	public void readRawFile(){
		Resources res = getResources();
		InputStream is= res.openRawResource(R.raw.a);
		byte[] buffer = new byte[1024];
		int len=0;
		StringBuilder sb = new StringBuilder();
		try {
			while((len= is.read(buffer))!=-1){
				String tmp = new String(buffer, 0, len);
				sb.append(tmp);
			}
		} catch (IOException e) {
			e.printStackTrace();
		}finally{
			try {
				if(is!=null){
					is.close();
				}
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}

		Toast.makeText(this, sb.toString(), Toast.LENGTH_LONG).show();
	}

	/**
	 * 写文件
	 */
	private void writeFiles(){
		FileOutputStream os =null;
		try {
			os =this.openFileOutput("jerei.txt",Context.MODE_APPEND);
			os.write("姓名:张三".getBytes());
			os.write("年龄:25".getBytes());
			os.write("年龄:25".getBytes());
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}finally{
			if(os !=null){
				try {
					os.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
				os=null;
			}
		}
	}

	public void readFile(){
		FileInputStream is=null;
		StringBuilder sb = new StringBuilder();
		try {
			is = this.openFileInput("jerei.txt");
			byte[] buffer = new byte[1024];
			int len=0;
			while((len= is.read(buffer))!=-1){
				String tmp = new String(buffer,0,len);
				sb.append(tmp);
			}
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}finally{
			try {
				if(is!=null){
					is.close();
				}
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}

		Toast.makeText(this, sb.toString(), Toast.LENGTH_LONG).show();
	}

	public void writeFilesToSDCard(){
		//String filePath = "/mnt/sdcard/jerei";
		String filePath=null;
		if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
			//获取SDCard根路径
			filePath=Environment.getExternalStorageDirectory().toString();
			filePath=filePath+ File.separator+"jerei"+File.separator+"edu";
			File fileParent = new File(filePath);
			if(!fileParent.exists()){
				fileParent.mkdirs();
			}

			FileOutputStream os = null;
			try {
				os = new FileOutputStream(new File(fileParent, "a.txt"));
				os.write("向SDCard中写入文件!!".getBytes());
			} catch (FileNotFoundException e) {
				e.printStackTrace();
			} catch (IOException e) {
				e.printStackTrace();
			}finally{
				try {
					if(os!=null){
						os.close();
					}
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
		}

	}
}

  

时间: 2024-10-12 20:36:36

数据存储的三种方式的相关文章

Android数据存储的三种方式-SharedPrefrences,File,SQLite

1,使用SharedPrefrences 用于简单少量的数据,数据的格式简单:都是普通的字符串,标量类型的值等,比如各种配置信息等等 SharedPrefrences与Editor简介: 创建SharedPreferences实例,通过Context.getSharedPreferences(String name,int mode);方法来获取SharedPreferences的实例 mode的值: *Context.MODE_PRIVATE;该SharedPreferences数据只能被本应

iOS数据存储的几种方式

iOS的数据存储是iOS应用开发的重要知识点: 关于这方面知识,网上有很多介绍,但对于代码层次的使用方式并未有系统全面介绍.此文章针对iOS稍熟悉的童鞋,需要对CoreData的原理有一定的了解.目前存储方式大概有以下几种: NSKeyedArchiver  适用简单数据加密 NSUserDefaults  适用配置参数 Write  文件操作,同NSKeyedArchiver SQLite3  操作较复杂,不建议使用. CoreData  取代SQLite3,但要遵循NSManagedObje

Android——数据存储(四种方式之二)读写SD卡

Android--数据存储(四种方式) 1.SharedPrefereces 只能保存一些简单的数轻量级.XML  存储文件名, 数据保存在data/data/basepackage/shared_prefs/myopt.xml中    实例-收藏-记住密码自动登录 //一种轻量级的数据存储方式//通过KEY 存入数据--putxxxx(key,value) 取出数据--getxxxx(key  default) 2.读写SD卡  SD的根目录  适用于数据流读写 实现步骤:加入读写SD卡权限

android 数据存储的几种方式

总体的来讲,数据存储方式有三种:一个是文件,一个是数据库,另一个则是网络.其中文件和数据库可能用的稍多一些,文件用起来较为方便,程序可以自己定义格式:数据库用起稍烦锁一些,但它有它的优点,比如在海量数据时性能优越,有查询功能,可以加密,可以加锁,可以跨应用,跨平台等等:网络,则用于比较重要的事情,比如科研,勘探,航空等实时采集到的数据需要马上通过网络传输到数据处理中心进行存储并进行处理. 对于Android平台来讲,它的存储方式也不外乎这几种,按方式总体来分,也是文件,数据库和网络.但从开发者的

Andriod中数据存储的五种方式

数据存储在开发中是使用最频繁的,在这里主要介绍Android平台中实现数据存储的5种方式,分别是: 1 使用SharedPreferences存储数据 2 文件存储数据 3 SQLite数据库存储数据 4 使用ContentProvider存储数据5 网络存储数据 下面将为大家一一详细介绍. 第一种: 使用SharedPreferences存储数据 SharedPreferences是Android平台上一个轻量级的存储类,主要是保存一些常用的配置比如窗口状态,一般在 Activity中 重载窗

Android——数据存储(四种方式之一)SharedPrefereces

Android--数据存储(四种方式) 1.SharedPrefereces   轻量级.XML  存储文件名,数据保存在data/data/basepackage/shared_prefs/myopt.xml中   实例-收藏-记住密码自动登录 //一种轻量级的数据存储方式//通过KEY 存入数据--putxxxx(key,value) 取出数据--getxxxx(key  default)   2.读写SD卡  SD的根目录  适用于数据流读写 3.SQLite  轻量级.dp文件多用于手机

Android开发之数据存储的四种方式之SharedPreferences

Android项目开发中使用的数据存储方式有:网络存储.sqlite存储.File存储和SharedPreferences存 储,四种存储方式对应的Demo别人是NetworkDemo.SqliteDemo.FileDemo和SharedPreferencesDemo, 根据应用的场景选择其中一种或多种方式,比如在登录界面验证,需要将用户名和密码通过SharedPreferences方式保存,注册信息的时候需要通 过网络将数据存储到后台数据库中.结合一个登录界面的验证,使用SharedPrefe

【iOS开发-75】iOS数据存储的三种简单方式:plist、preference以及用NSCoding存储对象

实际开发中,存储数据主要是用SQLite.而在练习中,我们主要用如下三种存储方式. (1)利用plist存储简单地NSString.NSArray.NSDictionary等. (2)利用preference存储,和上面的类似,存储的是简单的数据,本质上还是一个plist文件. (3)利用NSCoding存储对象这些复杂的数据,本质上是一个data文件,需要被存储的类遵守NSCoding协议并实现init和encode方法. 代码如下: --在ViewController.m中 - (void)

六:数据存储的五种方式(一)

iOS开发中数据存在五种存储方式之三: 1.plist(XML属性列表归档) 2.偏好设置 3.NSKeydeArchiver归档(存储自定义对象) 一.plist(XML属性列表归档)只能存取对象类文件 第一种方式:(四个文件夹都可以取出路径) 1 //获取沙盒路径 2 NSString *home = NSHomeDirectory(); 3 //获取documents的路径两种方式(其它三个文件夹也能获取) 4 NSString *path = [home stringByAppendin