編輯:關於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萬能播放器—— 手勢控制亮度、音量、縮放
使用Vitamio打造自己的Android萬能播放器(1)——准備一、實現目標1.1亮度控制模仿VPlayer界面:1.2聲音控制模
Android使用ViewDragHelper實現仿QQ6.0側滑界面(一)
QQ是大家離不開的聊天工具,方便既實用,自從qq更新至6.0之後,側滑由原來的劃出後主面板縮小變成了左右平滑,在外觀上有了很大的提升,於是我就是嘗試理解下裡面的各種邏輯,
Android NDK開發初步
在配置好NDK開發之後就可以使用C/C++開發android了。下面以一個HelloWorld項目來說明1.新建一個Android工程新建一個HelloWorld工程代碼
Android開發必知 九種對話框的實現方法
在開發過程中,與用戶交互式免不了會用到對話框以實現更好的用戶體驗,所以掌握幾種對話框的實現方法還是非常有必要的。在看具體實例之前先對AlertDialog做一個簡單介紹。