Android五大存储之内部存储

作者: Trap_余生 | 来源:发表于2016-08-22 12:56 被阅读453次

    前序:

    Android五大存储:内部存储外部存储、网络存储、SharedPreferencesSQLite

           每天都有新的感悟,而能将感悟记录下来并分享,这成了我目前唯一能坚持的一件事情。这次小编想分享的是Android五大存储之内部存储,并将案例整理如下:

    正文:

             此次案例是:登陆存储账号密码,勾选单选框登陆,下次无需重新输入账号密码可直接登陆。

    先看图:

          用手机截图的,可以看时间,首先进入登陆界面,输入账号密码,选中记住账号密码的登陆,退出重新进入账号密码已经自动填充。

    代码:

       public class MainActivity extends AppCompatActivity {

    privateEditTextet_user;//用户账号

    privateEditTextet_password;//密码

    privateCheckBoxcb;//记住账号密码

    privateButtonbtn_login;//登陆

    @Override

    protected voidonCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_main);

    initView();//初始化

    readAccount();//读取账号密码

    }

    private voidreadAccount() {

    File file =newFile("data/data/com.xuchen.logininroom/info.txt");

    if(file.exists()){

    try{

    FileInputStream fileInputStream =newFileInputStream(file);

    //将字节流转化为字符流

    BufferedReader bufferedReader =newBufferedReader(newInputStreamReader(fileInputStream));

    //读取text文件里的用户名跟密码

    String readLine = bufferedReader.readLine();

    String[] split = readLine.split("##");

    et_user.setText(split[0]);

    et_password.setText(split[1]);

    }catch(IOException e) {

    e.printStackTrace();

    }

    }

    }

    private voidinitView() {

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

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

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

    btn_login= (Button) findViewById(R.id.btn_login);

    }

    //登陆监听

    public voidlogin(View view){

    //字符串

    String user =et_user.getText().toString();

    String password =et_password.getText().toString();

    //判断选框是否被选

    if(cb.isChecked()){

    //内部存储路径:data/data/com.xuchen.logininroom

    File file =newFile("data/data/com.xuchen.logininroom/info.txt");

    try{

    FileOutputStream fileOutputStream =newFileOutputStream(file);

    fileOutputStream.write((user+"##"+password).getBytes());

    fileOutputStream.close();

    }catch(IOException e) {

    e.printStackTrace();

    }

    }

    Toast.makeText(this,"登陆成功",Toast.LENGTH_SHORT).show();

    }

    布局:

    反馈:

    CSDN:http://write.blog.csdn.net/postlist

    github: https://github.com/ITtrap

    QQ: 2632545852

    Email: xuchen1009@gmail.com

    相关文章

      网友评论

      • cc2082296b8e:楼主,关流的时候在finally中关比较好。
        Trap_余生:@走走散散 的确是,下一篇外部存储会纠正,感谢提醒!

      本文标题:Android五大存储之内部存储

      本文链接:https://www.haomeiwen.com/subject/nxtgsttx.html