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",
        };


2012年6月6日 星期三

mysql select latin1 編碼格式

直接在 phpmyadmin 使用 select 語法顯示出正常字串而非亂碼

latin1 to utf8 顯示文字內容

select CONVERT ( CAST ( `row_value` as BINARY )  USING utf8 ) as row_value from DB_TABLE

latin1 to big5  顯示文字內容

select CONVERT ( CAST ( `row_value` as BINARY )  USING utf8 ) as row_value from DB_TABLE

DB_TABLE資料表中 row_value 欄位使用 latin1 的編碼格式存檔 , 使用上例語法可直接將 latin1 轉成
需要的編碼格式在 phpmyadmin 真接顯示其內容 , 免改設定檔

參考資料 :
http://nicj.net/mysql-converting-an-incorrect-latin1-column-to-utf8/ 


phpmyadmin

libraries/select_lang.lib.php
$mysql_charset_map 
更改 utf-8 為  'utf-8' => 'latin1'  即可匯出 latin1 為正常顯常中文


2012年1月10日 星期二

ckeditor 增加字型

檔案
ckeditor/ckeditor.js
行數 50
找到 Geneva, sans-serif
在後面加入所要字型 ,字型分隔為 ;  如
{顯示字型} / {使用的字型} or
{字型}
範例 1
Geneva, sans-serif ;新細明體;標楷體
範例 2
Geneva, sans-serif ;新細明體/新細明體 , sans-serif;標楷體  / 標楷體,sans-serif

存檔 , 即完成加入字型動作


ckeditor 3.6.x 版使用

ckeditor/config.js

加入config 資料

CKEDITOR.editorConfig = function( config )
{

 
config.font_names ='Arial/Arial, Helvetica, sans-serif;Comic Sans MS/Comic Sans MS, cursive;Courier New/Courier New, Courier, monospace;Georgia/Georgia, serif;Lucida Sans Unicode/Lucida Sans Unicode, Lucida Grande, sans-serif;Tahoma/Tahoma, Geneva, sans-serif;Times New Roman/Times New Roman, Times, serif;Trebuchet MS/Trebuchet MS, Helvetica, sans-serif;Verdana/Verdana, Geneva, sans-serif;新細明體;標楷體;微軟正黑體' ; // 為加入額外字體 

}