2012年7月10日 星期二

資料存取 SharedPreferences

//資料存檔

import android.content.SharedPreferences;


SharedPreferences save_value = getSharedPreferences(SETTING_PREF, 0);

save_value.edit()
    .putString("string_value",  "String"  )
    .putInt("int_value", 123 )
    .putLong("long_value", 1234L ) // 有L才為Long ,否為 int
    .putFloat("float_value", Float.parseFloat("1.23") )
    .putBoolean("boolean_value", true )
    .commit();

//取出資料

SharedPreferences get_value = getSharedPreferences(SETTING_PREF, 0);

 String get_string = get_value.getString("string_value", "" );
 Int get_int = get_value.getInt("int_value", 0 );
 Long get_long =  get_value.getLong("long_value", 0 );
 float get_float =  get_value.getFloat("float_value", 0 );
 boolean get_boolean =  get_value.getBoolean( "boolean_value" , true );


 //用法 : 可用於onStop 以便下次開啟時使用
   protected void onStop(){
        super.onStop();
        SharedPreferences get_value = getSharedPreferences(SETTING_PREF, 0);         get_value.edit()
        .putString("string_value",  "快速存檔值"  )
        .commit();

   }

2012年7月9日 星期一

長按選單 ContextMenu


 public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        Button button = new Button(this);
        registerForContextMenu(  button  ); //引用長按選單

}

//設定長按選單的option
 public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
       
        menu.setHeaderTitle("title ?"); //設定長按選單標題
        super.onCreateContextMenu(menu, v, menuInfo);
        menu.add(0, 1, 0, "item name 1");
        menu.add(0, 2, 0, "item name 2");
 }


//長按選單的 onclick 動作
public boolean onContextItemSelected(MenuItem item) {

   switch (item.getItemId()) {
        case 1 :
            Toast.makeText( Activity.this , "item name 1", Toast.LENGTH_LONG).show();
        break;

        case 2 :  
            Toast.makeText( Activity.this , "item name 2", Toast.LENGTH_LONG).show();
        break;

   return true;

}




系統Menu選單 onCreateOptionsMenu + SubMenu

//引用系統Menu選單 
public boolean onCreateOptionsMenu(Menu menu) {
      super.onCreateOptionsMenu(menu); 
     //設定 SubMenu 
     SubMenu submenu_1 = menu.addSubMenu(0, 1, Menu.NONE, "submenu_1");  
     SubMenu submenu_2 = menu.addSubMenu(0, 2, Menu.NONE, "submenu_2"); 
      submenu_1.add(0, 1 , 0, "menu 1-1");
      submenu_2.add(0, 2 , 0, "menu 2-1");
     // add ( int groupId, int itemId ,int order , int title ) 
     // add ( 群組 getGroupId , ID  getItemId  , 排序 getOrder ,    標題 getTitle )
     return true;
}
 
//onclick 動作
public boolean onOptionsItemSelected(MenuItem item) {
    super.onOptionsItemSelected(item);
    switch(item.getItemId()){
        case 1 :

        break; 
    }
    return true; 
} 

 
 
 

UI AlertDialog (popup window)

寫法1

new AlertDialog.Builder(this)
        .setTitle("title") // 標題
        .setMessage('content') // 說明內容
        .setPositiveButton("close", null) //關閉按鈕
        .show();

//都需為String 格式


寫法2

 AlertDialog.Builder builder = new AlertDialog.Builder(this);
 builder.setTitle("標題");
 builder.setMessage("內容");
 builder.setPositiveButton("關閉",null); //關閉的動作
 builder.create();
 builder.show();


數值,字串,陣列

數值轉字串
Integer.toString() ;

字串陣列
final String[] string_arr = {
            "array_1",
            "array_2",
            "array_3",
            "array_4",
        };