• 数据存储基础


    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"/>

  • 相关阅读:
    Pytest中参数化之Excel文件实战
    PyCharm 专业版 2018激活(pycharm-professional-2018.2.4.exe)
    python语言编写一个接口测试的例子,涉及切割获取数据,读取表格数据,将结果写入表格中
    webdriver之UI界面下拉框的选择
    git的安装与详细应用
    安装jenkins
    python对数据库mysql的操作(增删改查)
    批量执行测试用例
    面向对象中多态的讲解+工厂设计模式的应用与讲解
    面向对象
  • 原文地址:https://www.cnblogs.com/banzhuan/p/6401696.html
Copyright © 2020-2023  润新知