2011年4月19日 星期二

在 GAE Java application 中使用 Jackson Json 進行 Java object - Json object 轉換

Json 格式一直都算是主流的資料交換格式之一 , 以下分享一下自己在操作 Json - Java 轉換用到的 package 以及相關程式碼的撰寫

下載 Java app engine datastore 上的 data 回 desktop

這篇主要紀錄 Java GAE application 開發者如何將 GAE datastore 裡的資料下載回本地端 ,
並且儲存成易讀的格式 (ex: 可以用 excel 開啓的 .csv 格式)的方法


2011年4月16日 星期六

Android application 中 global 的 data 的處理

開發 Android applications 時我該如何儲存 global 的 data ? 使用平常在開發 Java 時的 singleton pattern 好嗎? 我的 activity 須要跟背景的 service 要資料來更新 UI , 該怎麼作?

2011年4月15日 星期五

2011年4月11日 星期一

Location acquisition on Android

Location / Context Aware Computing 自90年代開始被廣泛的討論與研究
在 Android 的平台中 , google 提供了兩種獲取 location 資訊的管道
第一個是大家平常較為熟知的 GPS , 然而這裡要分享的則是透過 Wifi 的
Network Location Provider

動作摘要
1. 取得 LocationManager 的 instance
2. 撰寫聽取相關事件的 Listener
3. 註冊事件

// Acquire a reference to the system Location Manager
LocationManager locationManager = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE);

// Define a listener that responds to location updates
LocationListener locationListener = new LocationListener() {
public void onLocationChanged(Location location) {
// Called when a new location is found by the network location provider.
makeUseOfNewLocation(location);
}

public void onStatusChanged(String provider, int status, Bundle extras) {}

public void onProviderEnabled(String provider) {}

public void onProviderDisabled(String provider) {}
};

// Register the listener with the Location Manager to receive location updates ,
// 第2,3個參數用來控制update的頻率
locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, locationListener);

另外必須獲取權限如下:
  1. <manifest ... >
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    ...
    manifest>