編輯:關於Android編程
Android中登錄界面的記住密碼功能實現,將用戶輸入的賬號和密碼以SharedPreferences方式存儲(注意的是,密碼要用MD5明文加密)。
界面xml文件:
MainActivity.java文件:
import android.os.Bundle; import android.app.Activity; import android.content.SharedPreferences; import android.content.SharedPreferences.Editor; import android.text.TextUtils; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.CheckBox; import android.widget.EditText; import android.widget.Toast; /*** * *1.創建一個SharedPreferences *2.初始化SharedPreferences 參數1 sp的文件名稱 參數2 sp的保存模式 *3.向sp裡面保存數據 首先 獲取一個文本編輯器 Editor *4.存儲完畢數據記得執行commint()保存數據 *5.讀取數據 sp.getString() sp.getInt(); */ public class MainActivity extends Activity { private EditText et_qq; private EditText et_password; private CheckBox cb_remeber_pwd; private Button bt_ok; /** * android系統下用於數據存儲的一個方便的API */ private SharedPreferences sp; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 完成sp的初始化。 sp = getSharedPreferences("config", MODE_PRIVATE); et_qq = (EditText) findViewById(R.id.et_qq); et_password = (EditText) findViewById(R.id.et_password); cb_remeber_pwd = (CheckBox) findViewById(R.id.cb_remeber_pwd); //獲取sp裡面存儲的數據 String savedQQ = sp.getString("qq", ""); String savedPassword = sp.getString("password", ""); et_qq.setText(savedQQ); et_password.setText(savedPassword); bt_ok = (Button) findViewById(R.id.bt_ok); // 給按鈕注冊一個點擊事件。 bt_ok.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { String qq = et_qq.getText().toString(); String password = et_password.getText().toString(); if (TextUtils.isEmpty(qq) || TextUtils.isEmpty(password)) { Toast.makeText(getApplicationContext(), "對不起,qq號" + "或者密碼不能為空", 0).show(); } else { // 檢查用戶是否勾選了 記住密碼的選項。 if (cb_remeber_pwd.isChecked()) { // 說明勾選框被選中了。把用戶名和密碼給記錄下來 // 獲取到一個參數文件的編輯器。 Editor editor = sp.edit(); editor.putString("qq", qq); editor.putString("password", MD5utils.encode(password)); // 把數據給保存到sp裡面 editor.commit(); Toast.makeText(getApplicationContext(), "用戶信息已經保存", 1) .show(); } } } }); } }
MainActivity.java調用的MD5utils.java文件:
package com.itheima.qqlogin; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import android.os.Message; public class MD5utils { /** * md5加密的工具類 * * @param password * @return */ public static String encode(String password) { try { MessageDigest digest = MessageDigest.getInstance("md5"); byte[] results = digest.digest(password.getBytes()); StringBuilder sb = new StringBuilder(); for(byte b : results){ int number = b&0xff; String hex = Integer.toHexString(number); if(hex.length()==1){ sb.append("0"); } sb.append(hex); } return sb.toString(); } catch (Exception e) { e.printStackTrace(); return ""; } } }
賬號和密碼的存儲路徑如下:
導出config.xml文件,可以看到用戶密碼的MD5明文加密前後的xml文件裡的數據:
使用Vitamio打造自己的Android萬能播放器(1)——准備一、實現目標1.1亮度控制模仿VPlayer界面:1.2聲音控制模
QQ是大家離不開的聊天工具,方便既實用,自從qq更新至6.0之後,側滑由原來的劃出後主面板縮小變成了左右平滑,在外觀上有了很大的提升,於是我就是嘗試理解下裡面的各種邏輯,
在配置好NDK開發之後就可以使用C/C++開發android了。下面以一個HelloWorld項目來說明1.新建一個Android工程新建一個HelloWorld工程代碼
在開發過程中,與用戶交互式免不了會用到對話框以實現更好的用戶體驗,所以掌握幾種對話框的實現方法還是非常有必要的。在看具體實例之前先對AlertDialog做一個簡單介紹。