編輯:關於android開發
在《Android 在內部存儲讀寫文件》一文中,談到了登錄用戶名和密碼的方法,通過讀取內存文件來實現,但是會出現問題,因為登錄名和密碼的形式通過username##password的形式,讀取的時候以##為分割線,但是一旦用戶名中存在##就會出現問題,本文使用SharedPreference來解決這個問題
1. 定義布局
使用之前的布局
2. 把組件的狀態用SharedPreference保存起來
* 往SharedPreference裡寫數據
//拿到一個SharedPreference對象
SharedPreferences sp = getSharedPreferences("config", MODE_PRIVATE);
//拿到編輯器
Editor ed = sp.edit();
ed.putBoolean("checkBox", isChecked);
ed.commit();
* 從SharedPreference裡取數據
SharedPreferences sp = getSharedPreferences("config", MODE_PRIVATE);
//從SharedPreference裡取數據
boolean b = sp.getBoolean("checkBox", false);
簡化後的代碼如下:
package com.wuyudong.sharedpreference;
import android.os.Bundle;
import android.app.Activity;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.view.Menu;
import android.view.View;
import android.widget.EditText;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 獲取到SharedPreference對象
SharedPreferences sp = getSharedPreferences("info", MODE_PRIVATE);
//獲取sp中的內容
String name = sp.getString("name", "");
String pass = sp.getString("pass", "");
EditText et_name = (EditText) findViewById(R.id.et_name);
EditText et_pass = (EditText) findViewById(R.id.et_pass);
//數據回顯至輸入框
et_name.setText(name);
et_pass.setText(pass);
}
public void click(View v) {
EditText et_name = (EditText) findViewById(R.id.et_name);
EditText et_pass = (EditText) findViewById(R.id.et_pass);
String name = et_name.getText().toString();
String pass = et_pass.getText().toString();
// 獲取到SharedPreference對象
SharedPreferences sp = getSharedPreferences("info", MODE_PRIVATE);
// 得到編輯器
Editor ed = sp.edit();
ed.putString("name", name);
ed.putString("pass", pass);
ed.commit();
}
}
其實android中的很多設置都用到了SharedPreference
例如

查看com.android.settings/shared_prefs下的com.android.settings_preferences.xml文件

<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
<map>
<boolean name="sound_effects" value="true" />
<boolean name="com.android.inputmethod.latin/.LatinIME" value="true" />
<boolean name="force_hw_ui" value="false" />
<boolean name="jp.co.omronsoft.openwnn/.OpenWnnJAJP" value="false" />
<boolean name="auto_time" value="false" />
<boolean name="show_hw_screen_udpates" value="false" />
<boolean name="24 hour" value="true" />
<boolean name="dock_sounds" value="false" />
<string name="font_size">1.30</string>
<boolean name="allow_mock_location" value="false" />
<boolean name="keep_screen_on" value="false" />
<boolean name="show_hw_layers_udpates" value="false" />
<string name="date_format"></string>
<boolean name="enable_adb" value="false" />
<boolean name="enforce_read_external" value="false" />
<boolean name="show_touches" value="false" />
<boolean name="dtmf_tone" value="true" />
<boolean name="strict_mode" value="false" />
<boolean name="com.example.android.softkeyboard/.SoftKeyboard" value="false" />
<boolean name="show_hw_overdraw" value="false" />
<boolean name="auto_zone" value="false" />
<string name="hdcp_checking">drm-only</string>
<boolean name="show_cpu_usage" value="false" />
<boolean name="debug_layout" value="false" />
<boolean name="com.android.inputmethod.pinyin/.PinyinIME" value="false" />
<boolean name="pointer_location" value="false" />
<boolean name="disable_overlays" value="false" />
<boolean name="bugreport_in_power" value="false" />
<boolean name="haptic_feedback" value="true" />
<boolean name="immediately_destroy_activities" value="false" />
<boolean name="show_all_anrs" value="false" />
<boolean name="verify_apps_over_usb" value="false" />
<boolean name="lock_sounds" value="true" />
<boolean name="show_screen_updates" value="false" />
<boolean name="force_msaa" value="false" />
<boolean name="wait_for_debugger" value="false" />
</map>
下拉刷新--第三方開源--PullToRefresh,開源--pulltorefresh
下拉刷新--第三方開源--PullToRefresh,開源--pulltorefresh效果預覽圖: 下載地址:https://github.com/chrisbane
[android] 手機衛士黑名單功能(ListView優化),androidlistview
[android] 手機衛士黑名單功能(ListView優化),androidlistview上一篇記錄了使用ListView展示出來了100條數據,當慢慢拖動的時候,不
(轉)android屏幕適配,android屏幕適配
(轉)android屏幕適配,android屏幕適配本文轉自:http://isux.tencent.com/learn-android-from-zero-sessio
Android 網絡圖片查看器,
Android 網絡圖片查看器,今天來實現一下android下的一款簡單的網絡圖片查看器 界面如下: 代碼如下: <LinearLayout xmlns:and