Android下的数据存储与訪问 --- 以文件的形式

Android下的数据存储与訪问 --- 以文件的形式

	1.1 储存文件存放在手机内存中:

		// *** 储存数据到 /data/data/包名/files/jxn.txt文件里
		String data = "test";

		// /data/data/包名/files
		File filesDir = context.getFilesDir();

		File file = new File(filesDir, "jxn.txt");
		FileOutputStream fos = new FileOutputStream(file);
		fos.write(data.getBytes());
		fos.flush();
		fos.close();

		// *** 从 /data/data/包名/files/jxn.txt文件里读取数据
		String data = "test";
		File filesDir = context.getFilesDir();
		File file = new File(filesDir, "jxn.txt");
		FileInputStream fis = new FileInputStream(file);
		BufferedReader reader = new BufferedReader(new InputStreamReader(fis));
		String text = reader.readLine();
		reader.close();

		补充:
			1,在Android上下文中openFileOutput()方法能够把数据写到/data/data/包名/files文件夹下
			2。在Android上下文中openFileInput()方法能够读取/data/data/包名/files文件夹下的文件
			3,详细的实现过程与在J2SE环境中保存数据到文件里是一样的。

eg:
				// openFileOutput()方法的第一參数用于指定文件名,不能包括路径分隔符“/” ,假设文件不存在。Android会自己主动创建
				// 存放路径:/data/data/包名/files/jxn.txt
				FileOutputStream outStream = context.openFileOutput("jxn.txt", Context.MODE_PRIVATE);

		SharedPreferences
			1,Android提供了一个SharedPreferences类。它是一个轻量级的存储类。特别适合用于保存软件配置參数。
			2。使用SharedPreferences保存数据,其最后是用xml文件存放数据,文件存放在/data/data/包名/shared_prefs文件夹下
			3,context.getSharedPreferences(name,mode)方法的第一个參数用于指定该文件的名称,名称不用带后缀,Android会自己主动地加上.xml后缀。

			// *** 储存数据到 /data/data/包名/shared_prefs/jxn.xml文件里

			// /data/data/包名/shared_prefs/jxn.xml
			SharedPreferences sp = context.getSharedPreferences("jxn", Context.MODE_PRIVATE);

			// 获得一个Editor对象
			Editor edit = sp.edit();

			// 存数据
			edit.putString("number", number);
			edit.putString("password", password);

			// 提交, 数据就保存到文件里了
			edit.commit();

			// *** 从 /data/data/包名/shared_prefs/jxn.xml文件里读取数据

			SharedPreferences sp = context.getSharedPreferences("jxn", Context.MODE_PRIVATE);

			String number = sp.getString("number", null);
			String password = sp.getString("password", null);

	1.2 储存文件存放在SD卡中:

		// *** 储存数据到 /mnt/sdcard/jxn.txt文件里

		// 推断当前的手机是否有sd卡;假设有SD卡,而且能够读写。则方法返回Environment.MEDIA_MOUNTED
		String state = Environment.getExternalStorageState();
		if(!Environment.MEDIA_MOUNTED.equals(state)) {
			return false;
		}

		String data = "test";

		// 一般为 /mnt/sdcard  可是不同手机的sd卡的文件夹可能不同
		File sdCardFile = Environment.getExternalStorageDirectory();

		File file = new File(sdCardFile, "jxn.txt");
		FileOutputStream fos = new FileOutputStream(file);
		fos.write(data.getBytes());
		fos.flush();
		fos.close();

		// *** 从 /mnt/sdcard/jxn.txt文件里读取数据

		// 推断当前的手机是否有sd卡
		String state = Environment.getExternalStorageState();
		if(!Environment.MEDIA_MOUNTED.equals(state)) {
			return null;
		}

		File sdCardFile = Environment.getExternalStorageDirectory();
		File file = new File(sdCardFile, "jxn.txt");
		BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(file)));
		String text = br.readLine();
		br.close();

		<!-- 设置写入和读取sd卡的权限 -->
		<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
		<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
时间: 2024-12-25 16:52:20

Android下的数据存储与訪问 --- 以文件的形式的相关文章

