跳到主要內容

發表文章

目前顯示的是有「Java」標籤的文章

Android 檢查GPS

首先要記得有取得GPS的權限 <uses-permission android:name= "android.permission.ACCESS_FINE_LOCATION" /> 才能檢查GPS有無開啟的狀態 public boolean isGPSEnables () { LocationManager locationManager = (LocationManager) getSystemService(Context. LOCATION_SERVICE ); return locationManager. isProviderEnabled (LocationManager. GPS_PROVIDER ); } 純粹紀錄一下檢查GPS有無開啟的程式碼~

Java Semaphore 用途

老實說,這是第一次接觸到 Semaphore 之前也從來沒使用過,但當使用到他的時候才發現 在多執行緒時的控制,如果想要在某個情況下一次只執行一個執行緒(其實就是想做Lock動作) Semaphore 可以省下許多事情啊!以下列出簡單的範例code protected Semaphore isLock = new Semaphore( 1 ); // 限制同時只有1個在執行 ... new Thread ( new Runnable() { @Override public void run () { try { for ( int i = 0 ; i < 5 ; i++) { isLock. acquire (); // 會先印出open run1接著要等isLock.release(),才會再繼續印出 open run2 Log. e ( "Test" , "open run" + i); } } catch (Exception ex) { isLock. release (); } } }). start (); ... Button release = (Button)findViewById(R. id . release ); release. setOnClickListener ( new View. OnClickListener () { @Override public void onClick (View v) { isLock. release (); // 按下按鈕後才會繼續執行 } }); 參考資料: Semaphore

System.out與System.err

之前很少去注意這兩個輸出的差異,想說如果用IDE顯示的話,用System.err會是紅字,但他們細節差異,卻完全不大清楚,因此就去找一些相關資訊! 在標準輸出與錯誤輸出這兩種方式,預設都是用螢幕輸出,如果要做更改的話,將輸出寫到檔案,範例如下

簡易N-gram函式 - JAVA版

最近實在太容易用到 N-gram ,因此把自己用Java寫個簡單的N-gram的程式放上來,之後就可以直接copy-paste,因為我還頗懶的XD。 為了方便,所以回傳型態是用ArrayList。 如果不希望有重複字串,那就把回傳型態改成LinkedHashSet吧。

序列化(Serializable)

如果要實作序列化,要確認其成員是否都有實作序列化 實做序列化是因為要有object stream,可將資料直接用object寫入或讀取 public class TestSerializableClass implements Serializable { String Name = "Test" ; }

Collection與Map筆記

Collection -> Iterator -hasNext() -next() -remove() Set 不重複,取值要用foreach HashSet 最基本的set,與輸入順序不同(why?) LinkedHashSet  與輸入順序相同 TreeSet 自動排序 List 可重複 -> ListIterator較Iterator多了往前走的機制 -hasPrevious() -previous() ArrayList 最基本的list Vector 有thread save機制 Map name value pair HashMap 最基本的HashMap TreeMap 自動排序