編輯:關於Android編程
很多時候我們開發的軟件需要向用戶提供軟件參數設置功能,例如我們常用的QQ,用戶可以設置是否允許陌生人添加自己為好友。對於軟件配置參數的保存,如果是window軟件通常我們會采用ini文件進行保存,如果是j2se應用,我們會采用properties屬性文件或者xml進行保存。如果是Android應用,我們最適合采用什麼方式保存軟件配置參數呢?Android平台給我們提供了一個SharedPreferences類,它是一個輕量級的存儲類,特別適合用於保存軟件配置參數。使用SharedPreferences保存數據,其背後是用xml文件存放數據,文件存放在/data/data/
下面用默認路徑的設置,舉例說明其用法,首先是布局文件:
下面是PreferencesService類:
package lhjd.cnc.dispenser.setting;
import java.util.HashMap;
import java.util.Map;
import android.content.Context;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
public class PreferencesService
{
private Context context;
public PreferencesService(Context context)
{
this.context = context;
}
/**
* 實現應用參數保存
* @param name
* @param age
* @throws Exception
*/
public void save(String name) throws Exception
{
SharedPreferences preferences=context.getSharedPreferences("pathSet", Context.MODE_WORLD_READABLE);
Editor editor=preferences.edit();
editor.putString("name", name);
editor.commit();
}
/**
* 實現應用參數提取
* @return
* @throws Exception
*/
public Map getPreferences() throws Exception
{
SharedPreferences preferences=context.getSharedPreferences("pathSet", Context.MODE_WORLD_READABLE);
Map result=new HashMap();
result.put("name", preferences.getString("name", ""));
return result;
}
}
public class PathSet extends Activity{
private EditText pathNameText;
private PreferencesService service;
public PathSet(final Context context) {
super(context);
LayoutInflater inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
inflater.inflate(R.layout.pathset, this);
service=new PreferencesService(context);
pathNameText=(EditText)this.findViewById(R.id.pathName);
Map params = null;
try {
params = service.getPreferences();
} catch (Exception e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
pathNameText.setText(params.get("name"));
Button button=(Button)findViewById(R.id.btn_savePath);
button.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
String name=pathNameText.getText().toString().trim();
if("".equals(name)||name==null){
Toast.makeText(context, "路徑不能為空", 1).show();
}else{
try
{
service.save(name);
Toast.makeText(context, R.string.succss, 1).show();
} catch (Exception e)
{
Toast.makeText(context, R.string.fail, 1).show();
e.printStackTrace();
}
}
}
});
}
}
下面是截圖效果:

Android Studio老是提示重啟ADB解決!
有時候你把手機接到電腦上調試時,Android Studio總是提示你重啟ADB,但是你點重啟後,立馬又跳出那個提示重啟的對話框。會再跳出提示對話框是因為你ADB重啟沒有
Android項目中自定義頂部標題欄
Android項目中自定義頂部標題欄下面給大家詳細介紹android中自定義頂部標題欄的思路及實現方式 先來圖: 思路及實現步驟 1.定義
Android apk動態加載機制的研究(二):資源加載和activity生命周期管理
前言 為了更好地閱讀本文,你需要先閱讀Android apk動態加載機制的研究這篇文章,在此文中,博主分析了Android中apk的動態加載機制,並在文章的
android:Activity數據傳遞之對象(Serializable)
Activity數據傳遞之基本數據類型在這篇文章中,我寫了通過putExtra()方法在activity之間傳遞基本數據類型但是如果我們想傳遞對象還用這種方法會發現報錯,