2013年7月18日 星期四

[Android][Facebook][中文化] Facebook SDK for Android Tutorial - Personalize

2 - Personalize


這個教學列出使用 Facebook SDK for android 如何個人化你的app 經驗的大綱。個人化則藉由顯示使用者的 profile 裡的照片與名子來達成。
  • 使用 Request,   來建構一個使用Facebook API calls 的單一要求 。 需要被授權的使用者的一個request, 它必須在一個 open Session 被傳遞。Request 也可以是匿名的, 這是說它們並不一定需要一個使用者來授權。 在這個例子裡, 沒有  Session 需要被定義出來。當一個Request 被完成時, 假如有需要的話 , Facebook SDK 將在background 裡延展 access token 。 
  • Response 封裝了來自Facebook API call 的 response
  • ProfilePictureView 是一個顯示profile 照片的客製化 view 
  • GraphUse 是一個 提供一個強烈樣式表現的介面


你將會使用這些class 跟 interface 來獲取使用者的基本資訊以用來個人化你的 app。 你將使用一個 屬於 Request class 叫做 newMeRequest() 的靜態的方法呼叫程序。 這個方法會回傳使用者的資料。 當設定好 request , 你將定義一個 callback 來處理回復。這個回復是一個 GraphUser 種類的物件。你也將處理被傳回的使用者物件, 然後使用ProfilePictureView 顯示出使用者 profile 的照片,使用 TextView 顯示使用者的名子。

這個教學帶領你走過
  • 步驟 1 : 設定使用者介面
  • 步驟 2 : 展示使用者資訊
  • 下一步
  • 相關範例
注意: 在你開始這個個人化的 app 前, 確認你已經設定好授權了。

步驟 1 : 設定使用者介面


2013年7月16日 星期二

[Android][Facebook][中文化] Facebook SDK for Android Tutorial - Authenticate with Facebook Login 中文化

Authenticate with Facebook Login

前言: 

標題連結是 fackbook 官方的教學, 十分詳細。 我在邊練習範例的過程中將其中文化, 如有翻譯上的問題,還望指教。練習這個範例前, 別忘記 facebook 的 APP 註冊以及Project 相關的設定。 以下為Project 設定簡述:

1. 在 strings.xml,  加入app_id <string name="app_id">xxxxxxxxxxxxxxxxx</string>
2. 在 AndroidManifest.xml 加入 use permission , meta-data 與一個 facebook 的 activity
     *android.permission.INTERNET
     *加入  'Meta Data'  其 Name :  com.facebook.sdk.ApplicationId, 其 value : @string/app_id
     *加入 'Activity' 其 Name:  com.facebook.LoginActivity
可以參考我上篇文 :  Facebook SDK 安裝以及使用

[Android] Facebook SDK 安裝以及使用


主要參考 Facebook 的教學  Getting Started with the Facebook SDK for Android

因為我已經裝了 Eclipse 與 ADT, 就從下列步驟開始 -

1. 下載 facebook sdk 並請 import 到 project 裡

按 Getting Started with the Facebook SDK for Android Step 2 的 download Link 會自動開啟下載連結

2. 安裝 FBAndroid  APK 再裝置裡

我是到 Android 安裝目錄下的 plateform-tool 打 adb install  檔案路徑(FBAndroid-2.1.apk )


3. 獲取 sha1 key


2013年6月18日 星期二

[Android] Android ADT 22 升級後舊 project 無法執行

這一兩天突然的幾乎所有在 workspace 的 projects 都出現了問題, 出現問題的癥狀還不止一種, trace 個別問題讓人好頭大. 從新安裝了好幾次, 都沒有用。2 天的產值就報銷了 TAT ... 本來以為是自己為了讓 Google play 商店在 emulator 上 run 搞壞了系統。 2 天後才發現原來應該是 ADT 22 的問題。 (哭~ )

收集一下相關資訊等等解決 -
*1.  Official 公告
*2 .  簡易版本
*3. 中文版好用板
-------------------------------------------------------
雖然最後終於成功了!  我這個 Project 使用到 google play service  與 support v4, 因為這樣多了點波折。

有幾個關鍵點寫出來 :
1. ADT 22 根據 (1) 所說, 第三方 的 lib 都會被 Eclipse 放置在 Private Libraries  下,而 Referencing Library 則會放置在  Dependencies 裡。如果沒有使用到第三方 Library 的, ADT 22 造成的問題 , 網友們大部分只check private libraries 就行了。 之後當然要 clean & rebuild


注意: 之前有手動加的 lib 要手動去除 . 我之前手動加 google play service 與 support v4 的 lib , 所以把這兩個去掉了。 但是這兩個其實是存在的, 在 Private Libraries 下。

2. Google Play Service 事實上這次也升級了, 所以在 project 裡也要升級。就是使用 eclipse 將整個 project 從 workspace 刪掉,再重新 import 進來。

3. Clean 有時會出問題 , 如果有這樣的問題將 bin 整個殺掉, rebuild 。 bin 裡面去看有 gms 的 class

4. Properties => Android 裡還是如同以前一樣要加 google-play-service lib

5. google-ply-service lib 記得也要 check private libraries 跟 rebuild




--------------------------------------------------------------------------
Error Msg
Unable to start activity ComponentInfo
ClassNotFoundException
。。。。






-----------------------------------------------------------
等等, 怎麼出了個  Android Studio IDE 呀~
原來Eclipse 要被丟棄了呀。。。



2013年6月17日 星期一

[Android] Facebook apk crash at login in android emulator

Facebook 在 emulator 上異常終止
為了使用 Facebook 分享功能, 於是需再 android emulator 上安裝 facebook. 不過一到 login 就異常終止。  追蹤的原因的過程有點長, 就不詳述。  關鍵是我emulator 上有安裝 Google play service 。這個 apk (com.android.vending) 導致 facebook 一直 crash。 查了一下網路, 看到一篇 Church Tech 的文章, 說是,不從 google play 下載的 apk, googleplay 會讓他 crash 掉 >.<
Google Crashes Facebook Home’s Easy Updating Party, Now Requires All Play Apps To Be Updated Through The Play Store

我覺得這個蠻有可能的是原因的。

2013年5月15日 星期三

[Android Map] Change Location of Emulator

See the Article
http://developer.android.com/guide/topics/location/strategies.html#MockData

HighLight


Using the "geo" command in the emulator console



Step1: 執行 cmd 
    執行 cmd ,  cd 到 Android SDK 下的 tools   ie:  C:\Android\tools


Step2: 連上 emulator
     telent localhost 5554 
     5554 是 emulator 的 port , 通常會顯是在 emulator 後面。 
    可用 help 看一下 commands
   

2013年5月13日 星期一

[Android] MyTracks Notes (1)


AbstractMyTracksActivity

*public abstract class AbstractMyTracksActivity extends FragmentActivity 

*onCreate()
         1.  SpeechEngine 的 setup
               setVolumeControlStream(TextToSpeech.Engine.DEFAULT_STREAM);
         2. 一個個不同api 版本的不同設置 actionbar 與 home 鑑
             * ApiAdapterFactory.getApiAdapter().hideTitle(this)
             * ApiAdapterFactory.getApiAdapter().configureActionBarHomeAsUp(this);
         
         3. setContentView