Android studio 2.2 初體驗 & 玩 face book sdk

32
Android Studio 2.2.2 初 & 初 FaceBook SDK

Transcript of Android studio 2.2 初體驗 & 玩 face book sdk

Page 1: Android studio 2.2 初體驗 & 玩 face book sdk

Android Studio 2.2.2 初體驗& 玩 FaceBook SDK

Page 2: Android studio 2.2 初體驗 & 玩 face book sdk

學習主題• 社群成立目的簡介• 自我介紹與哈啦• 功力複習• 程式實作 (Android Studio)

• 問題與交流

Page 3: Android studio 2.2 初體驗 & 玩 face book sdk

個人簡介諸葛魔斌工作室:諸葛魔斌科技創作室學歷:高應大 --- 工管系 ( 非資訊科系 )E-Mail : [email protected]官方網站: http://twcts.comFacebook : https://goo.gl/volM7Z粉絲團 : https://goo.gl/LI08wh社群 : https://goo.gl/kjCsz1Line (id) : http://goo.gl/ayGW7dLine@ : http://goo.gl/TxeXkiLine Bot : http://goo.gl/BrdyZlPlay 商店: http://goo.gl/CkVdsdApp Store : http://apple.co/1Qehd64專長: VB(VBA) 、 C# 、 Java(Android) 、 Swift(iOS) 、 PHP 、 Python 、 Conrona(Lua) 、 Golang 、 Unity 、 MySQL 、 FreeBSD 、 Server 架設、 CAD 、 ……

楊政斌

Page 4: Android studio 2.2 初體驗 & 玩 face book sdk

Android Studio 2.2 初體驗 & 玩 FaceBook SDK

Android 2.2 改版注意事項增強的 Layout 版面設計器Layout 設計的介面更豐富了,有更多且更方便的功能介面,如下圖 :

也推出更有彈性的 ConstraintLayout ,大大提高 Layout 設計的彈性,可降低因為使用了多層Layout 的複雜度,這個是一定要先學會的項目,還有新的屬性視窗

Layout 設計的介面更豐富了,有更多且更方便的功能介面,如下圖 : 也推出更有彈性的 ConstraintLayout ,大大提高 Layout 設計的彈性,可降低因為使用了多層 Layout 的複雜度,這個是一定要先學會的項目,還有新的屬性視窗

Page 5: Android studio 2.2 初體驗 & 玩 face book sdk

Android Studio 2.2 初體驗 & 玩 FaceBook SDKAndroid 2.2 改版注意事項

Gradle 編譯速度加快了Gradle 版本昇級至 2.14.1 ,為配合新版的 Instant Run 功能,如果由舊版 (Android 2.0 或 2.1) 昇級到 2.2 時,會建議將目前環境的 Gradle 版本昇級為 2.14.x ,如下圖 :

Instant Run 更快了自從首次推出 Instant Run 後,不斷的加強其穩定性,並增加支援更多的程式修改後立即能反應在執行的模擬器中,不論是穩定性或速度都有明顯的進步。

Page 6: Android studio 2.2 初體驗 & 玩 face book sdk

Android Studio 2.2 初體驗 & 玩 FaceBook SDK

Android 2.2 改版注意事項Espresso , Android 的 UI 測試建立專案時已自動加上 Espresso 套件等設定,再不用它真的可惜了, Espresso 是為了 Android UI測試所開發的一套類別庫,現在不需要額外手動加入設定值,直接就能夠開始設計 UI 測試案例了。

Page 7: Android studio 2.2 初體驗 & 玩 face book sdk

Android Studio 2.2 初體驗 & 玩 FaceBook SDK

Android 2.2 改版注意事項更方便的是 Espresso 錄製器 ( 實驗性質 ) ,大大簡化了原本得先學習如何使用 Espresso 方法的步驟,直接將動作錄製下來,自動轉換為程式碼,如下 :

Page 8: Android studio 2.2 初體驗 & 玩 face book sdk

