導航:首頁 > 操作系統 > android新浪微博客戶端源碼

android新浪微博客戶端源碼

發布時間:2024-12-10 11:29:04

⑴ 現在的android版SDK中,進行微博分享必須要通過微博客戶端嗎

本文介紹了如何在Android程序中使用新浪微博提供的AndroidSDK

微博Android平台SDK為第三方微博應用提供了文檔易用的微博API調用服務,使第三方客戶端無需了解復雜的驗證,API調用過程。並可以實現分享到微博的功能,可以分享文字,或者多媒體信息到內置的分享頁面,並發送到微博。

首先我們需要在新浪微博開放平台上進行注冊,之後需要創建一個新的應用,並且需要記下應用的APP key,App Secret Key以及設置應用的回調頁以便我們在程序中進行使用。此外,還需要在應用的高級信息里添加測試用戶的uid,切記切記,否則會出現登陸不成功等怪現象。

接著我們下載微博提供的Android上的SDK,下載地址在這里http。//open。weibo。com/wiki/SDK,選擇AndroidSDK進行下載即可。
使用方法:

首先將下載的sdk進行解壓,並將其導入到eclipse中,接著在你需要使用sdk的android工程中點擊右鍵,屬性,設置library屬性,選中剛才導入的weibosdk即可。如圖所示

然後在你的工程的Manifest文件中,加入以下許可權:

<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>
<uses-permission android:name="android.permission.WRITE_APN_SETTINGS"></uses-permission>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission>

這樣我們就能使用weibosdk了

建立工程以後如何在代碼中使用weiboAPI呢,下面就由我來為大家介紹使用方法:
首先在你需要使用微博的Activity中加入以下代碼:

Weibo weibo = Weibo.getInstance();
weibo.setupConsumerConfig(Constants.CONSUMER_KEY,Constants.CONSUMER_SECRET);
weibo.setRedirectUrl("Your URLhere");
weibo.authorize(this,
listener);
注意代碼中的Constants.CONSUMER_KEY,Constants.CONSUMER_SECRET即是文章開頭介紹的在微博上創建的應用里的兩個key,setRedirectUrl中的內容即是在應用中設置的回調頁。

Listener則是在進行登陸授權後對執行結果進行處理的Litener,代碼如下

public class AuthDialogListener implements WeiboDialogListener {
private Activity context;
private String content;
private String file;
private float lat;
private float lon;
private static boolean isOver=true;
public AuthDialogListener(Activity context,String content,String file,float lat,float lon){
this.context= context;
this.content=content;
this.file=file;
this.lat=lat;
this.lon=lon;
}
@Override
public void onComplete(Bundle values) {
String token = values.getString("access_token");
String expires_in = values.getString("expires_in");
String oauth_verifier = values.getString("oauth_verifier");
AccessToken accessToken = new AccessToken(token, Constants.CONSUMER_SECRET);
accessToken.setExpiresIn(expires_in);
accessToken.setVerifier(oauth_verifier);
Weibo.getInstance().setAccessToken(accessToken);
try {
if (isOver) {
isOver=false;
share2weibo(this.content,null,listener,lat,lon);
}

} catch (WeiboException e) {
e.printStackTrace();
}
}

@Override
public void onError(DialogError e) {
Toast.makeText(context.getApplicationContext(),
"Auth error : " + e.getMessage(), Toast.LENGTH_LONG).show();
}

@Override
public void onCancel() {
Toast.makeText(context.getApplicationContext(), "Auth cancel",
Toast.LENGTH_LONG).show();
}

@Override
public void onWeiboException(WeiboException e) {
Toast.makeText(context.getApplicationContext(),
"Auth exception : " + e.getMessage(), Toast.LENGTH_LONG)
.show();
}

private void share2weibo(String content,String file,RequestListener listener,float lat , float lon) throws WeiboException {
Weibo weibo = Weibo.getInstance();
WeiboParameters params= new WeiboParameters();
params.add("access_token", weibo.getAccessToken().getToken());
params.add("status", content);
params.add("lat", String.valueOf(lat));
params.add("long", String.valueOf(lon));
String url = Weibo.SERVER + "statuses/update.json";
if (file!=null&&!file.equalsIgnoreCase("")) {
params.add("pic", file);
url = Weibo.SERVER + "statuses/upload.json";
}
AsyncWeiboRunner runner = new AsyncWeiboRunner(weibo);
runner.request(this.context, url, params,Utility.HTTPMETHOD_POST,listener);

}
RequestListener listener= new RequestListener() {

@Override
public void onIOException(IOException e) {
isOver=true;
Toast.makeText(context, "RequestListener "+e.getMessage(), Toast.LENGTH_LONG).show();
}

@Override
public void onError(WeiboException e) {
isOver=true;
Toast.makeText(context, "RequestListener "+e.getMessage(), Toast.LENGTH_LONG).show();
}

@Override
public void onComplete(String response) {
isOver=true;
Toast.makeText(context, "Success!", Toast.LENGTH_LONG).show();
}
};
}

