今天嘗試了一下使用網(wǎng)易微博的開(kāi)放平臺(tái),在Android上開(kāi)發(fā)應(yīng)用。把用于Java的SDK下回來(lái)之后,用起來(lái)還有一些問(wèn)題。不過(guò)后來(lái)都解決了。
下面把整個(gè)過(guò)程記錄在些,給有需要的朋友。
1、到http://open.t.163.com/wiki/index.php?title=Sdk#Java把SDK下載回來(lái)。 我們注意到,SDK包里是源代碼。
2、到http://open.t.163.com/apps/new 新建一個(gè)應(yīng)用,以得到咱這個(gè)應(yīng)用的consumerKey和consumerSecret。
3、用Eclipse新建一個(gè)Android工程。注意Android版本要選2.X的。把第一步下回來(lái)的SDK中src文件夾下的內(nèi)容放到Android工程的src目錄下。
4、配置buildPath,將SDK中l(wèi)ib下的jar包添加到Android工程中。(如何配置buildPath就不詳說(shuō)了吧)
5、完成這些以后,HttpClient類(lèi)中還是報(bào)錯(cuò),找不到j(luò)avax.activation.MimetypesFileTypeMap這個(gè)。這時(shí),到http://www.jar114.com/ 這個(gè)網(wǎng)站去搜索一下javax.activation.MimetypesFileTypeMap是在哪個(gè)包里的,然后把包下載回來(lái),再配置buildPath,把下回來(lái)的包也添加到工程中,這時(shí)就不再報(bào)錯(cuò)了。
6、SDK中,程序的入口是example包中的OAuthGetToken類(lèi),但咱現(xiàn)在是Android應(yīng)用,入口在Activity里,所以咱把OAuthGetToken類(lèi)中Main方法的方法體都拷到咱Android工程里的自己的Activity的OnCreate方法里。
7、上一步拷貝的代碼中,咱要把
System.setProperty("tblog4j.oauth.consumerKey",
"");
System.setProperty("tblog4j.oauth.consumerSecret",
"");
這里設(shè)上第二步獲取到的consumerKey和consumerSecret。
8、在AndroidManifest文件中添加訪問(wèn)互聯(lián)網(wǎng)的權(quán)限設(shè)置。
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
9、看起來(lái)差不多了吧,運(yùn)行一下一堆的錯(cuò)誤。我找了下原因,發(fā)現(xiàn)程序里面用到了Property文件,現(xiàn)在這個(gè)文件在src文件夾下,但在Android里,Property文件放在這里它是讀不到的。所以把src下的t4j.properties文件放到assets里。這時(shí)我們?cè)L問(wèn)的路徑也要改。
10、找到t4j包下的Configuration類(lèi)的81行。
將loadProperties(defaultProperty, Configuration.class.getResourceAsStream("/" + t4jProps));
改成loadProperties(defaultProperty,Configuration.class.getResourceAsStream("/assets/" + t4jProps));
11、這個(gè)時(shí)候,我們來(lái)把調(diào)用方法的流程理一理。
第一步,生成一個(gè)驗(yàn)證我們應(yīng)用的URL,容易想到,這個(gè)URL里攜帶了應(yīng)用的標(biāo)識(shí)信息
第二步,調(diào)用瀏覽器訪問(wèn)這個(gè)URL,在頁(yè)面中,用戶(hù)設(shè)置允許我們的應(yīng)用訪問(wèn)他的賬號(hào)。設(shè)置以后,163保存了這種允許的狀態(tài)。
第三步,設(shè)置完成后,用戶(hù)退出瀏覽器,回到我們的應(yīng)用,我們的應(yīng)用再通過(guò)調(diào)用SDK去163那里獲得AccessToken。
第四步,使用AccessToken,我們就可以調(diào)用SDK中的任意方法了,譬如驗(yàn)證用戶(hù),獲取微博列表等。
下面我完成的這個(gè)例子的效果是,一進(jìn)到應(yīng)用,點(diǎn)擊按鈕去驗(yàn)證,驗(yàn)證完后,用戶(hù)退出瀏覽器,應(yīng)用顯示用戶(hù)的微博用戶(hù)名。
上代碼:
上圖:



posted on 2012-03-25 20:25
mixer-a 閱讀(757)
評(píng)論(0) 編輯 收藏