發表文章

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

Build.gradle for Cling UPnP library

最近想試試寫個UPnP app在android上,所以用Cling(http://4thline.org/projects/cling/)這個Library。由於想在Android studio直接套用他的Example,所以參考了原來的pom.xml,在build.gradle裡補足一些參數,就交給Gradle管這些套件了。 最主要還是知道了怎麼設一些變數,以及加入Repositories 以下是build.gradle的設定 apply plugin: 'com.android.application' ext {     jettyVersion = "8.1.8.v20121106"     eslf4jVersion = "1.6.1" } android {     compileSdkVersion 21     buildToolsVersion "21.1.2"      defaultConfig {         applicationId "example.upnplight"         minSdkVersion 16         targetSdkVersion 21         versionCode 1         versionName "1.0"     }     buildTypes {         release {             minifyE...

Custom Stories with Open Graph

註:當初寫這篇的時候是2014/09/12,那時Facebook sdk還是3.X,現在(2015/06/25)已更新到4.X版,一些方法需要改寫。 舊: 最近在練習寫android app with Facebook SDK, 想用FB的Custom Stories with Open Graph功能, 讓使用者會自動在動態時報(Timeline)上發佈跟這個app的Story, 照著官網Posting using API calls的範例寫, OpenGraphObject book = OpenGraphObject.Factory.createForPost("books.book"); OpenGraphAction readAction = OpenGraphAction.Factory.createForPost("books.reads"); 其中的object("books.book")和action("books.reads")都是FB原本提供的。 想說來用自己定義的story (action是Take ,object是 Bus), 卻不知道createForPost裡的參數分別要填什麼, 填了("take")和("bus")都不行, 找了好久, 注意到books.book(FB提供)和take(自定義)這兩個action的Graph API URL不一樣, 才知道原來要加app的Namespace。 例如這個app的namespace是xx-yy, 那想用自己定義的action和object, 就是要填("xx-yy:take")和("xx-yy:bus")。 更新(2015/06/25): 原本的寫法是OpenGraphObject、OpenGraphAction配合RequestBatch,但到了4.X,這三個類別被替換掉了 而發佈custom stories 也變更簡單 根據官網範例,變成: // Create an object ShareOpenGraphObject object = new ShareOpenGra...

Requires ACCESS_MOCK_LOCATION secure setting

紀錄一下: 在執行有使用到Mock Location的app時,出現  E/AndroidRuntime(889): Caused by: java.lang.SecurityException: Requires ACCESS_MOCK_LOCATION secure setting 雖然AndroidManifest裡已有設定權限了,這問題還是存在。    原來使用實體手機驗証時,需要把開發人員選項裡的 "允許模擬位置"打開才行。

compile vlc on android

https://wiki.videolan.org/AndroidCompile/ 紀錄一下遇到的問題: 1. 第一次進行sh compile.sh 時,出現 Archive:  gradle-2.2.1-all.zip   End-of-central-directory signature not found.  Either this file is not   a zipfile, or it constitutes one disk of a multi-part archive.  In the   latter case the central directory and zipfile comment will be found on   the last disk(s) of this archive. unzip:  cannot find zipfile directory in one of gradle-2.2.1-all.zip or         gradle-2.2.1-all.zip.zip, and cannot find gradle-2.2.1-all.zip.ZIP, period. 在資料夾底下 都會有一個未完整的gradle-2.2.1-all.zip,爬了一下文http://metalkin.tistory.com/82 雖然說是韓文...但大概可以猜到怎麼解 修改 compile.sh at Line 81: wget ${GRADLE_URL} 2>/dev/null || curl -O ${GRADLE_URL} =>wget ${GRADLE_URL} 2>/dev/null || curl -O -L ${GRADLE_URL}