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;
@Override
protected 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() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
//通过网页方式用户登录授权
renrenclient.login(MainActivity.this);
}
});
//为renrenclient设置监听来处理登陆结果
renrenclient.setLoginListener(new LoginListener() {
@Override
public void onLoginSuccess() {
// TODO Auto-generated method stub
Log.d(tag,"loginScuccess");
Toast.makeText(MainActivity.this, "login success", Toast.LENGTH_LONG).show();
}
@Override
public void onLoginCanceled() {
// TODO Auto-generated method stub
}
});
//调用接口发布新鲜事
but_feed =(Button)findViewById(R.id.but_feed);
but_feed.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
PutFeedParam 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() {
@Override
public void onSuccess(RennResponse arg0) {
// TODO Auto-generated method stub
Toast.makeText(MainActivity.this, "put feed success", Toast.LENGTH_LONG).show();
}
@Override
public void onFailed(String arg0, String arg1) {
// TODO Auto-generated method stub
}
} );
} catch (RennException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
//调用人人接口上传一张图片,未指定相册ID默认上传到应用相册
but_upload = (Button)findViewById(R.id.but_upload);
but_upload.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
UploadPhotoParam 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() {
@Override
public void onSuccess(RennResponse arg0) {
// TODO Auto-generated method stub
Toast.makeText(MainActivity.this, "photo upload success", Toast.LENGTH_LONG).show();
}
@Override
public void onFailed(String arg0, String arg1) {
// TODO Auto-generated method stub
}
});
} catch (RennException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
}
@Override
public 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运行效果