• 第五周安卓开发学习记录


    写在前面

    本周由于空闲时间较少,只学习了在安卓中持久化存储的两种方式:1.存储到内部存储中 2.存储到数据库(sqlite),其中第二种由于时间关系暂未学习,下周补上。关于外部存储的内容,考虑到现在的手机大多不带SD卡了,就没有在学习了。

    存储到内部存储中

    顾名思义,类比到windows中就是存储到硬盘内的文件上,即存到手机内部存储的某个文件中,具体的操作也类似于java中的文件存储方式,如下代码块:

        private void saveUserInfo(String accountText, String passwordText) {
            Log.e(TAG,"保存用户信息");
            //怎么获取到保存文件的路径
            //输出结果:/data/user/0/com.androidlearing.qqlogindemo/files
            //即存到这个位置
            //用于自己的保存文件,可以用代码删除,也可以用模拟器中的设置删除
            File filesDir = this.getFilesDir();
            Log.d(TAG,filesDir.toString());
            //获取到缓存文件存储的路径
            //用于保存缓存文件,当存储空间不足时会进行清理
            //缓存文件位置:/data/user/0/com.androidlearing.qqlogindemo/cache
            File cacheDir = this.getCacheDir();
            Log.d(TAG,cacheDir.toString());
            File saveFile = new File(filesDir,"info.txt");
            if (!saveFile.exists()) {
                try {
                    saveFile.createNewFile();
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
            try {
                FileOutputStream fos = new FileOutputStream(saveFile);
                //以特定的形式来存储
                //我们的账号***我们的密码
                fos.write((accountText+"***"+passwordText).getBytes());
                fos.close();
                Toast.makeText(this,"数据保存成功",Toast.LENGTH_SHORT).show();
            } catch (Exception e) {
                e.printStackTrace();
            }
    
        }
    

    可以看到操作基本和pc中操作文件是一样的,这里也就不再细说了。

    存储配置文件

    这里简单学习了一个简单的东西:SharedPreferences的使用,不多说,直接上代码:

        mSetting_info = this.getSharedPreferences("setting_info", MODE_PRIVATE);
       @Override
        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
            //我们在这里需要对数据进行保存
            Log.d(TAG,"current state = "+isChecked);
            SharedPreferences.Editor edit = mSetting_info.edit();
            edit.putBoolean("state",isChecked);
            edit.commit();
    
        }
    

    总结

    本周学习了很少的内容,大部分时间都在睡觉。自己的生物钟有点调整不来了。这几天会迅速改好。

  • 相关阅读:
    归并排序
    mysql 基本查询
    APP版本升级
    top命令详解
    iptables原理详解
    Linux--iptables常用命令
    iptables语法常用命令总结(表格)
    iptables原理--图示理解
    GIT的Windows客户端使用
    Linux下GIT服务器端和客户端搭建
  • 原文地址:https://www.cnblogs.com/wushenjiang/p/12541706.html
Copyright © 2020-2023  润新知