当前位置:首页 » 安卓系统 » 微博androidsdk

微博androidsdk

发布时间: 2024-03-20 07:26:06

① android项目在导入微博SDK的时候报的错误,怎样解决

你有引入了2个重复的包了,检查一下 libs 文件夹或你的buildpath把

② 怎么基于新浪微博开放平台提供的android SDK开发新浪微博手机客户端。已下载了SDK和一个jar包,怎么用呢

sina sdk是基于java语言的,封装了一些函数,如认证等,你正常的android开发时,import相关的文件即可,UI层你自己写,调用api时,调用sdk里的就行了

③ 利用新浪微博开放平台提供的sdk开发自己的android客户端问题

adroid 自带的sdk是1.5的,sina自带的几个jar包放到android项目中了吗,如果放进去了,你可以去下载缺少的jar包,导进去就可以了

④ mob中sharesdk for android v2.8.2怎么用

由于第一次使用,所以需要先进行新浪授权,授权界面下面开始介绍如何使用ShareSDK实现微博的分享功能(其他平台的类似)shareSDK传送门在使用shareSDK之前,我们需要先到新浪微博的开放平台进行注册,获得appkey以及其他的信息新浪微博开放平台传送门下面图片中划掉的部分是要重点关注的特别需要注意的是,下面的回调网址必须填写,而且在代码中有涉及,使用默认的即可至此,开发之前的准备工作已经做好了,下面还是贴代码首先看一下布局文件代码,很简单,只有一个按钮06.07.12.13.MainActivity.javapackagecom.heli17.weiboonekeylogin;002.003.importjava.io.File;004.importjava.io.FileOutputStream;005.importjava.util.HashMap;006.007.importandroid.app.Activity;008.importandroid.app.Notification;009.importandroid.app.NotificationManager;010.importandroid.app.PendingIntent;011.importandroid.content.Context;012.importandroid.content.Intent;013.importandroid.graphics.Bitmap;014.importandroid.graphics.Bitmap.CompressFormat;015.importandroid.graphics.BitmapFactory;016.importandroid.os.Bundle;017.importandroid.os.Environment;018.importandroid.os.Handler.Callback;019.importandroid.os.Message;020.importandroid.view.View;021.importandroid.widget.Toast;022.importcn.sharesdk.framework.Platform;023.importcn.sharesdk.framework.PlatformActionListener;024.importcn.sharesdk.framework.ShareSDK;025.importcn.sharesdk.framework.utils.UIHandler;026.importcn.sharesdk.onekeyshare.OnekeyShare;027.028.,029.Callback{030.031.privatestaticfinalintMSG_TOAST=1;032.privatestaticfinalintMSG_ACTION_CCALLBACK=2;033.privatestaticfinalintMSG_CANCEL_NOTIFY=3;034.035.//sdcard中的图片名称036.privatestaticfinalStringFILE_NAME="/share_pic.jpg";037.publicstaticStringTEST_IMAGE;[email protected](Messagemsg){041.switch(msg.what){042.caseMSG_TOAST:{043.Stringtext=String.valueOf(msg.obj);044.Toast.makeText(MainActivity.this,text,Toast.LENGTH_SHORT).show();045.}046.break;047.caseMSG_ACTION_CCALLBACK:{048.switch(msg.arg1){049.case1://成功后发送Notification050.showNotification(2000,"分享完成");051.break;052.case2://失败后发送Notification053.showNotification(2000,"分享失败");054.break;055.case3://取消056.showNotification(2000,"取消分享");057.break;058.}059.}060.break;061.caseMSG_CANCEL_NOTIFY:062.NotificationManagernm=(NotificationManager)msg.obj;063.if(nm!=null){064.nm.cancel(msg.arg1);065.}066.break;067.}068.returnfalse;069.}[email protected](BundlesavedInstanceState){073.super.onCreate(savedInstanceState);074.setContentView(R.layout.activity_main);075.//初始化ShareSDK076.ShareSDK.initSDK(this);077.//初始化图片路径078.newThread(){079.publicvoidrun(){080.initImagePath();081.}082.}.start();083.}084.085.//一键分享的点击事件086.publicvoidclick(Viewv){087.//实例化一个OnekeyShare对象088.OnekeyShareoks=newOnekeyShare();089.//设置Notification的显示图标和显示文字090.oks.setNotification(R.drawable.ic_launcher,"ShareSDKdemo");091.//设置短信地址或者是邮箱地址,如果没有可以不设置092.oks.setAddress("12345678901");093.//分享内容的标题094.oks.setTitle("分享内容的标题");095.//标题对应的网址,如果没有可以不设置096.oks.setTitleUrl("");097.//设置分享的文本内容098.oks.setText("分享的文本内容");099.//设置分享照片的本地路径,如果没有可以不设置100.oks.setImagePath(MainActivity.TEST_IMAGE);101.//设置分享照片的url地址,如果没有可以不设置102.oks.setImageUrl("/imgs/sharesdk/content/2013/07/25/1374723172663.jpg");103.//微信和易信的分享的网络连接,如果没有可以不设置104.oks.setUrl("");105.//人人平台特有的评论字段,如果没有可以不设置106.oks.setComment("comment");107.//程序的名称或者是站点名称108.oks.setSite("site");109.//程序的名称或者是站点名称的链接地址110.oks.setSiteUrl("");111.//设置纬度112.oks.setLatitude(23.122619f);113.//设置精度114.oks.setLongitude(113.372338f);115.//设置是否是直接分享116.oks.setSilent(false);117.//显示118.oks.show(MainActivity.this);119.}120.121.privatevoidinitImagePath(){122.try{123.if(Environment.MEDIA_MOUNTED.equals(Environment124..getExternalStorageState())125.&&Environment.getExternalStorageDirectory().exists()){126.TEST_IMAGE=Environment.getExternalStorageDirectory()127..getAbsolutePath()+FILE_NAME;128.}else{129.TEST_IMAGE=getApplication().getFilesDir().getAbsolutePath()130.+FILE_NAME;131.}132.//创建图片文件夹133.Filefile=newFile(TEST_IMAGE);134.if(!file.exists()){135.file.createNewFile();136.Bitmappic=BitmapFactory.decodeResource(getResources(),137.R.drawable.pic);138.FileOutputStreamfos=newFileOutputStream(file);139.pic.compress(CompressFormat.JPEG,100,fos);140.fos.flush();141.fos.close();142.}143.}catch(Throwablet){144.t.printStackTrace();145.TEST_IMAGE=null;146.}147.}[email protected](){151.super.onDestroy();152.//在Activity中停止ShareSDK153.ShareSDK.stopSDK(this);154.}155.

⑤ 最新的新浪微博客户端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了。

热点内容
两路服务器是什么意思 发布:2024-11-28 03:39:39 浏览:936
sql精简版64 发布:2024-11-28 03:36:28 浏览:72
金立怎么加密图片 发布:2024-11-28 03:31:43 浏览:663
2017玩dnf电脑什么配置 发布:2024-11-28 03:30:56 浏览:519
ftp挂载存储ip配置 发布:2024-11-28 03:28:51 浏览:962
山耐斯空压机密码多少 发布:2024-11-28 03:26:28 浏览:404
安卓拍照摇一摇是什么软件 发布:2024-11-28 03:26:27 浏览:256
小米2s存储卡 发布:2024-11-28 03:15:49 浏览:648
弹性算法 发布:2024-11-28 02:58:40 浏览:85
python写入mysql数据库 发布:2024-11-28 02:52:56 浏览:431