編輯:關於Android編程
SharedPreference:
1.是一種輕型的數據存貯方式
2.本質是基於xml文件存貯key_value鍵值對數據
3.通常用來存貯一些簡單的配置信息(密碼,窗口狀態,軟件的基本配置,壁紙等等)
SharedPreferences對象只能獲取數據而不支持存貯和修改,存貯和修改是通過Editor對象實現
使用SharedPreferences保存數據的步驟:
1.獲得SharedPreferences對象
有兩種方式
(1)通過函數context.getsharedpreferences(string name,int mode) 獲得的SharedPreferences對象可以被同一應用程序下的其他組件共享。name為指定文件的名稱,mode為操作模式 ,共有四種(Context.MODE_PRIVATE:為默認操作模式,代表該文件是私有數據,只能被應用本身訪問,在該模式下,寫入的內容會覆蓋原文件的內容。Context.MODE_APPEND:模式會檢查文件是否存在,存在就往文件追加內容,否則就創建新文件。MODE_WORLD_READABLE:表示當前文件可以被其他應用讀取。MODE_WORLD_WRITEABLE:表示當前文件可以被其他應用寫入。)
SharedPreferences pre = getSharedPreferences("myinfo", MODE_PRIVATE);
(2)通過函數activity.getpreferences(int mode),其中配置文件僅可以被調用的activity使用。mode為操作模式
2.獲得SharedPreferences.Editor對象
SharedPreferences pre = getSharedPreferences("myinfo", MODE_PRIVATE);
Editor edit=pre.edit();
3.通過Editor接口的putXxx()方法保存key-value,其中的Xxx表示不同的數據類型
edit.putString("name", "zhangsan");
edit.putString("age", "30");
edit.commit();
SharedPreferences pre = getSharedPreferences("myinfo", MODE_PRIVATE);
pre.getString("name", "");
pre.getString("age", "");
5.移除數據
edit.remove("name");
edit.remove("age");
edit.commit();
我學習的大概就這麼多了 。下面附上一個實例。保存用戶名和密碼
運行結果

MainActivity.class
package com.example.sharedpreferences;
import android.os.Bundle;
import android.app.Activity;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.view.View;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity extends Activity {
private EditText et_name;
private EditText et_passward;
private CheckBox ckb_save;
private SharedPreferences pre;
private Editor edit;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
et_name = (EditText) findViewById(R.id.et_name);
et_passward = (EditText) findViewById(R.id.et_passward);
ckb_save = (CheckBox) findViewById(R.id.checkBox1);
pre = getSharedPreferences("myinfo", MODE_PRIVATE);
edit = pre.edit();
String name=pre.getString("name", "");
String passward=pre.getString("passward", "");
if(name!=null&&passward!=null){
et_name.setText(name);
et_passward.setText(passward);
}
}
public void btnLogin(View v) {
switch (v.getId()) {
case R.id.btn_login: {
String name = et_name.getText().toString();
String passward = et_passward.getText().toString();
if (name!=null&&passward!=null) {
if (ckb_save.isChecked()) {
edit.putString("name", name);
edit.putString("passward", passward);
edit.commit();
Toast.makeText(MainActivity.this, "保存用戶成功",
Toast.LENGTH_SHORT).show();
}
else{
Toast.makeText(MainActivity.this, "未勾選保存,保存失敗",
Toast.LENGTH_SHORT).show();
}
}
else{
Toast.makeText(MainActivity.this, "用戶名或者密碼為空,請重新輸入", Toast.LENGTH_SHORT).show();
et_name.setText(null);
et_passward.setText(null);
}
break;
}
case R.id.btn_cancel: {
edit.remove("name");
edit.remove("passward");
edit.commit();
Toast.makeText(MainActivity.this, "已成功忘記", Toast.LENGTH_SHORT).show();
break;
}
}
}
}
升級Android ADT 和SDK
由於目前從事android開發工作,所以升級了下Android SDK和eclipse ADT插件 一、更新ADT Install New Softwar
android之客戶端從服務端解析數據及上傳與反饋數據
1、json從服務端解析服務端數據客戶端的運行結果本來是這樣的[{id:1,title:"馬雲",publishTime:Sat May 14 15:
Android自定義view實現水波紋進度球效果
今天我們要實現的這個view沒有太多交互性的view,所以就繼承view。自定義view的套路,套路很深 1、
Android自定義ViewGroup的實現方法
在android中提供了常見的幾種ViewGroup的實現,包括LinearLayout、Relativeayout、F