GAE 使用 Google Calendar (使用AuthSub認證)

31 May 2010









如果想要使用Google Data API,在Google中有幾種認證提供選擇!

在這裡利用AuthSub來做說明!!

在Google App Engine中使用Google行事曆!

首先我們必須先去申請AuthSub!


然後必須先AddDomain!

這邊我們加入了一個Domain為: ken-note.appspot.com

注意:一定要是根目錄!不能是: ken-note.appspot.com/login

新增成功後呢!

Google必須驗證此Domain的擁有權是否為你的!

有三種新增方式:


  1. 中繼標記    (就是把code放在head之中)
  2. 上載HTML檔   (Google會提供一個HTML檔案,把它上傳至gae後,按驗證即可)
  3. 新增DNS記錄     (因為一定要是domain的擁有人才可以新增,我們不是appspot.com的擁有人,因此不能新增)
這邊我們用第一個例子來做說明!

只要在您首頁的header加入meta,譬如是:index.jsp

如:

<head>
<meta name="google-site-verification" content="bHmA4RSzJdTse8mArcUO47g0rLfAYTOjxsq9E7i6sog" />

</head>


接著上傳上去以後,回到驗證擁有權的頁面!

按下驗證,驗證成功後

會到下個頁面去

如圖































在上圖的紅色方塊中,我們需填入我們需要對Google行事曆作操作的page..

在這個例子就是http://ken-note.appspot.com/select/calendar

接著按下save即可!!

申請工作就完成了!!


接著就來寫CODE了!

打開你的eclipse吧!!

首先必須先產生一個連結!

讓使用者點選!

點選以後會到一個頁面(Google給您的)來做確認是否要存取行事曆!

那段CODE如下


<%

String strUrl= AuthSubUtil.getRequestUrl("http://ken-note.appspot.com/select/calendar","http://www.google.com/calendar/feeds/",false,true);

String strLink = "<a href=\"" + strUrl + "\" "+onclick+">點選此處登入Google行事曆。</a>";

%>

<%=strLink %>



AuthSubUtil.getRequestUrl(填入如在驗證擁有權的page,填入要存取的服務,false,true);



接著就來寫對google行事曆作操作的code!

就是該/select/calendar page


 
CalendarService cs = new CalendarService("test"); //先create一個Calendar Service的Object

String token = AuthSubUtil.getTokenFromReply(request.getQueryString()); //接著要取得token,token是google回傳給您的

token = AuthSubUtil.exchangeForSessionToken(token, null); //進行轉換的動作!

cs.setAuthSubToken(token);

java.net.URL feedUrl = new java.net.URL("http://www.google.com/calendar/feeds/default/allcalendars/full");

CalendarFeed resultFeed = cs.getFeed(feedUrl, CalendarFeed.class); //進行連線



for (int i = 0; i < resultFeed.getEntries().size(); i++) {

CalendarEntry entry = resultFeed.getEntries().get(i);

response.getWriter().print(entry.getTitle().getPlainText()); //取得行事曆的內文,entry(CalendarEntry)底下有很多method,大家可以自行試試看

 

}



照著上列步驟操作即可完成對Google 行事曆作操作了!

















read more »


android 刪除 process

28 May 2010

 一般來說在ANDROID!

如果你按下返回按鍵!

或者按下HOME那顆按鈕!

雖然程式看似被關閉了!

但其實他的process還是存在的!

要怎麼徹底砍掉該process呢?

如下段CODE!




@Override
protected void onDestroy() {
super.onDestroy();
android.os.Process.killProcess(android.os.Process.myPid());
}





如果是在AVD裡面想要看是否真的有砍掉的話!

可以用ddms來觀看!

在你的sdk/tools/目錄底下!

打開後,可以按Device->Show process來觀看喔!


如果是在真實手機!

那就請去下載一些task的app吧!











read more »


android button background 效果

21 May 2010



如果想在android製作不同的button效果!

要先建立一個自己取檔名.xml(這裡暫取button_style)檔!放在drawable底下!

並且準備三張button的圖片!

建議使用9-patch產生的圖片!這樣比較不會失真!

至於如何用9-patch就看之前的教學文章吧!

這三張圖片一樣放在drawable底下!



button_style.xmll格式如下



<?xml version="1.0" encoding="utf-8"?>    
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:state_pressed="true"android:drawable="@drawable/button_pressed" />

    <item android:state_focused="true" android:drawable="@drawable/button_focused" />

    <item android:state_focused="false" android:state_pressed="false" android:drawable="@drawable/button_normal" />

</selector>



android:state_focused="false" android:state_pressed="false"
意思是button預設的樣子!既沒有受到焦點、也沒有被按的狀態下的樣子!

android:state_focused="true"
意思是當button被焦點時的樣子!

android:state_pressed="true"
意思是當button被按下時的樣子!


接著在main.xml中的button的屬性裡加入一個屬性!
把button的background設為我們剛剛為它特別設計的樣式!

這樣就可以為你的BUTTON設置特別的效果喔!

android:background="@drawable/button_style"










read more »