android学习笔记----模拟登陆界面(文件和SharedPreferences存储)
记录学习笔记:
目录
SharedPreferences存储源码(QQlogin2):https://github.com/liuchenyang0515/QQlogin2
文件存储源码(QQlogin):https://github.com/liuchenyang0515/QQlogin
1.SharedPreferences存储
界面如下:
MainActivity.java
import android.content.SharedPreferences;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.text.TextUtils;
import android.util.Log;
import android.view.View;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
    /**
     * 定义一个共享参数(存放数据方便的api)
     */
    private SharedPreferences sp;
    private String TAG = "MainActivity";
    private EditText et_qqnumber;
    private EditText et_passwd;
    private CheckBox cb_remember;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        et_qqnumber = (EditText) findViewById(R.id.et_qqnumber);
        et_passwd = (EditText) findViewById(R.id.et_passwd);
        cb_remember = (CheckBox) findViewById(R.id.cb_remember);
        sp = this.getSharedPreferences("config", MODE_PRIVATE);
        restoreInfo();
    }
    /**
     * 根据原来保存的文件信息,把QQ号码和密码信息显示到界面
     */
    private void restoreInfo() {
        String qq = sp.getString("qq", "");
        String passwd = sp.getString("passwd", "");
        boolean isRemember = sp.getBoolean("remember", false);
        Log.d(TAG, "qq:" + qq);
        Log.d(TAG, "passwd:" + passwd);
        et_qqnumber.setText(qq);
        et_passwd.setText(passwd);
        cb_remember.setChecked(isRemember); // 恢复时也把记住密码的勾选上
    }
    /**
     * 登录按钮的点击事件
     *
     * @param view
     */
    public void login(View view) {
        String qq = et_qqnumber.getText().toString().trim();
        String passwd = et_passwd.getText().toString().trim();
        if (TextUtils.isEmpty(qq) || TextUtils.isEmpty(passwd)) {
            Toast.makeText(this, "用户名和密码不能为空", Toast.LENGTH_SHORT).show();
            return;
        } else {
            // 登录操作,模拟登陆,数据应该提交给服务器比较是否正确
            if ("10000".equals(qq) && "123456".equals(passwd)) {
                // 是否需要记住密码
                // 将数据保存到sp文件中
                SharedPreferences.Editor edit = sp.edit();
                if (cb_remember.isChecked()) {
                    edit.putString("qq", qq);
                    edit.putString("passwd", passwd);
                    edit.putBoolean("remember", true);
                } else {
                    edit.clear(); // 没有勾选记住密码就清空SharedPreferences文件数据
                }
                edit.apply(); // 提交数据,类似于关闭流,事务
                Toast.makeText(this, "登陆成功", Toast.LENGTH_SHORT).show();
            } else {
                Toast.makeText(this, "登陆失败", Toast.LENGTH_SHORT).show();
            }
        }
    }
}xml文件参考如下:
存储config.xml如下:
====================================================================
2.文件存储:
笔记批注:如果想要修改文件的权限的话,可以进入到相应的目录,然后例如:chmod 777 private.txt就可以把权限改为
-rwxrwxrwx,每一个权限组都是3位2进制数。
========================================Talk is cheap, show me the code=======================================
    CSDN博客地址:https://blog.csdn.net/qq_34115899
 
                    
                     
                    
                 
                    
                 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号