Android核心技術-day02-02-類qq登陸
阿新 • • 發佈:2018-12-19
package com.gaozewen.qqlogin; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.text.TextUtils; import android.view.View; import android.widget.CheckBox; import android.widget.EditText; import android.widget.Toast; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.InputStreamReader; public class MainActivity extends AppCompatActivity { private EditText mEt_qqNumber; private EditText mEt_password; private CheckBox mCb_remember; // 新建 res/drawable-hdpi @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mEt_qqNumber = findViewById(R.id.et_qqnumber); mEt_password = findViewById(R.id.et_password); mCb_remember = findViewById(R.id.cb_remember); readStore(); } /** * 根據原來儲存的檔案資訊,把qq號碼和密碼資訊顯示到介面 */ private void readStore() { // getFilesDir ==> data/data/com.gaozewen.com/files/info.txt File file = new File(this.getFilesDir(), "info.txt"); if (file.exists() && file.length() > 0) { // 檔案存在且有內容 try { FileInputStream fis = new FileInputStream(file); BufferedReader br = new BufferedReader(new InputStreamReader(fis)); String info = br.readLine(); String qq = info.split("##")[0]; String password = info.split("##")[1]; mEt_qqNumber.setText(qq); mEt_password.setText(password); } catch (Exception e) { e.printStackTrace(); } } } // 登陸按鈕的點選事件 public void login(View view) { String qq = mEt_qqNumber.getText().toString().trim(); String password = mEt_password.getText().toString().trim(); if (TextUtils.isEmpty(qq) || TextUtils.isEmpty(password)){ Toast.makeText(this, "使用者名稱和密碼不能為空", Toast.LENGTH_SHORT).show(); return; }else { // 判斷是否要記錄使用者名稱和密碼 if (mCb_remember.isChecked()){ // 被選中狀態需要記錄使用者名稱和密碼 File file = new File(this.getFilesDir(), "info.txt"); try { FileOutputStream fos = new FileOutputStream(file); String info = qq + "##" + password; fos.write(info.getBytes()); fos.close(); } catch (Exception e) { e.printStackTrace(); } } // 登陸操作,模擬登陸,資料應該提交給伺服器比較是否正確 if ("10000".equals(qq) && "1".equals(password)){ Toast.makeText(this, "登陸成功", Toast.LENGTH_SHORT).show(); }else{ Toast.makeText(this, "登陸失敗", Toast.LENGTH_SHORT).show(); } } } }