2010年12月16日 星期四

SQL Console

SQL Console可以從手機直接連接至資料庫,只要登入的權限足夠即可以執行相關的SQL指令並取得目前資料庫所有的TABLE與VIEW,且及時的從螢幕上得到結果,且可以匯出該查詢的結果至SD卡.
支援: MS SQL Server , MySQL , PostgreSQL.
之後將會持續更新資料庫種類

2010/12/24
1.新增MSSQL的Procedure列表,並可即時查看原始碼或是匯出至SD卡 /SD/AnySQL Console/MSSQL/Procedure名稱.txt
2.介面修正

2010年9月13日 星期一

哪裡有車位

功能說明:

可以即時讀取"臺北市停車管理工程處"網頁所提供的臺北市公有停車最新的剩餘車位。

點選畫面上的圖示可以得知收費相關資訊,地址,電話 。

"*臺北市停車管理工程處的網頁速度有點慢所以請見諒!!"。

iPhone 的台北愛泊車要收錢,我們Android的通通免費啦!!!

已測試環境:
1.HTC Hero 2.1
2.Motorola Milestone 2.1

2010年8月19日 星期四

Android 多國語系開發方式

Android 多國語系開發方式
1. 複製 res/values 的資料改名成對應的語系資料夾
2. 將文字內容改成該語系即可

支援的語系目錄檔名:
繁體中文: values-zh-rTW
簡體中文: values-zh-rCN
日文: values-ja
英文: values-en
美式英文: values-en-rUS
英式英文: values-en-rUK

2010年8月18日 星期三

燃燒吧,脂肪!!!

燃燒吧,脂肪!是一套跑步專用卡路里計算工具,它能計算每一次跑步所減少的卡路里與距離,並且將累加每次運動所減少的卡路里與距離,所以..大家一起來燃燒脂肪吧!!*作者使用這個軟體之後短短一個半月從86公斤掉到了76公斤,由此證明這個軟體有效,絕對不會像地下電台賣減肥藥一樣誇大不實!!!!

2010年5月1日 星期六

打電話

 button.setOnClickListener(new Button.OnClickListener(){
    @Override
    public void onClick(View v) {
    Intent intent = new Intent("android.intent.action.CALL"
        ,Uri.parse("tel:"+editText.getText().toString()));
    startActivity(intent);
    }
});

記得加這一條

uses-permission android:name="android.permission.CALL_PHONE"

2010年4月29日 星期四

AlertDialog 使用

public class main extends Activity {
    private Button AlertButton;
public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
setContentView(R.layout.main);
        AlertButton = (Button) findViewById(R.id.AlertButton);
  
        AlertButton.setOnClickListener(new Button.OnClickListener() {
            @Override
            public void onClick(View arg0) {
                new AlertDialog.Builder(main.this).setTitle("AlertTest")
                    .setMessage("Alert Body").setPositiveButton("Exit"
                        ,new DialogInterface.OnClickListener() {
                        @Override
                            public void onClick(DialogInterface dialog,int which) {
                                //要做的事情.....
                            }
                    }).show();
               }
        });
}

不同的Activity之間資料的傳遞

//發送端

import andoird.os.Bundle;
....
..
.
public class sendData extends Activity{
    public onCreate(Bundle states) {
        super.onCreate(states);
        setContentView(R.layout.main);
        ......
        ....
        ..
        Intent intent = new Intent();
        intent.setClass(sendData.this, receiveData.class);

        Bundle bundle = new Bundle();
        bundle.putString("Jason","Jason");
        bundle.putDouble("double",9.99d);

        intent.putExtras(bundle);

        startActivity(intent);
    }
}

//接收端


import andoird.os.Bundle;
...
..
.
public class receiveData extends Activity{
    public onCreate(Bundle states) {
        super.onCreate(states);
        setContentView(R.layout.main);
        ......
        ....
        ..
         Bundle bundle = this.getIntent().getExtras();
        String MyName = bundle.getString("Jason");
        double width = bundle.getDouble("double");
    }
}

2010年1月6日 星期三

大陸公民身份號碼驗證規則

大陸的身份證為18位,舊的身份證是15位。
公民身份號碼是特徵組合碼,由十七位數字和一位數字檢核碼組成。

從左至右依次為:
   1.六位數字地址碼。
   2.八位數字出生日期碼。
   3.三位數字流水號。
   4.一位數字檢核碼。

地址碼:
   第01位到第06位表示編碼對象戶籍所在縣應該是指出生地的行政區代碼。
   這裡可以查到所有的行政區編碼中華人民共和國國家統計局

生日碼:
   第07位到第14位表示編碼對像出生的年、月、日,當然是用西元年四碼
範例:1978年02月01日就用19780201。

流水號:
   第15位到第17位為同一地址碼內,對同一天出生的人員編定的流水號。
   第17位奇數分給男性,偶數分給女性。跟台灣的身分證字號類似。
   對岸大陸目前的出生率有這麼低嗎??

校驗碼:
   第18位是根據前面十七位數字,計算出來的檢核碼。

   第18位數字的計算方法為:
      1.將前面的身份證號碼17位數分別乘上一組係數。
         係數:7910584216379105842
      2.將這17位數字和系數相乘的結果加總。
      3.將第二步驟的機總數字除以11取餘數。
      4.餘數級代表核驗碼的Index 核驗碼10,X,9,8,7,6,5,4,3,2

程式碼:


    public static boolean isPRCId(String cId) {
        boolean isPRCId = false;
        //改為大寫
        cId = cId.toUpperCase();
        //長度檢查
        if (cId.trim().length() != 18) {
            return false;
        }

        //數字檢查
        //前17碼必須為數字
        for (int i = 0; i < cId.length() - 1; i++) {
            char c = cId.charAt(i);
            if (c < '0' || c > '9') {
                return false;
            }
        }

        //生日碼檢核
        if (isACDay(cId.substring(6, 14)) == false) {
            return false;
        }

        //計算係數
        int[] key = {7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2};
        char[] sparate = cId.substring(0, 17).toCharArray();
        int[] value = new int[17];
        for (int i = 0; i < 17; i++) {
            value[i] = Integer.parseInt(String.valueOf(sparate[i]));
        }

        int nValue = 0;
        for (int i = 0; i < 17; i++) {
            nValue = nValue + (key[i] * value[i]);
        }

        int cIdLastValueIndex = 0;
        cIdLastValueIndex = nValue % 11;
        String[] cIdLastValue = {"1", "0", "X", "9", "8", "7", "6", "5", "4", "3", "2"};

        if (cId.substring(17).equals(cIdLastValue[cIdLastValueIndex])) {
            isPRCId = true;
        } else {
            isPRCId = false;
        }
        return isPRCId;
    }