实践手记——调用人人新版API2 SDK在android平台上发布新鲜事及上传照片
来源:互联网 发布:京东秒杀软件安卓版 编辑:程序博客网 时间:2024/05/01 14:12
1.下载封装的SDK导入建立的工程
具体操作详见人人网的android sDK说明,虽然人人给开发者提供的文档少得可怜。
2.在Androidmanefest.xml添加代码,添加权限并注册Oauth2认证Activity
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.test.Test4renrenapiv2" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="9" android:targetSdkVersion="15" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.GET_ACCOUNTS" /> <uses-permission android:name="android.permission.USE_CREDENTIALS" /> <uses-permission android:name="android.permission.MANAGE_ACCOUNTS" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.test.Test4renrenapiv2.MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name="com.renn.rennsdk.oauth.OAuthActivity" android:configChanges="orientation|navigation|keyboardHidden" android:screenOrientation="portrait" /> </application></manifest>3.登录授权认证并调用接口
package com.test.Test4renrenapiv2;import java.io.File;import java.text.SimpleDateFormat;import java.util.Date;import android.os.Bundle;import android.os.Environment;import android.app.Activity;import android.util.Log;import android.view.Menu;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.Toast;import com.renn.rennsdk.RennClient;import com.renn.rennsdk.RennExecutor.CallBack;import com.renn.rennsdk.RennParam;import com.renn.rennsdk.RennResponse;import com.renn.rennsdk.RennClient.LoginListener;import com.renn.rennsdk.exception.RennException;import com.renn.rennsdk.param.PutFeedParam;import com.renn.rennsdk.param.UploadPhotoParam;public class MainActivity extends Activity {private RennClient renrenclient;private final String appid="[替换为自己的appid]";private final String apikey = "[替换为自己的appkey]";private final String secretkey = "[替换为自己的secretkey]";private final String tag = "debug";private Button but_feed,login,but_upload;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//获取人人客户端实例并初始化renrenclient = RennClient.getInstance(MainActivity.this);renrenclient.init(appid, apikey, secretkey);//设置需要用户授权的权限范围renrenclient.setScope("read_user_blog read_user_photo read_user_status read_user_album "+ "read_user_comment read_user_share publish_blog publish_share "+ "send_notification photo_upload status_update create_album "+ "publish_comment publish_feed");renrenclient.setTokenType("bearer");login = (Button)findViewById(R.id.login);login.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stub//通过网页方式用户登录授权renrenclient.login(MainActivity.this);}});//为renrenclient设置监听来处理登陆结果renrenclient.setLoginListener(new LoginListener() {@Overridepublic void onLoginSuccess() {// TODO Auto-generated method stubLog.d(tag,"loginScuccess");Toast.makeText(MainActivity.this, "login success", Toast.LENGTH_LONG).show();}@Overridepublic void onLoginCanceled() {// TODO Auto-generated method stub}});//调用接口发布新鲜事but_feed =(Button)findViewById(R.id.but_feed);but_feed.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View v) {// TODO Auto-generated method stubPutFeedParam param = new PutFeedParam();param.setTitle("新鲜事Title"); param.setMessage("这是一条新鲜事");param.setDescription("新鲜事Description"); param.setTargetUrl("http://www.56.com/u72/v_OTAyNTkxMDk.html"); try {renrenclient.getRennService().sendAsynRequest(param,new CallBack() {@Overridepublic void onSuccess(RennResponse arg0) {// TODO Auto-generated method stubToast.makeText(MainActivity.this, "put feed success", Toast.LENGTH_LONG).show();}@Overridepublic void onFailed(String arg0, String arg1) {// TODO Auto-generated method stub}} );} catch (RennException e) {// TODO Auto-generated catch blocke.printStackTrace();}}});//调用人人接口上传一张图片,未指定相册ID默认上传到应用相册but_upload = (Button)findViewById(R.id.but_upload);but_upload.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubUploadPhotoParam param =new UploadPhotoParam();String descri = new SimpleDateFormat("yyyyMMdd_hhmmss").format(new Date());descri = "photo upload at:"+descri;param.setDescription(descri); File pics_dir=Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);String file_path = pics_dir.toString()+File.separator+"t3.jpg"; File file= new File(file_path);param.setFile(file);try {renrenclient.getRennService().sendAsynRequest(param, new CallBack() {@Overridepublic void onSuccess(RennResponse arg0) {// TODO Auto-generated method stubToast.makeText(MainActivity.this, "photo upload success", Toast.LENGTH_LONG).show();}@Overridepublic void onFailed(String arg0, String arg1) {// TODO Auto-generated method stub}});} catch (RennException e) {// TODO Auto-generated catch blocke.printStackTrace();}}});}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);return true;}}
4运行效果
- 实践手记——调用人人新版API2 SDK在android平台上发布新鲜事及上传照片
- Android仿人人客户端(v5.7.1)——新鲜事之分享照片
- 实践手记——用新浪微博SDK在android上通过Oauth授权并发微博
- [开发手记] 人人网开放平台不使用表单上传照片
- Android仿人人客户端(v5.7.1)——新鲜事之状态
- Android仿人人客户端(v5.7.1)——新鲜事之完整篇
- 根据仿人人客户端教程,编程实现Demo(二)---实现JSON解析人人API2.0,获取用户信息以及新鲜事信息
- Android仿人人客户端(v5.7.1)——新鲜事之下拉列表(过滤项列表)
- android照相及照片上传
- android照相及照片上传
- android照相及照片上传
- android照相及照片上传
- 使用Vitamio打造自己的Android万能播放器——新版Vitamio内测SDK发布
- 上传照片,调用系统照片
- android sdk 无法更新问题——终极更新版!
- 在 Android 设备上获取照片、裁剪图片、压缩图片 @TakePhoto V3.0 发布
- android 调用人人网sdk登录页面 成功后不跳转 只停留在白色Oauth页面
- 新版百度地图Android SDK 如何调用放大缩小功能
- STM32 UART1 DMA 发送数据
- hdu1323-Perfection
- android读写Sdcard
- Activity/Fragment/TabActivity/ActivityGroup bindSrvice绑定服务无效
- hdu 3715 (2-SAT+二分)
- 实践手记——调用人人新版API2 SDK在android平台上发布新鲜事及上传照片
- sring 与StringBuilder的区别
- HDU-1142 最短路(spfa)
- 关于多线程
- 大数据应用电子商务之精准推广
- navicat执行sql文件时,中文乱码的处理
- rhel-server-5.4设置nfs服务器以及错误纠正
- C++ 之高效使用STL(查找算法的选择)
- hdu 1394 Minimum Inversion Number 线段树求逆序数