您的位置 首页 解答

Android学习笔记-保存数据的完成办法1

Android开发中,有时候我们需要对信息进行保存,那么今天就来介绍一下,保存文件到内存,以及SD卡的一些操作,及方法,供参考。第一种,保存数据

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

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

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;

}

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/changshang/jieda/300039.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部