Android下的数据存储与访问(1) --- 以文件的形式

Android下的数据存储与访问(1) --- 以文件的形式 1.1 储存文件存放在手机内存中: // *** 储存数据到 /data/data/包名/files/jxn.txt文件中 String data = "test"; // /data/data/包名/files File filesDir = context.getFilesDir(); File file = new File(filesDir, "jxn.txt"); FileOutputStrea

Android网络编程之使用HTTP訪问网络资源

使用HTTP訪问网络资源 前面介绍了 URLConnection己经能够很方便地与指定网站交换信息,URLConnection另一个子类:HttpURLConnection,HttpURLConnection 在 LIRLConnection的基础上做了进一步改进,添加了一些用于操作http资源的便捷方法. 1.使用HttpURLConnection HttpURLConnection继承了URLConnection,因此也可用于向指定站点发送GET请求 POST请求.它在URLConnecti

Android Learning:数据存储方案归纳与总结

前言 最近在学习<第一行android代码>和<疯狂android讲义>,我的感触是Android应用的本质其实就是数据的处理,包括数据的接收,存储,处理以及显示,我想针对这几环分别写一篇博客,记得我的学习心得,也希望跟各位新手同学相互努力促进.今天这篇博客,我想介绍一下数据的存储,因为数据的接收,存储,处理以及显示这几环环环相扣,而数据的存储直接关系到数据的处理和显示,所以显得尤为重要. 所以本文针对数据存储的常见方案和其使用进行了归纳.分为程序内存储和程序间数据访问,程序内存储

67.Android中的数据存储总结

转载:http://mp.weixin.qq.com/s?__biz=MzIzMjE1Njg4Mw==&mid=2650117688&idx=1&sn=d6c73f9f04d02ede7a741b45e801d74e#rd 本篇文章会帮助大家快速了解Android中各种数据存储机制的应用场景以及基本使用方法,力求在头脑中建立一个“目录”.有了这个目录,具体使用细节在实际应用时再查询文档即可得到. 0. 概述 Android为我们提供了以下存储机制: Shared Preferenc

Android开发实践 数据存储

所有应用程序必然有数据的输入输出,Android也是一样的,Android应用程序的参数设置.运行状态数据这些都需要保存到外部存储器上,保证关机后数据不丢失,如下是几种Android常见的数据存储方式: SharedPreferences:适合保存少量数据(一些配置信息.积分之类): SQLite:一个真正轻量级数据库,没有后台进程,整个数据库就对应于一个文件,适合大量数据需要存储.访问的情况. 下来详细来看看它们的用法. 1.SharedPreferences SharedPreference

Android入门笔记 - 数据存储 - SharedPreferences

接下来四篇我们来介绍Android中用于数据存储的四种方式: SharedPreferences Sqlite Files 网络 今天我们先来看一个最简单的:SharedPreferences. 这种数据存储方式是最简单,最轻便,也最实用的,但是只能用来储存基本数据类型.我们来看看怎么使用: 1. res/ layout/ activity_main.xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/an

Android中的数据存储

Android中的数据存储主要分为三种基本方法: 1.利用shared preferences存储一些轻量级的键值对数据. 2.传统文件系统. 3.利用SQLite的数据库管理系统. 对SharedPreferences对象和SQLite数据库,它们的数据仅对创建它们的应用是可访问的. (比如,MODE_WORLD_READABLE 和 MODE_WORLD_WRITEABLE现在(since API 17)已经被标记为deprecated). 换句话说,它们不是共享的,如果需要在不同的应用之间

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

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

Android开发学习---android下的数据持久化,保存数据到rom文件,android_data目录下文件访问的权限控制

一.需求 做一个类似QQ登录似的app,将数据写到ROM文件里,并对数据进行回显. 二.截图 登录界面: 文件浏览器,查看文件的保存路径:/data/data/com.amos.datasave/files/LoginTest.txt------/data/data/(包名)/files/(文件名) 导出的文件内容: 三.实现代码 新建一个Android 工程.这里我选择的是2.1即API 7,进行开发的,其它都是默认下一步下一步即可. /datasave/res/layout/activity