Andriod开发学习笔记——Android三大存储方式

一. Andriod 三大存储方式

1. sharedPreference存储: 程序中有少量数据需要保存时使用,如下图,只需保存用户名和密码

设置界面中,相关设置信息的保存

2.文件存储:以文件的方式存储起来

3.SQLite数据库存储,有大量的数据需要存放,访问

 

二. sharedPreference存储:(不是控件,无属性,SharedPreference是接口,无读写数据能力)

1.定义:以键值对的方式来存储数据,保存数据给数据提供对应键,读取时通过键把值读取

2.使用方法:内部有editor接口

3.将数据存储到SharedPreference中

 SharedPreferences.Editor editor=getSharedPreferences("myfile",0).edit();
 editor.putString("name",edit_name.getText().toString());//输入名字放到name键中
 editor.putString("pwd",edit_pwd.getText().toString());//输入密码放到pwd键中
 editor.putBoolean("st",check_reme.isChecked());//把复选框状态放到st键中
 editor.commit();//提交

4.从SharedPreference中读取数据

String myname= getSharedPreferences("myfile",0).getString("name","");
String mypwd= getSharedPreferences("myfile",0).getString("pwd","");
Boolean myst= getSharedPreferences("myfile",0).getBoolean("st",false);
if(myst==true){
     edit_name.setText(myname);
     edit_pwd.setText(mypwd);
     check_reme.setChecked(true);
}else{
     edit_name.setText("");
     edit_pwd.setText("");
     check_reme.setChecked(false);
}

三. 文件存储:

1.文件存储包括存数据到文件当中从文件中取数据两个过程

2.存数据到文件中

 private void onbuttonClick() {
        btn_save.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                //把输入的内容保存到文件里面
                try {
                   //Context类中提供了一个方法openFileOutput可以实现向文件中写入数据
                   // 参数:(“文件名” , 文件的操作模式:覆盖/追加),路径:data/data/包名/files/
                    FileOutputStream   fout=openFileOutput("zs.txt",0);
                    //数据写入文件中
                    fout.write(edit_input.getText().toString().getBytes());
                    //关闭文件输出流
                    fout.close();
                    //弹出提示,提交成功
                    Toast.makeText(MainActivity.this,"提交成功",Toast.LENGTH_SHORT).show();
                } catch (FileNotFoundException e) {
                    e.printStackTrace();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        });

    }

3.从文件中读取内容

 private void readFile() {
        try {
            //调用Context类的openFileInput方法得到一个文件输入流对象
            FileInputStream fin =openFileInput("zs.txt");
            //创建一个数组缓冲区,用来存放读取的很多字节数据;
            byte[]   arr=new byte[fin.available()];
            //数据的读取
            fin.read(arr);
            //关闭输入流
            fin.close();
            //数据显示出来--//byte类型的数据转为字符串
            edit_input.setText(new String(arr));
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }

    }

4.完善工程:自动显示当前时间

 private void displaytime() {
        //创建一个时间类,导入的包:import android.text.format.Time;
        Time time=new Time();
        //获取系统当前时间
        time.setToNow();
        //把获取的年月日显示出来
        edit_input.append("\n\n"+time.year+"年"+(time.month+1)+"月"+time.monthDay+"日"+"\n");
        //将光标移动至文字末尾
        edit_input.setSelection(edit_input.getText().length());
    }

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值