应用私有路径 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; } }