Android 中保存数据到文件中

1、在安卓开发中,会遇到保存数据到手机中以及从手机中获取数据的情况

/**
     * 把数据存放到手机内存中
     *
     * @param number
     * @param password
     * @return
     */
    public static boolean saveUserInfo(Context context, String number,
            String password) {

        try {

            // getCacheDir()方法用于获取/data/data/<package name>/cache目录 缓存数据
            // getFilesDir()方法用于获取/data/data/<package name>/files目录

            // 定义路径
            // String path = "/data/data/com.example.qqlogin/qqlogin.txt";

            File filesDir = context.getFilesDir();
            // 动态获得路径
            File file = new File(filesDir, "qqlogin.txt");

            // 输出流,把数据输出到文件中
            FileOutputStream fos = new FileOutputStream(file);
            // 要写入的数据
            String data = number + "##" + password;

            // 写入字节流
            fos.write(data.getBytes());

            // 清空缓存
            fos.flush();
            // 关闭流
            fos.close();

            return true;
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

        return false;
    }

    /**
     * 从文件中读取数据,并返回出去
     *
     * @return
     */
    public static Map<String, String> getUserInfo(Context context) {
        // String path = "/data/data/com.example.qqlogin/qqlogin.txt";
        // 动态获取文件名
        File filesDir = context.getFilesDir();
        // 动态获得路径
        File f = new File(filesDir, "qqlogin.txt");

        try {
            // 从文件中读取流
            // FileInputStream fis = new FileInputStream(path);
            FileInputStream fis = new FileInputStream(f);
            // 把字节流 转换为 字符串流
            BufferedReader reader = new BufferedReader(new InputStreamReader(
                    fis));
            String text = reader.readLine();
            if (!TextUtils.isEmpty(text)) {
                String[] spilt = text.split("##");
                Map<String, String> userInfoMap = new HashMap<String, String>();
                userInfoMap.put("number", spilt[0]);
                userInfoMap.put("password", spilt[1]);
                return userInfoMap;
            }

        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return null;
    }

2、通过SharedPreferences 向手机中写入数据

/**
     * 把数据存放到手机内存中
     *
     * @param number
     * @param password
     * @return
     */
    public static boolean saveUserInfo(Context context, String number,
            String password) {
        try {

            // 文件保存在 /data/data/包名/shared_prefs/itheima28
            SharedPreferences sp = context.getSharedPreferences("aa",
                    context.MODE_PRIVATE);

            // 获得一个编辑对象
            Editor ed = sp.edit();

            // 存放数据
            ed.putString("number", number);
            ed.putString("password", password);
            // 提交数据
            ed.commit();
            return true;

        } catch (Exception e) {

        }

        return false;
    }

    /**
     * 从文件中读取数据,并返回出去
     *
     * @return
     */
    public static Map<String, String> getUserInfo(Context context) {

        try
        {
        // 文件保存在 /data/data/包名/shared_prefs/itheima28
        SharedPreferences sp = context.getSharedPreferences("aa",context.MODE_PRIVATE);
        String number=sp.getString("number", null);
        String password=sp.getString("password", null);

        Map<String,String>  userInfoMap=new HashMap<String, String>();
        userInfoMap.put("number", number);
        userInfoMap.put("password",password);
        return  userInfoMap;
        }
        catch(Exception e)
        {

        }

        return null;
    }
时间: 2024-10-12 21:25:51

Android 中保存数据到文件中的相关文章

【C#/WPF】保存BitmapImage数据到文件中

原文:[C#/WPF]保存BitmapImage数据到文件中 参考: http://stackoverflow.com/questions/35804375/how-do-i-save-a-bitmapimage-from-memory-into-a-file-in-wpf-c /// <summary> /// 把内存里的BitmapImage数据保存到硬盘中 /// </summary> /// <param name="bitmapImage">

解决hibernate保存数据到mysql中出现乱码问题

今天使用hibernate保存数据到mysql中,发现出现乱码问题,经过检查,发现接收到的是正确中文,说明客户端浏览器将中文编码发送到服务器过程中无乱码问题,后来查找资料: 首先要告诉数据库要插入的字符串的字符集,mysql 默认使用的字符集是 latin1.我要保存的字符串是 UTF-8 编码的(字符集是 Unicode),所以包含这个字段的表应该使用 UTF-8 编码. 这里有几种解决办法. 1.在建立数据库的时候指定数据库的字符集编码,这样,这个数据库的所有表都会默认使用数据库的字符集编码

Android学习笔记之mainfest文件中android属性

Android学习笔记之mainfest文件中android属性 - Impossible is nothing - 博客频道 - CSDN.NET 以前的零散笔记, 共享一下, 有错误的地方还请指正. android:allowTaskReparenting 是否允许activity更换从属的任务,比如从短信息任务 切换到浏览器任务.---------------------------------------------------------------------------------

Python3.4 获取百度网页源码并保存在本地文件中

最近学习python 版本 3.4 抓取网页源码并且保存在本地文件中 import urllib.request url='http://www.baidu.com' #上面的url一定要写明确,如果写成www.baidu.com,下一步就会报错. response=urllib.request.urlopen(url) #下一步获取html,但是是Byte格式的,我们要解码 html=response.read() html_str=html.decode('utf-8') #下面我们把get

C#保存数据到文件

//======================================================= //保存数据到文件 //======================================================= /// <summary> /// 保存数据data到文件,返回值为保存的文件名 /// </summary> public string SaveToFile(String data, String name, bool mute)

android如何保存读取读取文件文件保存到SDcard

android如何保存读取读取文件文件保存到SDcard 19. 三 / android基础 / 没有评论 本文来源于www.ifyao.com禁止转载!www.ifyao.com 上图为保存文件的方法体. 上图为如何调用方法体保存数据. 上面的截图介绍了,文件保存的基本内容. 路径也可以更改. 将内容保存到文件介绍完毕. 本文来源于www.ifyao.com禁止转载!www.ifyao.com 读取文件方法体,将方法返回值传给控件即可. 保存文件的四种操作模式 将文件保存到手机的SDcard路

电脑中如何提取PDF文件中的图片

通常,我们在一些PDF文件中看到一些好看的图片,想将图片保存下来,但是PDF文件是无法编辑的,在文件自身当中我们无法将图片完成的提取出来,因此大家都会想办法在不破坏图片完整性的情况下将图片从PDF文件中提取出来,下面就跟大家分享一下小编是从电脑中如何提取PDF文件中的图片.借助工具:×××换器1.在PDF文件中提取图片,本身也是一种对文件的编辑,知识PDF文件无法编辑,所以我们要借助工具来进行编辑,工具可以直接在百度浏览器中下载.2.下载安装好工具,打开工具,进入到操作页面,操作页面左边是功能栏

[原创]Java调用PageOffice在线打开数据库中保存的Word文件

PageOffice产品和数据库是两个独立的概念,严格来说两者之间没有任何本质关系.PageOffice不依赖数据库而存在,但是数据库和PageOffice可以结合使用来完成某些复杂的业务逻辑.例如:PageOffice可以打开数据库中的二进制流文件,也可以将Word或者Excel整个文档或者文档中的一部分数据保存到数据库中,这里的数据库可以是任意数据库,如:Sqlite,Access,SQL Server,Oracle,MySQL,DB2,Sybase等.下面我们就此问题展开详细论述. 1)打

Java学习(2):将键盘录入的内容保存到指定文件中

要求:保存键盘录入的内容,当键盘输入end时,录入结束. 1 /** 2 * 保存键盘输入,并以end结束 3 * 4 * @author xcx 5 * @time 2017年6月24日下午3:32:50 6 */ 7 public class GetData { 8 9 public static void main(String[] args) throws IOException { 10 String fileName = "d:\\java\\jj\\dd.txt";//