Android Studio 2.2 初體驗 & 玩 FaceBook SDK

Android 2.2 改版注意事項模擬器支援 Sensor新版模擬器多了 Virtual sensors 功能項目,原本需要實機才能測試的感應器、移動加速器、多軸感應等都在這了 :

Page 9: Android studio 2.2 初體驗 & 玩 face book sdk

Android Studio 2.2 初體驗 & 玩 FaceBook SDK

Android 2.2 改版注意事項另外,也增加 APK 檔案的分析工具,可以在佈署前檢查 APK 檔案中的結構,還能比對兩個 APK 之間的差異。現在也能夠直接在 Android Studio 中開發 C++ ,以 CMake 或 ndk 方式編譯、開發,看到這裏,應該對新版 2.2 產生很大的好奇心吧 ? 原已安裝了舊版 2.x 的人,可直接在功能表的 Help/Check for update 取得更新檔。還未安裝的人,可至官網下載安裝 :https://developer.android.com/studio/index.html

Page 10: Android studio 2.2 初體驗 & 玩 face book sdk

Android Studio 2.2 初體驗 & 玩 FaceBook SDK

Android 2.2 改版注意事項SDK 6.0 以後的版本,須加入特殊權限 (危險權限 ) 管制,權限分為兩大類型,一般權限 (Normal Permission) 與危險權限 (Dangerous Permission) ,這兩種權限同樣都要在 AndroidManifest.xml 中使用<uses-permission>宣告,不同的是,危險權限除此之外,在執行應用程式時,如果程式碼中存取了危險權限,還會出現請求權限的對話框,要求使用者允許存取資料危險權限依照功能分為以下幾個組別:

CALENDAR 日曆CAMERA 照相CONTACTS 聯絡人LOCATION 位置MICROPHONE 麥克風PHONE 電話SENSORS 感應器SMS 簡訊STORAGE 儲存

http://litotom.com/2016/05/15/android-6-permission/

Page 11: Android studio 2.2 初體驗 & 玩 face book sdk

Android Studio 2.2 初體驗 & 玩 FaceBook SDK

Android 2.2 改版注意事項 --- AndroidManifest.xml 設定使用權限

c

Page 12: Android studio 2.2 初體驗 & 玩 face book sdk

Android Studio 2.2 初體驗 & 玩 FaceBook SDK

Android 2.2 改版注意事項 --- MainActivity.java 設定使用權限

c

c

Page 13: Android studio 2.2 初體驗 & 玩 face book sdk

Android Studio 2.2 初體驗 & 玩 FaceBook SDKFaceBook SDK :

1. 申請 FaceBook 開發者帳號 https://developers.facebook.com/

2. 建立應用程式3. 建立 Android 專案4. 設定 AndroidManifest.xml & build.gradle & strings.xml

5. 完成佈局檔和程式檔6. 取得金鑰雜湊7. 完成 Android 專案

Page 14: Android studio 2.2 初體驗 & 玩 face book sdk

Android Studio 2.2 初體驗 & 玩 FaceBook SDK申請 FaceBook 開發者帳號 https://developers.facebook.com/

確認原個人帳號註冊轉為開發人員帳號

c

Page 15: Android studio 2.2 初體驗 & 玩 face book sdk

Android Studio 2.2 初體驗 & 玩 FaceBook SDK 建立應用程式

c

c

Page 16: Android studio 2.2 初體驗 & 玩 face book sdk

Android Studio 2.2 初體驗 & 玩 FaceBook SDK 建立應用程式

c

記住應用程式編號

Page 17: Android studio 2.2 初體驗 & 玩 face book sdk

Android Studio 2.2 初體驗 & 玩 FaceBook SDK 選擇 Android

Page 18: Android studio 2.2 初體驗 & 玩 face book sdk

Android Studio 2.2 初體驗 & 玩 FaceBook SDK

c

填入應用程式名稱

