• 每日日报


    应用私有路径 data/data/包名/
    控件:CheckBox   isChecked();

    登录案例  File

    MainActivity.java

    public class MainActivity extends Activity {
    
    private EditText et_username;
    
    private EditText et_pwd;
    
    private CheckBox cb_isSave;
    
    private Button btn_login;
    
    @Override
    
    protected void onCreate(Bundle savedInstanceState) {
    
    super.onCreate(savedInstanceState);
    
    //加载界面
    
    setContentView(R.layout.activity_main);
    
    //找到关心的控件
    
    et_username = (EditText) findViewById(R.id.et_username);
    
    et_pwd = (EditText) findViewById(R.id.et_password);
    
    cb_isSave = (CheckBox) findViewById(R.id.cb_isSave);
    
    btn_login = (Button) findViewById(R.id.btn_login);
    
    //设置点击事件
    
    btn_login.setOnClickListener(new MyListener());
    
    //获取用户保存的信息
    
    // String[] info = Utils.readInfo();
    
    // String[] info = Utils.readInfobyContext(this);
    
    String[] info = Utils.readInfoFromSdCard();
    
    //如果返回不为空 说明有信息 显示到edittext上
    
    if(info!=null){
    
    //显示用户的信息
    
    et_username.setText(info[0]);
    
    et_pwd.setText(info[1]);
    
    }
    
    }
    
    private class MyListener implements OnClickListener{
    
    @Override
    
    public void onClick(View v) {
    
    //当按钮被点击就会走这个方法
    
    //①获取用户输入
    
    String pwd = et_pwd.getText().toString().trim();
    
    String username = et_username.getText().toString().trim();
    
    //②判断输入是否为空
    
    if(TextUtils.isEmpty(username)||TextUtils.isEmpty(pwd)){
    
    //2.1如果为空 Toast提示用户 不能为空
    
    Toast.makeText(MainActivity.this, "用户名密码不能为空", Toast.LENGTH_SHORT).show();
    
    }else{
    
    //2.2如果不为空 判断是否保存密码
    
    //③ 通过checkbox的状态 判断是否保存
    
    boolean checked = cb_isSave.isChecked();
    
    if(checked){
    
    //boolean saveInfo = Utils.saveInfo(username,pwd);
    
    //boolean saveInfo = Utils.saveInfobycontext(MainActivity.this,username,pwd);
    
    boolean saveInfo = Utils.saveInfo2sdcard(username,pwd);
    
    if(saveInfo){
    
    Toast.makeText(MainActivity.this, "保存成功", Toast.LENGTH_SHORT).show();
    
    }else{
    
    Toast.makeText(MainActivity.this, "保存失败", Toast.LENGTH_SHORT).show();
    
    }
    
    //勾选上了 保存用户名密码
    
    //Log.d("MainActivity", "保存用户名:"+username+"密码:"+pwd);
    
    }
    
    //④执行登陆的业务逻辑
    
    Log.d("MainActivity", "开始登陆....");
    
    }
    
    }
    
    }
    
    }

    Utils.java

    /**
    
    * 保存用户名密码
    
    * @param username 用户名
    
    * @param pwd 密码
    
    * @return 是否保存成功
    
    */
    
    public static boolean saveInfo(String username, String pwd) {
    
    String info = username+"##"+pwd;
    
    File file = new File("data/data/com.itheima.logindemo/info.txt");
    
    try {
    
    FileOutputStream fos = new FileOutputStream(file);
    
    fos.write(info.getBytes());
    
    fos.close();
    
    return true;
    
    } catch (Exception e) {
    
    e.printStackTrace();
    
    return false;
    
    }
    
    }

  • 相关阅读:
    uniapp中uni.setNavigationBarTitle(OBJECT) 动态设置当前页面的标题。
    vuex的安装
    创建vue项目
    方法
    element-ui的tree组件的使用
    vue树形组件tree遇到的坑
    vuex持久化 vuex-persistedstate
    vuex持久化 vuex-persistedstate,解决刷新跳转到登录页的问题
    How to view file history in Git?
    浏览器里查看请求头
  • 原文地址:https://www.cnblogs.com/zhukaile/p/14835903.html
Copyright © 2020-2023  润新知