本文实例讲述了Android开发之文件操作。分享给大家供大家参考,具体如下:

目前,几乎所有的设备都会涉及到文件的操作,例如什么电脑,手机等设备。Android的文件操作和电脑是比较类似的,既可以存储在手机内置的存储器里也可以是sd卡。在这篇文章里主要介绍在手机内置存储器里的文件操作。

一. 开发流程

(1)界面的设计
(2)设计android的业务层
(3)单元测试
(4)设置android的控制器层

二. 开发步骤

(1)设计软件界面

<?xml version="1.0" encoding="utf-8"?>      

这里也把R文件给大家看看

/* AUTO-GENERATED FILE. DO NOT MODIFY. * * This class was automatically generated by the * aapt tool from the resource data it found. It * should not be modified by hand. */package org.lxh.file;public final class R {  public static final class attr {  }  public static final class drawable {    public static final int icon=0x7f020000;  }  public static final class id {    public static final int button=0x7f050002;    public static final int content=0x7f050001;    public static final int filename=0x7f050000;  }  public static final class layout {    public static final int main=0x7f030000;  }  public static final class string {    public static final int app_name=0x7f040001;    public static final int button=0x7f040004;    public static final int content=0x7f040003;    public static final int failure=0x7f040006;    public static final int filename=0x7f040002;    public static final int hello=0x7f040000;    public static final int success=0x7f040005;  }}

(2)设计业务层

package org.lxh.service;import java.io.ByteArrayOutputStream;import java.io.FileInputStream;import java.io.FileOutputStream;import android.content.Context;import android.util.Log;public class FileService {  private Context context;  public FileService(Context context) { //通过构造方法传入context    this.context = context;  }  //保存文件  public void saveFile(String filename,String content) throws Exception{ //异常交给调用处处理    FileOutputStream out=context.openFileOutput(filename, Context.MODE_PRIVATE);    out.write(content.getBytes());    out.close();  }  public String readFile(String filename) throws Exception{ //异常交给调用处处理    FileInputStream in=context.openFileInput(filename);    byte b[]=new byte[1024];    int len=0;    ByteArrayOutputStream array=new ByteArrayOutputStream();    while((len=in.read(b))!=-1){ //开始读取文件      array.write(b,0,len);    }    byte data[]=array.toByteArray(); //把内存里的数据读取出来    in.close(); //每个流都必须关闭    array.close();    return new String(data); //把byte数组转换为字符串并返回  }}

下面开始做单元测试,要添加的环境就不说了

package org.lxh.test;import org.lxh.service.FileService;import android.test.AndroidTestCase;import android.util.Log;public class Test extends AndroidTestCase {  public static final String TAG = "Test";  public void testSave() {    FileService service = new FileService(this.getContext());    try {      service.saveFile("01.txt", "hello");    } catch (Exception e) {      Log.i(TAG, e.getMessage());    }  }  public void testRead() {    FileService service = new FileService(this.getContext());    try {      Log.i(TAG,service.readFile("01.txt"));    } catch (Exception e) {      Log.e(TAG, e.getMessage());    }  }}

看一下运行之后的效果

单元测试通过了,下面来看下在模拟器上的效果,在这之前要先看下下面的代码

package org.lxh.file;import org.lxh.service.FileService;import android.app.Activity;import android.os.Bundle;import android.util.Log;import android.view.View;import android.widget.Button;import android.widget.EditText;import android.widget.Toast;public class FileActivity extends Activity {  private FileService service;  public void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.main);    service=new FileService(this);    Button button=(Button)findViewById(R.id.button);    button.setOnClickListener(new View.OnClickListener() {      public void onClick(View v) {        EditText filename=(EditText)findViewById(R.id.filename);        EditText content=(EditText)findViewById(R.id.content);        try {          service.saveFile(filename.getText().toString(), content.getText().toString());          Toast.makeText(FileActivity.this, R.string.success, 1).show();        } catch (Exception e) {          Toast.makeText(FileActivity.this, R.string.failure, 1).show();          Log.e("FileActivity", e.getMessage());        }      }    });  }}

如果保存成功就给用户一个图示通知:

下面把strings.xml的代码也贴出来

<?xml version="1.0" encoding="utf-8"?>  Hello World, FileActivity!  文件的读取  输入文件名称  输入文件内容  保存  文件保存成功  文件保存失败

更多关于Android相关内容感兴趣的读者可查看本站专题:《Android文件操作技巧汇总》、《Android视图View技巧总结》、《Android编程之activity操作技巧总结》、《Android布局layout技巧总结》、《Android开发入门与进阶教程》、《Android资源操作技巧汇总》及《Android控件用法总结》

希望本文所述对大家Android程序设计有所帮助。

更多相关文章

  1. 04 ImageView中图片保存到文件
  2. (三) 在Ubuntu上为Android增加硬件抽象层(HAL)模块访问Linux内核驱
  3. Android(安卓)studio 下出现"Cannot resolve symbol R"的解决方
  4. 一种巧妙的绕过Android锁屏密码的方法
  5. 分析你的第一个 Android(安卓)程序
  6. 初次修改 android app 代码
  7. android 文件下载(一)
  8. Android(安卓)离线播放 (HLS)m3u8文件
  9. Android文件方式建立和读取(properties)方法

随机推荐

  1. linux环境下写C++操作mysql(一)
  2. 蜂巢和数据库之间的完整性检查
  3. sql随机获获取数据
  4. 替换wordpress WP_POSTS表中post_date字
  5. mysql的count方法详解
  6. Spring+SpringMVC+MyBatis+easyUI整合基
  7. navicat for mysql 注册码,简简单单,一个搞
  8. MySQL数据库语法-多表查询练习一
  9. MySQL - 更改一行的时间值以匹配同一表
  10. php将图片以二进制形式保存到mysql数据库