#数据存储与访问
@单元测试
一.首先要继承AndroidTestCase
二.方法名要以test为前缀
三.最好跑出例外
四.在AndroidManifest.xml添加如下配置
1. <instrumentation android:name="android.test.InstrumentationTestRunner"
android:targetPackage="cn.itcast.action" android:label="Tests for My App" />

2.在application元素添加如下配置<uses-library android:name="android.test.runner" />

五.注意在Android中使不能用System.out.println();的如果看打印的结果我们需要在
Window - Show view - Android - LogCat
应用Log.i-信息 log.e错误 log.w警告
Log.i(TAG,"信息")
六.往手机的SDcard卡中存放数据

@android 为数据存储提供了多种方式
文件无非就是读写
一.文件 xml/txt等
1.Context.MODE_PRIVATE:为默认操作模式,代表该文件是私有数据,只能被应用本身访问
,在该模式下,写入的内容会覆盖原文件的内容,如果想把新写入的内容追加到原文件中。可以使用Context.MODE_APPEND
2.Context.MODE_APPEND:模式会检查文件是否存在,存在就往文件追加内容,否则就创建新文件。
3.Context.MODE_WORLD_READABLE和Context.MODE_WORLD_WRITEABLE用来控制其他应用是否有权限读写该文件。
4.MODE_WORLD_READABLE:表示当前文件可以被其他应用读取;MODE_WORLD_WRITEABLE:表示当前文件可以被其他应用写入。
5.如果要想对sdcard进行读写需要在AndroidManifest.xml设置一下信息
<!-- 在SDCard中创建与删除文件权限 -->
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
<!-- 往SDCard写入数据权限 -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

应用举例
package cn.itcast.files.service;

import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;

import android.content.Context;
import android.os.Environment;
import android.util.Log;

public class FileService {
public static final String TAG = "FileService";
private Context context;
public FileService(Context context) {
this.context = context;
}
public void saveName(String name) throws Throwable{
FileOutputStream fos = context.openFileOutput("itcast.txt", Context.MODE_WORLD_READABLE + Context.MODE_WORLD_WRITEABLE);
fos.write(name.getBytes());
fos.close();
}
public void saveNameToSdCard(String name) throws Throwable {
//在保存数据的时候要判断是否存在是否有写保护
//Environment.getExternalStorageDirectory() == new File("/sdcard");
if(!Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
Log.e(TAG, "不可读");
return ;
}
File file = new File("/sdcard/itcast.txt");

FileOutputStream fos = new FileOutputStream(file);
fos.write(name.getBytes());
fos.close();
}
public String getNameWidthSdcard() throws Throwable {
File file = new File("/sdcard/itcast.txt");
FileInputStream fis = new FileInputStream(file);
byte bytes[] = new byte[1024];
int len = -1;
ByteArrayOutputStream baos = new ByteArrayOutputStream();
while((len = fis.read(bytes)) != -1) {
baos.write(bytes,0, len);
}
fis.close();
baos.close();
byte[] name = baos.toByteArray();
return new String(name);
}
public String getName()throws Throwable {
FileInputStream fis = context.openFileInput("itcast.txt");
byte bytes[] = new byte[1024];
int len = -1;
ByteArrayOutputStream baos = new ByteArrayOutputStream();
while((len = fis.read(bytes)) != -1) {
baos.write(bytes,0, len);
}
fis.close();
baos.close();
byte[] name = baos.toByteArray();
return new String(name);
}
}

访问其他应用

package cn.itcast.other;

import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;

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

public class OtherTest extends AndroidTestCase {
public static final String TAG = "Other";
public void testSaveName() throws Exception{
File file = new File("/data/data/cn.itcast.files/files/itcast.txt");
FileOutputStream fos = new FileOutputStream(file);
String name = "wangguangwangguangsdfsdfsd";
fos.write(name.getBytes());
fos.close();
}
public void testGetName() throws Exception{
File file = new File("/data/data/cn.itcast.files/files/itcast.txt");
FileInputStream fis = new FileInputStream(file);
byte bytes[] = new byte[1024];
int len = -1;
ByteArrayOutputStream baos = new ByteArrayOutputStream();
while((len = fis.read(bytes)) != -1) {
baos.write(bytes,0, len);
}
fis.close();
baos.close();
byte[] name = baos.toByteArray();
Log.i(TAG, new String(name));

}
}


二.SharedPreferences
三.SQLLite数据库
四.内容提供者(Content provider)
五.网络

更多相关文章

  1. 仿照利用android系统源码资源文件,修改SeekBar颜色 前景与背景
  2. Android(安卓)JNI环境搭建及开发入门
  3. Android(安卓)API 指南
  4. Android(安卓)Service小实践
  5. Android硬件访问服务-Service
  6. Android(安卓)入门 和 环境搭建
  7. vim+ctags+cscope 打造Android源码阅读工具
  8. 【视频课程】Android应用开发典型案例分析—主流mp3播放器
  9. Android(安卓)XML解析

随机推荐

  1. 学习Android(安卓)必备 实例大集合
  2. Android(安卓)Animaition
  3. [转]Eclipse 查看Android(安卓)SDK源码
  4. Android(安卓)中可重写的一些样式
  5. Android(安卓)引入AspectJ的记录
  6. Android样式的开发:drawable汇总篇
  7. 用gradle 来打包Android
  8. A-GPS定位与GPS定位的Android简单实现
  9. 自定义控件其实很简单2/3
  10. 搭建Android(安卓)java开发环境 eclipse