android学习笔记6--------------数据的存储与访问(1)

转载注明出处:袁方的技术博客 http://blog.csdn.net/yf210yf

android为数据存储提供了多种方式:

1.文件

2.SharedPreferences    (主要存储软件的配置参数)

3.SQLite数据库

4.内容提供者(content provider)(对外共享数据时使用)

5.网络

    首先看对文件的操作,实现的要求:

1.指定保存的文件类型

2.指定保存的文件文本信息

3.读取指定的文件内容

一、业务bean

import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

public class FileService
{
	/**
	 * 保存数据
	 * 
	 * @param stream
	 * @param content
	 * @throws IOException
	 */
	public static void save(OutputStream stream, String content)
			throws IOException
	{
		stream.write(content.getBytes());
		stream.close();
	}

	/**
	 * 读取数据
	 * 
	 * @param inStream
	 * @return
	 * @throws IOException
	 */
	public static String read(InputStream inStream) throws IOException
	{
		ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
		int len = -1;
		byte[] buffer = new byte[1024];
		while ((len = inStream.read(buffer)) != -1)
		{
			outputStream.write(buffer, 0, len);
		}
		byte[] data = outputStream.toByteArray();
		inStream.close();
		outputStream.close();
		return new String(data);

	}

}


二、单元测试

import java.io.InputStream;
import java.io.OutputStream;

import android.content.Context;
import android.test.AndroidTestCase;
import android.util.Log;

import com.luku.file.service.FileService;

public class FileServiceTest extends AndroidTestCase
{
	private static final String TAG = "FileServiceTest";

	/**
	 * 保存测试单元
	 * 保存在/data/data/包名/files下
	 * 
	 * @throws Exception
	 */
	public void testSave() throws Exception
	{
		
		OutputStream stream = this.getContext().openFileOutput("123.txt",//文件名称为123.txt
				Context.MODE_PRIVATE);
		FileService.save(stream, "你好");  //文件内容
	}
	
	/**
	 * 读取测试单元
	 * @throws Exception
	 */
	public void testRead() throws Exception
	{
		InputStream instream = this.getContext().openFileInput("123.txt");
		String string = FileService.read(instream);
		Log.i(TAG, string);
	}
}


补充:

openFileOutput第二个参数有四种模式,用于控制访问权限,分别为:

1.Context.MODE_PRIVATE =0                           只能被创建文件的应用程序读写,同名覆盖

2.Context.MODE_APPEND =32768                   只能被创建文件的应用程序读写,同名追加内容

3.Context.MODE_WORLD_READEBLE =1      能被其他应用程序读取

4.Context.MODE_WORLD_WRITEABLE =2     能被其他应用程序写入


执行测试单元后可以看到:(前提配置好测试单元)


android学习笔记6--------------数据的存储与访问(1)_第1张图片

将123.txt传到桌面

打开可以看到

android学习笔记6--------------数据的存储与访问(1)_第2张图片


原文链接: http://blog.csdn.net/yf210yf/article/details/6825968

你可能感兴趣的:(android学习笔记6--------------数据的存储与访问(1))