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"); 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" /> 详细解决方案
Android下的数据存储与访问(一) - 以文件的形式
热度:15 发布时间:2016-04-28 00:30:18.0
相关解决方案
- android 读取byte[]中的元素解决方案
- android 标题栏兑现方式
- android 中Activity向BroadcastReceiver发送数据,该怎么解决
- Android 4.0 为什么模拟器老是提示小弟我谷歌拼音输入法已停止
- android:getSharedPreferences() 这是哪个类的方法解决思路
- android 怎么判断一个程序是否联网
- android RadioButton如何设置默认选中
- android 怎么重新设置锚点
- android 图片对象获取的有关问题
- android 关于服务连接的疑义
- android 怎么实现对view的放大和缩小
- android ID,该如何处理
- 准备复习2-3个月,看java+android,请问有经验者,怎么看效果最好》
- android UI线程与AsyncTask的有关问题
- android(java) 中文乱码的有关问题
- android 动态设立控件高度
- Android test project 编译方法
- android 4.03启动出错,显示"Encryption Unsuccessful"该如何解决
- Android 下面的listView的动态效果怎么实现的?求源代码,多谢
- Android?Palm?Symbian?Windows Mobile?学哪个有“钱图”?解决方案
- Android 开发语言,该怎么解决
- 单个人去做手机开发选什么平台好?android,iphone?解决办法
- Android 虚拟机崩溃的有关问题
- 想学学移动平台的开发 android 还是windows phone7好啊该怎么处理
- Android 上的如何读写设备文件
- Android 2.2 API 汉语文档系列(3) —— AccessibilityService
- 【先睹为快】ArcGIS Android SDK上一版本新特性
- ArcGIS for Android app v2.0.4公布
- android.hardware.USB种介绍
- android linux开发 在线电子书解决方案