中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

android分享微博,微博分享sdk

android?怎么快速實現(xiàn)新浪微博分享功能

Android進(jìn)階之使用第三方平臺ShareSDK實現(xiàn)新浪微博的一鍵分享功能。

創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供東鄉(xiāng)網(wǎng)站建設(shè)、東鄉(xiāng)做網(wǎng)站、東鄉(xiāng)網(wǎng)站設(shè)計、東鄉(xiāng)網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、東鄉(xiāng)企業(yè)網(wǎng)站模板建站服務(wù),10余年東鄉(xiāng)做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。

ShareSDK是一種社會化分享組件,為iOS、Android、WP8

的APP提供社會化功能,集成了一些常用的類庫和接口,縮短開發(fā)者的開發(fā)時間,還有社會化統(tǒng)計分析管理后臺。ShareSDK移動開發(fā)者服務(wù)平臺由廣州掌淘網(wǎng)絡(luò)科技有限公司開發(fā)。

android應(yīng)用實現(xiàn)分享到微博功能

1.Intent intent = new Intent(Intent.ACTION_SEND); //啟動分享發(fā)送的屬性

2. intent.setType("text/plain"); //分享發(fā)送的數(shù)據(jù)類型

3. intent.putExtra(Intent.EXTRA_SUBJECT, "subject"); //分享的主題

4. intent.putExtra(Intent.EXTRA_TEXT, "extratext"); //分享的內(nèi)容

5. intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);//這個也許是分享列表的背景吧

6. FenxiangActivity.this.startActivity(Intent.createChooser(intent, "分享"));//目標(biāo)應(yīng)用選擇對話框的標(biāo)題

然后在Manifest的Activity下面加上:

1.intent-filter Android:label="@string/albums_sendbyWBlog"

2. action Android:name="android.intent.action.SEND" /

3. data Android:mimeType="image/*" /

4. category Android:name="android.intent.category.DEFAULT" /

5. /intent-filter

現(xiàn)在的android版SDK中,進(jìn)行微博分享必須要通過微博客戶端嗎

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

微博Android平臺SDK為第三方微博應(yīng)用提供了文檔易用的微博API調(diào)用服務(wù),使第三方客戶端無需了解復(fù)雜的驗證,API調(diào)用過程。并可以實現(xiàn)分享到微博的功能,可以分享文字,或者多媒體信息到內(nèi)置的分享頁面,并發(fā)送到微博。

首先我們需要在新浪微博開放平臺上進(jìn)行注冊,之后需要創(chuàng)建一個新的應(yīng)用,并且需要記下應(yīng)用的APP key,App Secret Key以及設(shè)置應(yīng)用的回調(diào)頁以便我們在程序中進(jìn)行使用。此外,還需要在應(yīng)用的高級信息里添加測試用戶的uid,切記切記,否則會出現(xiàn)登陸不成功等怪現(xiàn)象。

接著我們下載微博提供的Android上的SDK,下載地址在這里http。//open。weibo。com/wiki/SDK,選擇AndroidSDK進(jìn)行下載即可。

使用方法:

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

然后在你的工程的Manifest文件中,加入以下權(quán)限:

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即是文章開頭介紹的在微博上創(chuàng)建的應(yīng)用里的兩個key,setRedirectUrl中的內(nèi)容即是在應(yīng)用中設(shè)置的回調(diào)頁。

Listener則是在進(jìn)行登陸授權(quán)后對執(zhí)行結(jié)果進(jìn)行處理的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是在微博登陸授權(quán)成功后會執(zhí)行的方法,在這個方法中,你可以調(diào)用你想要的功能如發(fā)表微博,轉(zhuǎn)發(fā),評論等。使用的代碼可參看以下代碼:

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是調(diào)用weibo api中需要的具體參數(shù),可根據(jù)需要進(jìn)行添加

AsyncWeiboRunner 是用來執(zhí)行具體請求的類,根據(jù)你設(shè)定的參數(shù)發(fā)起請求。注意這里又有一個listerner,而這個listener是對發(fā)起請求后的結(jié)果進(jìn)行處理的回調(diào)類,

RequestListener listener= new RequestListener()

需要復(fù)寫的方法有OnIOException,onError,onComplete,這樣可以清楚地對各種情況進(jìn)行處理。

這樣在程序中就可以使用新浪微博 android sdk了。

分享名稱:android分享微博,微博分享sdk
文章網(wǎng)址:http://www.rwnh.cn/article36/dssdipg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄、企業(yè)建站ChatGPT、品牌網(wǎng)站建設(shè)定制網(wǎng)站、搜索引擎優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化
万宁市| 南靖县| 乡城县| 汶上县| 勐海县| 剑川县| 大冶市| 仁怀市| 万山特区| 马尔康县| 桂平市| 芜湖县| 连城县| 临澧县| 怀化市| 封开县| 铜鼓县| 伽师县| 嵊泗县| 如东县| 舟曲县| 靖安县| 揭东县| 丰台区| 随州市| 诏安县| 汪清县| 内江市| 大竹县| 彭阳县| 贺州市| 水富县| 诸暨市| 蒙城县| 香格里拉县| 施甸县| 邵武市| 吴江市| 瓮安县| 安溪县| 安陆市|