zoukankan      html  css  js  c++  java
  • 数据存储基础

    1.把数据存储到文件中

    Android应用程序存储数据的方式

        1、保存到文件

        2、SQLite数据库

        3、内容提供者

        4、sharedproferrences保存数据

        5、网络

        /data/data/应用包名/info.txt

    2.从文件中读取数据并显示到界面上

    (1)把文件保存到当前应用程序的目录下的步骤:

        1、创建一个文件,目录/data/data/<包名>/文件名
        2、创建一个文件输出流,把数据写到文件上
        3、关闭输出流。
        代码:
             //保存数据
             File file = new File("/data/data/com.itheima.login/info.txt");
             FileOutputStream fos = new FileOutputStream(file);
             String info = qq + "##"+ pwd;
             fos.write(info.getBytes());

             fos.close();
             Toast.makeText(this, "保存数据成功", 0).show();

    (2)读取文件中的数据,并显示到界面上

             @Override
             protected void onCreate(Bundle savedInstanceState) {
             super.onCreate(savedInstanceState);
             setContentView(R.layout.activity_main);

             et_qq = (EditText) findViewById(R.id.et_qq);

             et_pwd = (EditText) findViewById(R.id.et_pwd);

             cb = (CheckBox) findViewById(R.id.cb);

             //读取文件中的数据,并显示到界面上
             Map<String,String> map = readInfo(this);
             if(map != null){
             et_qq.setText(map.get("qq"));

             et_pwd.setText(map.get("pwd"));
                }

             }


    /**
    * 读取文件中的数据
    * @param ctx
    * @return
    */
    public Map<String,String> readInfo(Context ctx){
    String qq = "";
    String pwd = "";
    Map<String,String> map = new HashMap<String,String>();
    try {
    File file = new File("/data/data/com.itheima.login/files/info.txt");
    FileReader fr = new FileReader(file);
    BufferedReader br = new BufferedReader(fr);
    String info = br.readLine();

    String[] array = info.split("##");
    qq = array[0];
    pwd = array[1];

    map.put("qq", qq);

    map.put("pwd", pwd);
    return map;

    } catch (Exception e) {
    e.printStackTrace();
    return null;
    }


    }

    3.存储到SD卡(重点)

        异常信息:
        09-21 23:25:32.068: W/System.err(24718): java.io.FileNotFoundException: /storage/sdcard/info.txt: open failed: EACCES (Permission denied)
        步骤:

        1、 在SD卡上创建一个文件,

        2、创建一个输出流往sd卡上写数据
    String data = "dsfdsae";

    File file = new File(Environment.getExternalStorageDirectory(), "info.txt");

    FileOutputStream fos = new FileOutputStream(file);
    fos.write(data.getBytes());

    fos.close();

       3、在清单文件中添加访问SD卡的权限
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

  • 相关阅读:
    ipandao markdown mathjax版本
    我们是不是太关注于语法而忽略了算法
    SVGG.JS 入门教程
    关于ipandao编辑器手机访问换行问题
    启明星采购系统新版发布
    仿MSDN的帮助系统
    十分钟打造一款在线的数学公式编辑器
    Search Filter Syntax
    从华为养猪说起,聊聊我对中国计算机发展的一个遗憾-为何我们没有开发出自己的编程语言
    从.NET看微软的焦虑
  • 原文地址:https://www.cnblogs.com/banzhuan/p/6401696.html
Copyright © 2011-2022 走看看