- 浏览: 200184 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
xumin_minzi:
我也在使用ndk编译,ffmpeg源码放在哪个目录里面?
[原创]Android ndkr8编译 FFmpeg 0.11.1 "Happiness" -
ericchan2012:
在Dialog调用show方法之后
【原创】Android 设置Dialog的长宽和位置 -
maohualei:
求解: 我设置的时候 位置居然没有反应 dial ...
【原创】Android 设置Dialog的长宽和位置
连接人人网,有两种方法,参考人人网的官网:
http://wiki.dev.renren.com/wiki/%E7%A7%BB%E5%8A%A8%E5%AE%A2%E6%88%B7%E7%AB%AF%E6%8E%A5%E5%85%A5
第一种是直接使用人人网开放平台提供的各种接口,如用作验证和授权的OAuth 2.0,提供数据的底层Rest API,以及嵌入各种Widget。
第二种是使用人人网开放平台官方封装的开源Android SDK。
我们使用第一种:
首先去申请一个应用:http://dev.renren.com/app
完成后你将得到:API Key和Secret Key即“client_id”和“client_secret”,便可以使用OAuth2.0进行验证授权。开发者中心页面中API Key就是人人OAuth2.0中的“client_id”,Secret Key就是“client_secret”。
人人网为没有Web服务器的客户端应用提供了一个通用的URL:http://graph.renren.com/oauth/login_success.html。
流程如下:
在应用中嵌入一个浏览器控件,并使用客户端流程定向控件到人人OAuth 2.0 Authorize Endpoint(https://graph.renren.com/oauth/authorize):
https://graph.renren.com/oauth/authorize?client_id=YOUR_API_KEY&redirect_uri=http://graph.renren.com/oauth/login_success.html
经过用户验证、应用授权,人人OAuth2.0将把浏览器控件定向导'redirect_uri'(http://graph.renren.com/oauth/login_success.html),并在URI Fragment中追加Access Token:http://graph.renren.com/oauth/login_success.html#access_token=...当应用发现浏览器的控件的URL跳转到这个URL上时,从URL中解析出Access Token。
在Android中加载html用WebView控件,由于Android主要是触屏,因此需要加display=touch参数,完整的URL为
https://graph.renren.com/oauth/authorize?client_id=05d3794614f244c39e300c65f5f68a9e&response_type=token&display=touch&redirect_uri=http://graph.renren.com/oauth/login_success.html
具体登录的代码如下:
经测试,成功。
http://wiki.dev.renren.com/wiki/%E7%A7%BB%E5%8A%A8%E5%AE%A2%E6%88%B7%E7%AB%AF%E6%8E%A5%E5%85%A5
第一种是直接使用人人网开放平台提供的各种接口,如用作验证和授权的OAuth 2.0,提供数据的底层Rest API,以及嵌入各种Widget。
第二种是使用人人网开放平台官方封装的开源Android SDK。
我们使用第一种:
首先去申请一个应用:http://dev.renren.com/app
完成后你将得到:API Key和Secret Key即“client_id”和“client_secret”,便可以使用OAuth2.0进行验证授权。开发者中心页面中API Key就是人人OAuth2.0中的“client_id”,Secret Key就是“client_secret”。
人人网为没有Web服务器的客户端应用提供了一个通用的URL:http://graph.renren.com/oauth/login_success.html。
流程如下:
在应用中嵌入一个浏览器控件,并使用客户端流程定向控件到人人OAuth 2.0 Authorize Endpoint(https://graph.renren.com/oauth/authorize):
https://graph.renren.com/oauth/authorize?client_id=YOUR_API_KEY&redirect_uri=http://graph.renren.com/oauth/login_success.html
经过用户验证、应用授权,人人OAuth2.0将把浏览器控件定向导'redirect_uri'(http://graph.renren.com/oauth/login_success.html),并在URI Fragment中追加Access Token:http://graph.renren.com/oauth/login_success.html#access_token=...当应用发现浏览器的控件的URL跳转到这个URL上时,从URL中解析出Access Token。
在Android中加载html用WebView控件,由于Android主要是触屏,因此需要加display=touch参数,完整的URL为
https://graph.renren.com/oauth/authorize?client_id=05d3794614f244c39e300c65f5f68a9e&response_type=token&display=touch&redirect_uri=http://graph.renren.com/oauth/login_success.html
具体登录的代码如下:
public class RenrenLoginActivity extends Activity { public final static String TAG = "RenrenLoginActivity"; private WebView renrenLoginWebView; // WebView 控件,用于显示从人人网请求得到html授权页面 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.renren_login_web_view); renrenLoginWebView = (WebView) findViewById(R.id.renren_login_web_view); // 得到 WebView 控件 //对WebView进行设置(对JS的支持,对缩放的支持,对缓存模式的支持) WebSettings webSettings = renrenLoginWebView.getSettings(); webSettings.setJavaScriptEnabled(true); webSettings.setBuiltInZoomControls(true); webSettings.setCacheMode(WebSettings.LOAD_NO_CACHE); // 根据client_id取得到人人服务器人人对你的应用授权,如果成功则返回人人网登陆页面的html文件,并在WebView控件上显示 // 此时用户需要输入自己人人账号的用户名、密码并点击登陆 renrenLoginWebView.loadUrl("https://graph.renren.com/oauth/authorize?"+ "client_id=换成你自己的api key&response_type=token"+ "&display=touch&redirect_uri=http://graph.renren.com/oauth/login_success.html"); renrenLoginWebView.setWebViewClient(new WebViewClient() { //击网页里面的链接还是在当前的webview里跳转,不跳到浏览器那边 @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true; } @Override public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) { handler.proceed();//让webview处理https请求 } @Override public void onPageFinished(WebView view, String url) { String url0 = renrenLoginWebView.getUrl(); String access_token = ""; String expires_in = ""; Log.i(TAG, "URL = " + url0); if(url0 != null) { if(url0.contains("access_token=")) { // 从URL中解析得到 access_token access_token = url0.substring(url0.indexOf("access_token=") + 13, url0.length() - 19); try { access_token = URLDecoder.decode(access_token, "utf-8"); // 制定为utf-8编码 } catch (UnsupportedEncodingException e) { e.printStackTrace(); } Log.i(TAG, "access_token = " + access_token); } if(url0.contains("expires_in=")) { // 从URL中解析得到 expires_in expires_in = url0.substring(url0.indexOf("expires_in=") + 11, url0.length()); Log.i(TAG, "expires_in = " + expires_in); } RenrenUtil.access_token = access_token; // 将解析得到的 access_token 保存起来 RenrenUtil.expires_in = expires_in; // 将解析得到的 expires_in 保存起来 //输入用户名、密码登陆成功,进行页面跳转 if(RenrenUtil.access_token.length() != 0) { Intent intent = new Intent(RenrenLoginActivity.this, RenrenFriendsActivity.class); startActivity(intent); } } super.onPageFinished(view, url); } }); } }
经测试,成功。
发表评论
-
android java调用命令行给文件赋权限
2012-09-27 18:18 1615public void chmodFiles(){ Pr ... -
InputStream,String,File相互转化
2012-09-27 18:10 9901. String --> InputStream I ... -
android Uri获取真实路径转换成File的方法
2012-09-27 18:07 1875有的时候要将android uri如content://med ... -
android将路径转化为URI
2012-09-27 18:06 6411如果已經取得了檔案的路徑的字串,那怎麼轉成URI呢? St ... -
如何向android的setting语言列表中添加一门语言(
2012-09-27 12:59 1098如题: 看了下,android2. ... -
android更改暗码
2012-09-26 13:31 1018在Contact应用程序下的SpecialCharSequen ... -
android触屏震动以及震动强度修改
2012-09-26 09:24 3988PhoneWindowManager.java: 在inter ... -
android修改默认语言
2012-09-26 09:24 1458在build/tools/Buildinfo.sh下面 e ... -
android设置默认壁纸
2012-09-25 12:48 15661,动态壁纸 在frameworks\base\core\re ... -
android设置wallpaper
2012-09-25 12:00 1279设置壁纸的代码在 Launcher.java中的case Ad ... -
android Settings中的各个默认设置
2012-09-25 11:07 944在android中,Settings中有许多的默认设置,比如默 ... -
android 调用camera相关操作
2012-09-21 22:11 10221,通过intent调用camera Intent int ... -
android gallery相关操作
2012-09-21 20:11 9651,android调用gallery获取图片 Intent ... -
android中shape
2012-09-15 12:35 7721,作用: 可以在xml中定义图形,并且定义一些效果 2,用法 ... -
android中layer-list
2012-09-15 12:27 10301,作用: 可以将多个图片(图层)按照顺序层叠起来。 2,用法 ... -
android客户端连接人人网之二----获取朋友信息
2012-09-13 15:31 9141,http请求,将paramList发送到http://ap ... -
android客户端连接人人网之二----获取签名
2012-09-13 14:19 1051官方文档: http://dev.xiaonei.com/wi ... -
android美化ToggleButton
2012-09-12 09:55 21831、设置XML属性 我们需要设置Toggle ... -
android复合控件
2012-09-11 20:14 1070自定义组合控件,用来复用 其一: 首先看布局文件: <? ... -
android中SharedPreference的使用
2012-09-08 11:08 881SharedPreference,相信了解过android的同 ...
相关推荐
android视频资讯客户端简单实现--android客户端与web服务器实现 android客户端想web服务器请求,服务器返回xml文件。android客户端解析之。显示在listView中
WebSocket安卓客户端实现详解(二)--客户端发送请求
android客户端连接服务器,对于初学者应该很有帮助,这里讲述了android怎样通过客户端访问服务器得到数据
duic 配置中心 Java-Android 客户端工具包-duic-java-client.zip
人人网Android客户端的高仿源码,含所有资源、代码、图片
Android应用源码之空气质量检测客户端项目-IT计算机-毕业设计.zip Android应用源码之空气质量检测客户端项目-IT计算机-毕业设计.zip Android应用源码之空气质量检测客户端项目-IT计算机-毕业设计.zip Android应用...
Android应用源码开发Demo,主要用于毕业设计学习。
android完整的客户端与服务器源码-若水新闻,已经调试过没有问题,分享出来,大家一起学习进步
Android应用源码开发Demo,主要用于毕业设计学习。
XBMC的Android客户端 android-xbmcremote ,android-xbmcremote 是 XBMC 开源的 Android 客户端。
Android 手机下 仿 微信 客户端 界面 -- 微聊 (包括聊天列表 聊天对话页 朋友圈列表页 我的/发现 列表页)
android-support-v4-v7-v13-v14-v17(官方最新完整版),官方最新版的,压缩包内包含android-support-v4、android-support-v7-appcompat,android-support-v7-cardview,android-support-v7-gridlayout,android-support-...
本科毕业设计-----新浪微博android客户端的实现
基于android的智能家居系统设计——客户端及云服务器的实现--学位论文.doc
057集-Android客户端与服务端交互-服务端代码视频教程,很是不错哦,有兴趣的可以学习下。
ksoap2-android-assembly-2.6.5-jar-with-dependencies.jar 要是需要最新的,下载地址: http://code.google.com/p/ksoap2-android/
人人网专门针对手机产品出品的一款具有renren.com大部分功能的客户端产品。此产品是将www.renren.com中的一些用户最常用最基本的功能移植到手机客户端中(移植的功能会在每一次发布过程中逐渐增多)并且还增加了根据...
Android 新闻客户端主要是供学习参考使用。借鉴其中的算法逻辑处理
人人网客户端的开发授权代码,从网上淘来的,分享给大家!
SuesNews新闻客户端 - 腾飞新闻,一个符合 Google Material Design 的 Android 校园新闻客户端 ,新闻客户端说明