需要完成WeiboDialogListener介面中的方法,分別是onComplete,OnError,
OnCancel,OnWeiboException。其中Oncomplete是在微博登陸授權成功後會執行的方法,在這個方法中,你可以調用你想要的功能如發表微博,轉發,評論等。使用的代碼可參看以下代碼:

Weibo weibo = Weibo.getInstance();
WeiboParameters params= new WeiboParameters();
params.add("access_token", weibo.getAccessToken().getToken());
params.add("status", content);
params.add("lat", String.valueOf(lat));
params.add("long", String.valueOf(lon));
String url = Weibo.SERVER + "statuses/update.json";
AsyncWeiboRunner runner = new AsyncWeiboRunner(weibo);
runner.request(this.context,url,params,Utility.HTTPMETHOD_POST,listener);

其中params是調用weibo api中需要的具體參數,可根據需要進行添加
AsyncWeiboRunner 是用來執行具體請求的類,根據你設定的參數發起請求。注意這里又有一個listerner,而這個listener是對發起請求後的結果進行處理的回調類,
RequestListener listener= new RequestListener()
需要復寫的方法有OnIOException,onError,onComplete,這樣可以清楚地對各種情況進行處理。
這樣在程序中就可以使用新浪微博 android sdk了。

⑵ android新浪微博支持scheme跳轉嗎

你這個是要實現Html5和原生交互如果是iOS現在了解的主要是解析鏈接的scheme來處理動作;Android1.使用原始的WebView.addJavascriptInterface()的方式添加不過這種方式在Android4.2以下版本有安全漏洞;2.使用第三方庫,這里推薦/lzyzsd/JsBridge這個框架實現的原理和iOS有點類似,但實現了動態添加交互.

⑶ 利用新浪微博開放平台提供的sdk開發自己的android客戶端問題

adroid 自帶的sdk是1.5的,sina自帶的幾個jar包放到android項目中了嗎,如果放進去了,你可以去下載缺少的jar包,導進去就可以了

閱讀全文

與android新浪微博客戶端源碼相關的資料

熱點內容
圓和多邊形的繪制命令分別為 瀏覽:385
如何搭建sst伺服器 瀏覽:733
運行程序加密軟體 瀏覽:530
中小型企業雲方案和物理伺服器 瀏覽:642
比例作用控制演算法 瀏覽:255
單片機元件名稱及圖片 瀏覽:704
米家app怎麼設置自定義情景模式 瀏覽:81
壓縮機怎麼做成洗車泵 瀏覽:132
農行app的手機號不用了怎麼改 瀏覽:401
中國人保app怎麼注銷賬號 瀏覽:521
實數已知演算法規律題 瀏覽:808
怎麼解除電話加密號碼 瀏覽:819
九分達人pdf 瀏覽:318
什麼演算法看是否有迴路 瀏覽:380
系統自檢命令 瀏覽:149
榮威伺服器質量怎麼樣 瀏覽:342
安卓如何禁用設備服務 瀏覽:426
飢荒實用控制台命令 瀏覽:764
手機app怎麼注冊 瀏覽:33
基於51單片機的頻率計設計 瀏覽:718