Android学习笔记-保存数据的实现方法1
Android开发中,有时候我们需要对信息进行保存,那么今天就来介绍一下,保存文件到内存,以及SD卡的一些操作,及方法,供参考。
第一种,保存数据到内存中:
//java开发中的保存数据的方式
public static boolean saveUserInfo(String username,String password){
File file = new File("/data/data/com.ftf.login/info.txt");
try {
FileOutputStream fos = new FileOutputStream(file);
// ftf##123
fos.write((username+"##"+password).getBytes());
fos.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
return false;
}
return true; } //Android开发中,保存数据的方法,我们传递一个context对象,这样就可以较为直接的把数据保存到程序在手机系统中的单独的文件夹,符合Android的开发规范,
public static boolean saveUserInfo(Context context,String username,String password){
try { File filesDir = context.getFilesDir();
File file = new File(filesDir,"info.txt");
FileOutputStream fos = new FileOutputStream(file);
// ftf##123
fos.write((username+"##"+password).getBytes());
fos.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
return false;
}
return true; }
/*
* 获取保存的数据
*/
public static Map<String,String> getSavedUserInfo(Context context){
File filesDir = context.getFilesDir();
File file = new File(filesDir,"info.txt");
try {
FileInputStream fis = new FileInputStream(file);
//使用buffer,
BufferedReader br = new BufferedReader(new InputStreamReader(fis));
String str = br.readLine();
String[] infos = str.split("##");
Map<String,String> map = new HashMap<String, String>();
map.put("username", infos[0]);
map.put("password", infos[1]); return map;
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
return null;
} }
第二种,保存数据到SD卡
这时我们需要用到Environment,来较为方便的获取SD卡的目录,这时随便一般情况下,SD卡是在/data/data/sdcard目录下,但是一些国产手机,以及平板中目录机构不是这样的,这样做可以保证程序的兼容性,而且也是Android开发规范推荐。
public static boolean saveUserInfo(Context context,String username,String password){
try {
// File filesDir = context.getFilesDir();
// File file = new File(filesDir,"info.txt");
if(Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState()));
//获取SD卡的目录
File file = new File(Environment.getExternalStorageDirectory(),"info.txt");
FileOutputStream fos = new FileOutputStream(file);
// ftf##123
fos.write((username+"##"+password).getBytes());
fos.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
return false;
}
return true;
}
第三,按照权限,对文件进行存储
这个较为符合Android的开发规范,Android下文件存储有四中类型:PRIVATE,READEABLE,WRITEABLE,READEABLE+WRITEABLE,也即私有,可读,可写,可读可写,我们在保存文件的时候可以直接进行指定,而且context可以直接打开一个文件输出流,所以Android下开发保存文件,推荐这种方式。
public static boolean saveUserInfo(Context context,String username,String password,int mode){
try {
//
// File filesDir = context.getFilesDir();
// File file = new File(filesDir,"info.txt");
// FileOutputStream fos = new FileOutputStream(file);
//在上下文的环境创建一个文件
FileOutputStream fos = null;
switch (mode) {
case 1:
fos = context.openFileOutput("private.txt", Context.MODE_PRIVATE);
break;
case 2:
fos = context.openFileOutput("readeable.txt", Context.MODE_WORLD_READABLE);
break;
case 3:
fos = context.openFileOutput("writeable.txt", Context.MODE_WORLD_WRITEABLE);
break;
case 4:
fos = context.openFileOutput("public.txt", Context.MODE_WORLD_READABLE+Context.MODE_WORLD_WRITEABLE);
break;
}
// ftf##123
fos.write((username+"##"+password).getBytes());
fos.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
return false;
}
return true;
}
Android学习笔记-保存数据的实现方法1的更多相关文章
- Android学习笔记-保存数据的实现方法2-SharedPreferences
Android下,数据的保存,前面介绍过了,把数据保存到内存以及SD卡上,这次我们就介绍一下,更为常用的采用SharedPreferences的方式来保存数据, 1,得到SharedPreferenc ...
- Android学习笔记——保存数据到SQL数据库中(Saving Data in SQL Databases)
知识点: 1.使用SQL Helper创建数据库 2.数据的增删查改(PRDU:Put.Read.Delete.Update) 背景知识: 上篇文章学习了保存文件,今天学习的是保存数据到SQL数据库中 ...
- Android 学习笔记之数据存储SharePreferenced+File
学习内容: Android的数据存储.... 1.使用SharedPreferences来保存和读取数据... 2.使用File中的I/O来完成对数据的存储和读取... 一个应用程序,经常需要与用 ...
- Android学习笔记之数据的Sdcard存储方法及操作sdcard的工具类
FileService.java也就是操作sdcard的工具类: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 ...
- Android学习笔记_36_ListView数据异步加载与AsyncTask
一.界面布局文件: 1.加入sdcard写入和网络权限: <!-- 访问internet权限 --> <uses-permission android:name="andr ...
- Android学习笔记——保存文件(Saving Files)
本人邮箱:JohnTsai.Work@gmail.com,欢迎交流讨论. 欢迎转载,转载请注明网址:http://www.cnblogs.com/J ...
- Android 学习笔记之Volley(七)实现Json数据加载和解析...
学习内容: 1.使用Volley实现异步加载Json数据... Volley的第二大请求就是通过发送请求异步实现Json数据信息的加载,加载Json数据有两种方式,一种是通过获取Json对象,然后 ...
- Android学习笔记之JSON数据解析
转载:Android学习笔记44:JSON数据解析 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,为Web应用开发提供了一种 ...
- Android学习笔记36:使用SQLite方式存储数据
在Android中一共提供了5种数据存储方式,分别为: (1)Files:通过FileInputStream和FileOutputStream对文件进行操作.具体使用方法可以参阅博文<Andro ...
随机推荐
- Poi 写入图片进入excel
public static void cacheWritePicture(BufferedImage bufferImg, Sheet sheet, Workbook wb, int width, i ...
- 07JavaScript数组与字符串对象
JavaScript数组与字符串对象 5.1.1数组(Array)对象 <script> //声明一个数组并赋值; var arr = new Array("aa",& ...
- No-1.第一个 Python 程序
1. 第一个 HelloWorld 程序 1.1 Python 源程序的基本概念 Python 源程序就是一个特殊格式的文本文件,可以使用任意文本编辑软件做 Python 的开发 Python 程序的 ...
- 将java project打包成jar包,web project 打包成war包的几种演示 此博文包含图片
转: http://blog.csdn.net/christine_ruan/article/details/7491559 http://developer.51cto.com/art/200907 ...
- 初识Typescript及vscode环境配置
什么是typescript?为什么要用它? typescript简称ts,是js语法的一个超级,由微软团队维护的 js特点(不足) 弱类型:js中的数据变量没有确定的类型,可以存储对象,可以存储数字, ...
- 在springBoot的控制台打印sql语句
在springBoot+Mybatis日志显示SQL的执行情况的最简单方法就是在properties新增: properties形式 logging.level.com.eth.wallet.mapp ...
- Tomcat:Error parsing HTTP request header Note: further occurrences of HTTP header parsing errors will be logged at DEBUG level.
可能原因一: 在本地tomcat启动正常并且访问正常的项目放在服务器上tomcat报以上错误. 本地tomcat为7.0.68,服务器上为7.0.86 错误原因:服务器tomcat版本过高. 解决办法 ...
- 4. GC 算法(实现篇) - GC参考手册
您应该已经阅读了前面的章节: 垃圾收集简介 - GC参考手册 Java中的垃圾收集 - GC参考手册 GC 算法(基础篇) - GC参考手册 学习了GC算法的相关概念之后, 我们将介绍在JVM中这些算 ...
- 指定PING的网卡
struct ifreq ifr; // 绑定在eth0上 memset( &ifr, , sizeof( struct ifreq ) ); snprintf( ifr.ifr_name, ...
- swagger & api & swagger ui
swagger & api swagger ui # run server $ swagger project start api-app # call api $ curl http://1 ...