填入 Package Name

使用 OpenSSL 取得或用程式取得

Page 19: Android studio 2.2 初體驗 & 玩 face book sdk

Android Studio 2.2 初體驗 & 玩 FaceBook SDK

開啟終端機,進到專案資料夾執行 pod init ,建立 Podfile 文件編輯 Podfile 文件

插入 FaceBook SDK

編輯 build.gradle

Page 20: Android studio 2.2 初體驗 & 玩 face book sdk

Android Studio 2.2 初體驗 & 玩 FaceBook SDK

編輯 strings.xml

插入 FaceBook App ID

Page 21: Android studio 2.2 初體驗 & 玩 face book sdk

Android Studio 2.2 初體驗 & 玩 FaceBook SDK

編輯 AndroidManifest.xml

開啟 上網權限

引用 FaceBook SDK需注意 FaceBook App ID

Page 22: Android studio 2.2 初體驗 & 玩 face book sdk

Android Studio 2.2 初體驗 & 玩 FaceBook SDK

編輯 activity_main.xml 佈局檔

佈局架構

Page 23: Android studio 2.2 初體驗 & 玩 face book sdk

Android Studio 2.2 初體驗 & 玩 FaceBook SDK

編輯MainActivity.java 程式檔

Page 24: Android studio 2.2 初體驗 & 玩 face book sdk

Android Studio 2.2 初體驗 & 玩 FaceBook SDK

編輯MainActivity.java 程式檔

Page 25: Android studio 2.2 初體驗 & 玩 face book sdk

Android Studio 2.2 初體驗 & 玩 FaceBook SDK

編輯MainActivity.java 程式檔

Page 26: Android studio 2.2 初體驗 & 玩 face book sdk

Android Studio 2.2 初體驗 & 玩 FaceBook SDK

金鑰雜湊未設定或錯誤時之執行結果可複製該行或使用 OpenSSL 程式取得或使用 Java 程式取得

Page 27: Android studio 2.2 初體驗 & 玩 face book sdk

Android Studio 2.2 初體驗 & 玩 FaceBook SDK

理論上以此指令可取得金鑰雜湊,但 FaceBook 不接受

Page 28: Android studio 2.2 初體驗 & 玩 face book sdk

Android Studio 2.2 初體驗 & 玩 FaceBook SDK

使用 Java 程式取得金鑰雜湊

cc

Page 29: Android studio 2.2 初體驗 & 玩 face book sdk

Android Studio 2.2 初體驗 & 玩 FaceBook SDK使用 Java 程式取得金鑰雜湊 : ( 更改 com.you.name 為自己的 Package Name ,此段放在 OnCreate 裡 )

PackageInfo info;try { info = getPackageManager().getPackageInfo("com.you.name",PackageManager.GET_SIGNATURES);for(Signature signature : info.signatures) { MessageDigest md; md =MessageDigest.getInstance("SHA"); md.update(signature.toByteArray()); String KeyResult =new String(Base64.encode(md.digest(),0));//String something = new String(Base64.encodeBytes(md.digest())); Log.e("hash key", KeyResult); Toast.makeText(this,"My FB Key is \n"+ KeyResult , Toast.LENGTH_LONG).show();}} catch(NameNotFoundException e1) { Log.e("name not found", e1.toString());} catch(NoSuchAlgorithmException e) { Log.e("no such an algorithm", e.toString());} catch(Exception e) { Log.e("exception", e.toString());}

Page 30: Android studio 2.2 初體驗 & 玩 face book sdk

Android Studio 2.2 初體驗 & 玩 FaceBook SDK

取得金鑰雜湊

Page 31: Android studio 2.2 初體驗 & 玩 face book sdk

Android Studio 2.2 初體驗 & 玩 FaceBook SDK

填入金鑰雜湊

Page 32: Android studio 2.2 初體驗 & 玩 face book sdk

Android Studio 2.2 初體驗 & 玩 FaceBook SDK