行動設備使用Location定位服務越來越火紅,很多人都有很多有趣的想法,像是利用Location查詢所在位置四週的商家資訊、將照片置入所在位置的經緯度方便分享及記錄、還有隨時可以追蹤好友所在位置等等等許多服務。雖然有了定位資訊,可是少了一個展示的平台,Google Map就是一個很好用又免費的元件,可以把經緯資訊展示出地圖資訊,方便閱讀及應用。
在android開發環境上要使用google map這個元件,並無法直接拖拉元件至畫面上,需要申請一組api key,然後設定到Layout資源檔裡,以下範例簡單的說明如何申請一組google map api key及設定Layout檔main.xml。
參考資料Location and Maps | Android Developers
1.如何申請指紋碼
要向Google申請服務的指紋碼,需要先在本機端產生MD5的指紋證書,再利用這個證書產生指文碼。
如何產生指紋證書呢?只需要在jdk的安裝路經bin目錄下,輸入
keytool -genkey - v -keystore 名稱.keystore
其中”名稱.keystore"請自行設定喜好的名稱,再來畫面會要求你輸入一些基本資訊,大概內容如下圖,密碼部份這個範例為test123。名稱姓氏、單位名稱、組織名稱、城市或地區名稱、州及省份名稱、國碼

詳細文章
這是很多在學習Java都會遇到的作業,常在各大論談都有人提出,不過即然是作業了,應該自己學習來的好,可是老師一成不變的作業也說不過去是吧,這裡就提供了數種老師常會用來當作業的迴圈習題,像是印1 2 3 4 5 ,或是印* 星號等,有遇到就再補上。
印出1到5,5到1的數列,每一行內容為1到該行的數字長

利用數學式子,運算出1-5及5-1二種不同方向的數,再利用另一個迴圈印出該行的數列長,其中(i+1)/5 是取除5的整數,而(i + 1) %5 是取5的餘數。
程式碼如下:
for(int i = 0 ; i < 9; i ++)
{
int d = java.lang.Math.abs((i +1)/5 *5 - (i +1)%5);
System.out.print(" ");
for(int j = 0 ; j < d ; j ++)
{
System.out.print(j+1);
}
System.out.println();
}
詳細文章
這是一個超簡單的Client Server範例,Server部份利用Thread來常駐執行,而Client利用Socket去連接指定的port,送出一個字元組給OutputStream,而Server接收到請求後,使用InputStream來取得資料。
這裡有篇介紹Socket Server的原理Thread應用-Java SocketServer,還有一篇傳送物件Serializable序列化Socket傳送範例,這篇算是比較進階。
程式碼包裝在jar裡,利用二個command視窗,一個執行Server一個執行Client,結果如下:

原始碼及jar下載:
詳細文章
剛好有個網友提到如何利用Servlet來產生縮圖,利用Servlet來產生而不存放成檔案,這種及時取得圖像的方法,比較不建議使用在需要大量輸出圖的狀況下,這樣子在記憶體的使用上會很重。
而為什麼使用ImageMagick來做縮圖呢?其實Java本身也可來製做縮圖,可是因為本身浮點運算的問題,效果並沒有很好,雖然麻煩了點,還是外掛dll來使用ImagicMagick會來的好。
JMagick ImageMagick等介紹及下載請參考:
JMagick-Java open source free影像壓縮
範例的結果:

詳細文章
String是一個比較特別的資料型態,它是一個物件類別( Object ),基本型態所對應的物件類別,可直接給於相同類型的值,而不需使用new來產生物件,而String資料型態跟基本型態一樣可以直接給於值,不過String沒有相對應的基本型態。
String在使用上十分普遍,大部份的資料型能都可以變成String存放。String本身是字串是使用utf8格式存放的,所以在計算字元時,一個中文字跟一個英文字都是算1,這點是跟其它程式語言不太一樣的。

詳細文章