- 浏览: 205812 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
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 1656public void chmodFiles(){ Pr ... -
InputStream,String,File相互转化
2012-09-27 18:10 10171. String --> InputStream I ... -
android Uri获取真实路径转换成File的方法
2012-09-27 18:07 1915有的时候要将android uri如content://med ... -
android将路径转化为URI
2012-09-27 18:06 6453如果已經取得了檔案的路徑的字串,那怎麼轉成URI呢? St ... -
如何向android的setting语言列表中添加一门语言(
2012-09-27 12:59 1152如题: 看了下,android2. ... -
android更改暗码
2012-09-26 13:31 1058在Contact应用程序下的SpecialCharSequen ... -
android触屏震动以及震动强度修改
2012-09-26 09:24 4045PhoneWindowManager.java: 在inter ... -
android修改默认语言
2012-09-26 09:24 1492在build/tools/Buildinfo.sh下面 e ... -
android设置默认壁纸
2012-09-25 12:48 15971,动态壁纸 在frameworks\base\core\re ... -
android设置wallpaper
2012-09-25 12:00 1304设置壁纸的代码在 Launcher.java中的case Ad ... -
android Settings中的各个默认设置
2012-09-25 11:07 992在android中,Settings中有许多的默认设置,比如默 ... -
android 调用camera相关操作
2012-09-21 22:11 10511,通过intent调用camera Intent int ... -
android gallery相关操作
2012-09-21 20:11 9931,android调用gallery获取图片 Intent ... -
android中shape
2012-09-15 12:35 7961,作用: 可以在xml中定义图形,并且定义一些效果 2,用法 ... -
android中layer-list
2012-09-15 12:27 10521,作用: 可以将多个图片(图层)按照顺序层叠起来。 2,用法 ... -
android客户端连接人人网之二----获取朋友信息
2012-09-13 15:31 9421,http请求,将paramList发送到http://ap ... -
android客户端连接人人网之二----获取签名
2012-09-13 14:19 1099官方文档: http://dev.xiaonei.com/wi ... -
android美化ToggleButton
2012-09-12 09:55 22081、设置XML属性 我们需要设置Toggle ... -
android复合控件
2012-09-11 20:14 1114自定义组合控件,用来复用 其一: 首先看布局文件: <? ... -
android中SharedPreference的使用
2012-09-08 11:08 904SharedPreference,相信了解过android的同 ...
相关推荐
这个源码项目是对人人网Android客户端的高度仿制,旨在提供一个学习和参考的平台,帮助开发者深入理解移动应用的开发流程,尤其是社交应用的设计和实现。它包含了完整的代码、资源文件以及图片素材,为开发者提供了...
Android应用源码之空气质量检测客户端项目-IT计算机-毕业设计.zip Android应用源码之空气质量检测客户端项目-IT计算机-毕业设计.zip Android应用源码之空气质量检测客户端项目-IT计算机-毕业设计.zip Android应用...
以上就是关于“android客户端和服务端的连接”这一主题的主要知识点,实际项目中可能还会涉及API设计、数据缓存策略、网络性能优化等多个方面。理解并熟练掌握这些知识,能帮助开发者构建高效、稳定的网络通信功能。
- **代码示例**:压缩包中可能包含一个运行示例,展示了如何使用Android客户端获取、显示新闻数据。 - **学习资源**:开发者可以参考这些示例代码理解新闻系统的实现细节和最佳实践。 6. **数据解析与展示**: -...
WebSocket是Web应用中的一种实时通信协议,它允许服务器与客户端之间进行双向通信,即服务器可以主动向客户端推送数据,而不仅仅是响应客户端的请求。在安卓客户端实现WebSocket时,我们需要了解和掌握以下几个关键...
在本节"057集-Android客户端与服务端交互-服务端代码"的视频教程中,我们将深入探讨Android应用程序如何与服务端进行有效且安全的通信,这对于开发任何涉及网络功能的Android应用来说都是至关重要的。这个教程针对的...
"duic 配置中心 Java-Android 客户端工具包-duic-java-client.zip" 是一个专门为Java和Android开发者设计的客户端工具包,用于连接和交互与duic配置中心。这个工具包简化了在应用程序中集成远程配置的过程,使得...
在本示例中,Android客户端负责用户界面、数据获取和显示。它使用HTTP或HTTPS协议通过网络与服务器进行通信。Android SDK提供了HttpURLConnection和HttpClient等API来实现网络请求,但现在推荐使用Retrofit、OkHttp...
【标题】:“白宫Android客户端 wh-app-android”是一个专门为Android用户设计的应用程序,它允许用户方便地访问和互动与白宫的相关信息。这个应用是白宫官方在移动设备上的一个接口,为公众提供了一个窗口,以了解...
【Android-Daily内容采集的Android客户端】是一款遵循Material Design设计规范、采用MVP(Model-View-Presenter)架构模式,并结合RxJava和Retrofit技术实现的内容采集应用。这个项目为开发者提供了一个完整的...
android-support-v4-v7-v13-v14-v17(官方最新完整版),官方最新版的,压缩包内包含android-support-v4、android-support-v7-appcompat,android-support-v7-cardview,android-support-v7-gridlayout,android-support-...
ksoap2-android-assembly-2.6.5-jar-with-dependencies.jar 要是需要最新的,下载地址: http://code.google.com/p/ksoap2-android/
在现代移动应用开发中,客户端(如Android应用程序)与服务器之间的实时通信是非常重要的功能之一。Android平台提供了多种方式来实现网络通信,其中Socket编程是一种非常基础且强大的方法。通过Socket,Android设备...
综上所述,Android客户端与服务器的数据交互是一个涉及网络连接、请求构建、响应处理、数据解析等多个环节的过程。在实际开发中,开发者需要熟练掌握各种网络请求库、数据解析工具以及安全策略,以实现高效、安全的...
ProjectRTC是一个WebRTC的PC端项目,实现了WebRTC的服务器功能和PC客户端功能,我们拿来当服务器用的,运行需要安装Node.JS。使用方法如下: 安装Node.JS ProjectRTC根目录下,命令行:npm install 命令行:node ...
在Android应用开发中,"客户端+服务端"的架构模式是常见的设计方式,它涉及到Android客户端与远程服务器之间的数据通信和交互。这种模式允许应用程序在本地执行用户界面操作,同时利用服务器的计算能力和存储资源来...
在Android平台上实现XMPP(Extensible Messaging and Presence Protocol)客户端是一项常见的任务,因为XMPP是一种广泛使用的即时通讯协议,尤其适用于构建实时通信应用,如聊天、视频通话等。本篇文章将深入探讨...
在Android应用开发中,客户端与后台服务器的交互是不可或缺的一部分,尤其在实现数据的获取、存储和更新等操作时。本示例项目“android客户端与后台服务器交互demo”旨在演示如何在Android应用中与由Structs和...
在Android平台上实现音频的实时传输与播放是一项技术性较强的任务,涉及到多个关键环节,包括音频数据的采集、编码、传输以及解码和播放。这里我们将深入探讨这些环节,并结合"Android音频实时传输与播放--客户端"这...