當前位置:首頁 » 安卓系統 » android分享微博客戶端

android分享微博客戶端

發布時間: 2022-09-14 06:32:25

❶ 現在的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 怎麼快速實現新浪微博分享功能

Android進階之使用第三方平台ShareSDK實現新浪微博的一鍵分享功能。
ShareSDK是一種社會化分享組件,為iOS、Android、WP8 的APP提供社會化功能,集成了一些常用的類庫和介面,縮短開發者的開發時間,還有社會化統計分析管理後台。ShareSDK移動開發者服務平台由廣州掌淘網路科技有限公司開發。

❸ 微博android客戶端發微博為什麼顯示是三星android智能手機怎麼弄會是來自安卓客戶端

我的手機在新浪發微博就是顯示「三星android智能手機」字樣了,我的是手機買的時候手機裡面就自帶有新浪微博了,是廠家一早設定好了的,你不喜歡這樣的顯示,卸載了原來這個,再去新浪網重新下載一個android的終端就可以了。

❹ android 分享內容到新浪微博

不是,你可以去看看sina 的開放API,裡面寫的很詳細告訴你怎麼做。
原理就是你下一個sina的jar包放到你項目里,在配置申請的key,之後就根據文檔做些借口調用就好了。

❺ android新浪微博客戶端的發微博功能是怎樣實現的

新建微博--->把數據傳到全部微博&個人微博頁面的activty上。
如果新建微博並不想發布,選擇退出。是Content Provider將數據儲存到資料庫中。便於恢復。

微博發布成功由Intent調到全部微博or個人微博。
一般來講由一個Intent請求發送微博。一個Activitiy處理發送微博的描述。Activity在Android Manifetst.xml文件中發布Intent。

❻ android 怎麼快速實現新浪微博分享功能

Android進階之使用第三方平台ShareSDK實現新浪微博的一鍵分享功能。
ShareSDK是一種社會化分享組件,為iOS、Android、WP8
的APP提供社會化功能,集成了一些常用的類庫和介面,縮短開發者的開發時間,還有社會化統計分析管理後台。ShareSDK移動開發者服務平台由廣州掌淘網路科技有限公司開發。

❼ android應用分享到新浪微博

下個新浪的jar包,裡面有它的API

❽ android 分享新浪微博問題

我雖然對新浪SDK不熟,但仍然覺得應該確認兩個地方:
1、requestToken確保不為空
2、uri.getQueryParameter("oauth_verifier")確保不為空。
這樣你就能夠定位到是哪個地方出空指針了!

❾ 怎麼樣用手機發微博,顯示Android客戶端啊

安卓系統的手機,安裝一個安卓的微薄客戶端,發送微薄就會顯示來自android客戶端了。

但網上也有一些機友自己修改的其他系統版本的客戶端,能將自己的顯示為iphone或者黑莓等版本的,我甚至見過有人的微薄是「來自小霸王客戶端」的,這都是修改版的微薄客戶端

❿ android應用實現分享到微博功能

1.Intent intent = new Intent(Intent.ACTION_SEND); //啟動分享發送的屬性
2. intent.setType("text/plain"); //分享發送的數據類型
3. intent.putExtra(Intent.EXTRA_SUBJECT, "subject"); //分享的主題
4. intent.putExtra(Intent.EXTRA_TEXT, "extratext"); //分享的內容
5. intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);//這個也許是分享列表的背景吧
6. FenxiangActivity.this.startActivity(Intent.createChooser(intent, "分享"));//目標應用選擇對話框的標題

然後在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>

熱點內容
SQL量大 發布:2025-03-22 18:45:05 瀏覽:114
我的世界怎麼隱藏伺服器裝備 發布:2025-03-22 18:38:16 瀏覽:328
我的密碼在哪裡改 發布:2025-03-22 18:36:18 瀏覽:309
shell腳本執行linux命令 發布:2025-03-22 18:30:35 瀏覽:170
當地dns伺服器地址怎麼查 發布:2025-03-22 18:30:27 瀏覽:832
無線網路radius伺服器ip 發布:2025-03-22 18:26:04 瀏覽:529
安卓手機在哪裡顯示去過的地方 發布:2025-03-22 18:13:36 瀏覽:399
安智和安卓哪個厲害 發布:2025-03-22 17:37:48 瀏覽:524
無法使用已編譯的模式處理標志 發布:2025-03-22 17:26:51 瀏覽:844
防火牆關閉linux 發布:2025-03-22 17:26:01 瀏覽:950