新浪微博(3)之跳转详细页---WebView
来源:互联网 发布:淘宝怎么搜索发票 编辑:程序博客网 时间:2024/06/06 03:29
这个已经是做抓取新浪微博数据的第三个接口了。
点击首页上面的某个微博,然后跳转到该微博的详细页。
简单来说就是点击ListView上面的某个item,跳转到改item对应的ID的详细页---WebView。
接口链接:http://open.weibo.com/wiki/2/statuses/go
拿到接口内容必须要有两个参数---uid和id,一个是user的id,一个是post的id: https://api.weibo.com/2/statuses/go?uid=114757575&id=40475757475745 (黄色的是对应的item的数据)
沿用以往的方法,利用intent.putExtra来传递两个Activity之间的所需参数 ---uid和post_id。
因为微博页面有分原文和转发,所以需要有两组数据。
convertView.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View v) {// TODO Auto-generated method stubIntent intent = new Intent(weiboActivity.this, DetailPageActivity.class);intent.putExtra("uid", List.get(locate).getOri_uid());intent.putExtra("post_id", List.get(locate).getOri_post_id());startActivity(intent);}});
convertView.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View v) {// TODO Auto-generated method stubIntent intent = new Intent(weiboActivity.this, DetailPageActivity.class);intent.putExtra("uid", List.get(position).getUid());intent.putExtra("post_id", List.get(position).getPost_id());startActivity(intent);}});
监听控件放在Adapter类中的getView()方法里,给convertView(view)绑定点击监听时间。
因为每次只会跳转一个详情页,所以传输的key一样也是可以的。
接下来就是DetailPageActivity.class的代码处理了。
这个类的代码比较简单,只需要一个包含WebView的布局就可以了。直接使用WebView的loadUrl(url)方法调用显示接口链接即可。
首先拿到从前面那个类中使用intent拿到的数据:
Bundle bundle = getIntent().getExtras();String uid = bundle.getString("uid");String post_id = bundle.getString("post_id");
然后直接用WebView显示:
WebView view = (WebView) findViewById(R.id.view);view.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);view.loadUrl(url);view.setWebViewClient(new WebViewClient(){@Overridepublic boolean shouldOverrideUrlLoading(WebView view, String url) {//返回值是true的时候控制去WebView打开,为false调用系统浏览器或第三方浏览器view.loadUrl(url);//启用支持javascriptWebSettings settings = view.getSettings();settings.setJavaScriptEnabled(true);return true;}});
P.S.一下代码是参考一些高手的博文的,这里备注一下。
@Overridepublic boolean shouldOverrideUrlLoading(WebView view, String url) {//返回值是true的时候控制去WebView打开,为false调用系统浏览器或第三方浏览器view.loadUrl(url);//启用支持javascriptWebSettings settings = view.getSettings();settings.setJavaScriptEnabled(true);return true;}这段的用意是让接口链接直接在软件内打开,而非跳转到第三方浏览器或者自带浏览器上。
到此已经可以实现点击博文跳转到指定的详情页了。
整个DetailPageAcvitity的代码:
package com.example.intergrationpro;import org.apache.http.Header;import com.loopj.android.http.AsyncHttpClient;import com.loopj.android.http.RequestParams;import com.loopj.android.http.TextHttpResponseHandler;import android.app.Activity;import android.os.Bundle;import android.util.Log;import android.view.View;import android.view.Window;import android.webkit.WebSettings;import android.webkit.WebView;import android.webkit.WebViewClient;public class DetailPageActivity extends Activity{private String url,uid,post_id;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);this.requestWindowFeature(Window.FEATURE_NO_TITLE);//去掉标题栏 setContentView(R.layout.detailsweibo_layout);Bundle bundle = getIntent().getExtras();String uid = bundle.getString("uid");String post_id = bundle.getString("post_id");url = "https://api.weibo.com/2/statuses/go?"+"uid="+uid+"&id="+post_id;WebView view = (WebView) findViewById(R.id.view);view.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);view.loadUrl(url);view.setWebViewClient(new WebViewClient(){@Overridepublic boolean shouldOverrideUrlLoading(WebView view, String url) {//返回值是true的时候控制去WebView打开,为false调用系统浏览器或第三方浏览器view.loadUrl(url);//启用支持javascriptWebSettings settings = view.getSettings();settings.setJavaScriptEnabled(true);return true;}});}}
效果图:
此博文用以记录,方便日后重温使用。
0 0
- 新浪微博(3)之跳转详细页---WebView
- Android webview 自动登陆新浪微博实现(原理)
- weiciyuan新浪微博webview授权解析
- 新浪微博开发十三(授权之后的跳转)
- Android 跳转到新浪微博
- 使用WebView实现新浪微博Oauth2.0认证(android)
- 使用WebView实现新浪微博Oauth2.0认证(android)
- 新浪微博开发之查看详细微博的实现
- 新浪微博之忧
- WebView 跳转
- 新浪微博OAuth2.0认证详细过程
- 详细讲解新浪微博的API到底如何使用
- 网页数据采集:[5]新浪微博api详细教程
- 超详细的Python实现新浪微博模拟登陆
- 新浪微博Android版 登录之Logo欢迎页
- 新浪微博开发之十四(AFNetworking的使用 )
- 新浪微博开发之十五(MBProgressHUD的使用)
- 新浪微博开发之十六(封装网络工具)
- 【第16周项目1-堆排序】
- MediaCodec编译pcm为aac
- mvn介绍
- Ubuntu12.10 使用DNW传数据 进行ARM开发板烧写
- 第十四周项目1—验证算法(折半查找)
- 新浪微博(3)之跳转详细页---WebView
- 在NGUI中插入粒子特效(ParticleSystem)
- Caffe学习系列(3):视觉层(Vision Layers)及参数
- Android 自定义View探索——画布绘制
- test
- 关于局部更新listview的问题(只更新某个item)
- 等你一起来看海
- RecyclerView 使用 和简单demo
- 第16周项目3-归并排序算法的改进