編輯:關於Android編程
package com.rainsong.sharedpreferencesdemo; import android.os.Bundle; import android.app.Activity; import android.content.Context; import android.content.SharedPreferences; import android.content.SharedPreferences.Editor; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; public class MainActivity extends Activity { private static final String PREFERENCES_NAME = "sharedpreferencesdemo"; private static final String KEY_USERNAME = "username"; private static final String KEY_PASSWORD = "password"; Button btn_login; Button btn_cancel; EditText et_username; EditText et_password; OnClickListener listener_login; OnClickListener listener_cancel; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); et_username = (EditText) findViewById(R.id.username); et_password = (EditText) findViewById(R.id.password); listener_login = new OnClickListener() { public void onClick(View v) { String username; String password; username = et_username.getText().toString(); if (username.length() < 1) { Toast.makeText(MainActivity.this, "請輸入用戶名", Toast.LENGTH_LONG).show(); return; } password = et_password.getText().toString(); if (password.length() < 1) { Toast.makeText(MainActivity.this, "請輸入密碼", Toast.LENGTH_LONG).show(); return; } SharedPreferences pref = getSharedPreferences(PREFERENCES_NAME, Context.MODE_APPEND); Editor edit = pref.edit(); edit.putString(KEY_USERNAME, username); edit.putString(KEY_PASSWORD, password); edit.commit(); Toast.makeText(MainActivity.this, "用戶名稱:" + username + ", 用戶密碼:" + password,Toast.LENGTH_SHORT).show(); } }; btn_login = (Button)findViewById(R.id.login); btn_login.setOnClickListener(listener_login); listener_cancel = new OnClickListener() { public void onClick(View v) { SharedPreferences pref = getSharedPreferences(PREFERENCES_NAME, Context.MODE_APPEND); Editor edit = pref.edit(); edit.clear(); edit.commit(); et_username.setText(""); et_password.setText(""); } }; btn_cancel = (Button)findViewById(R.id.cancel); btn_cancel.setOnClickListener(listener_cancel); SharedPreferences pref = getSharedPreferences(PREFERENCES_NAME, Context.MODE_APPEND); String username; String password; username = pref.getString(KEY_USERNAME, ""); password = pref.getString(KEY_PASSWORD, ""); et_username.setText(username); et_password.setText(password); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } }
通過上述代碼可以看到,在onCreate中使用findViewById得到兩個EditText後,使用getSharedPreferences()方法取得SharedPreferences對象,然後使用getString()方法取得其中保存的值,最後使用setText()方法將其值設置為兩個EditText的值。
在單擊“登錄”按鈕時,首先使用getSharedPreferences()方法取得SharedPreferences對象;然後調用edit()方法使其處於可編輯狀態,並使用putString()方法將兩個EditText中的值保存起來;最後使用commit()方法提交即可保存。
Set a String value in the preferences editor, to be written back once commit() or apply() are called.
最近項目中有個新的需求,用戶在完交易需要進行輸入支付密碼付款的時候,要讓用戶簽下自己的簽名,提起到數字簽名這個東西,感覺有點高大上,後來想想數字簽名的原理也不是太復雜,主
首先,很榮幸此專欄能被CSDN推薦到主頁。榮幸的同時,也激勵自己會把這個專欄一直更新下去。進入今天的主題:我們在qq登錄的時候,會有一個下拉的按鈕,來查看歷史登錄賬號。這
好長時間沒更博客了,最近一直在做比賽的一個項目,就是實現客戶端和PC端的文件互傳,其實一開始在看到這個題目的時候,完全不知道怎麼去實現,感覺一臉懵逼,後來在查閱了資料以及
一、Android中的事件處理方法事件處理:響應用戶UI動作,提高應用程序交互性1、基於監聽的事件處理機制2、基於回調的事件處理機制3、Handler消息處理前面我們已經