网络请求+webview
来源:互联网 发布:linux系统的rpm包什么 编辑:程序博客网 时间:2024/05/16 10:31
package com.bwei.Test.zhangjian20170812lianxi02.Activity;import android.content.Intent;import android.graphics.Path;import android.os.AsyncTask;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.view.ViewGroup;import android.widget.AdapterView;import android.widget.BaseAdapter;import android.widget.ImageView;import android.widget.ListView;import android.widget.TextView;import android.widget.Toast;import com.bwei.Test.zhangjian20170812lianxi02.MyBean.Bean;import com.bwei.Test.zhangjian20170812lianxi02.R;import com.bwei.imageloaderlibrary.ImageLoaderUtils;import com.google.gson.Gson;import com.nostra13.universalimageloader.core.DisplayImageOptions;import com.nostra13.universalimageloader.core.ImageLoader;import java.io.ByteArrayOutputStream;import java.io.InputStream;import java.net.HttpURLConnection;import java.net.MalformedURLException;import java.net.URL;import java.net.URLConnection;import java.util.List;public class MyActivity extends AppCompatActivity { private String path="http://ic.snssdk.com/2/article/v25/stream/?category=news_tech&count=20&bd_latitude=4.9E-324&bd_longitude=4.9E-324&bd_loc_time=1457695555&loc_mode=5&lac=4527&cid=28883&iid=3835029558&device_id=12211880440&ac=wifi&channel=baidu&aid=13&app_name=news_article&version_code=460&device_platform=android&device_type=iToolsAVM&os_api=19&os_version=4.4.4&uuid=352284041361761&openudid=84c1c7b192991cc6"; private List<Bean.DataBean> list; private ListView listView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_my); listView= (ListView) findViewById(R.id.listview); MyAsayTask task=new MyAsayTask(); task.execute(path); listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { Intent it=new Intent(MyActivity.this,MyWebView.class); String display_url = list.get(position).getDisplay_url(); if (display_url!=null){ it.putExtra("path",list.get(position).getDisplay_url()); startActivity(it); } } }); } class MyAsayTask extends AsyncTask<String,Integer,String>{ @Override protected String doInBackground(String... params) { try { URL url=new URL(path); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setReadTimeout(5000); connection.setRequestMethod("POST"); if (connection.getResponseCode()==200){ InputStream inputStream = connection.getInputStream(); byte[] bytes=new byte[1024]; int len=0; ByteArrayOutputStream arrayOutputStream=new ByteArrayOutputStream(); while ((len=inputStream.read(bytes))!=-1){ arrayOutputStream.write(bytes,0,len); } return arrayOutputStream.toString("utf-8"); } } catch (Exception e) { e.printStackTrace(); } return null; } @Override protected void onPostExecute(String s) { super.onPostExecute(s); Gson gson=new Gson(); Bean bean = gson.fromJson(s, Bean.class); list = bean.getData(); MyAdapter adapter=new MyAdapter(); listView.setAdapter(adapter); } } class MyAdapter extends BaseAdapter{ private int TYPE_1=0; private int TYPE_2=1; private int TYPE_3=2; @Override public int getCount() { return list!=null?list.size():0; } @Override public Object getItem(int position) { return list.get(position); } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { ViewHolder holder; int type=getItemViewType(position); if (convertView==null){ holder=new ViewHolder(); switch (type){ case 0: convertView=View.inflate(MyActivity.this,R.layout.item01,null); holder.textView= (TextView) convertView.findViewById(R.id.title); holder.textView2= (TextView) convertView.findViewById(R.id.source); convertView.setTag(holder); break; case 1: convertView=View.inflate(MyActivity.this,R.layout.item02,null); holder.textView= (TextView) convertView.findViewById(R.id.title); holder.textView2= (TextView) convertView.findViewById(R.id.source); holder.imageView= (ImageView) convertView.findViewById(R.id.imageView4); convertView.setTag(holder); break; case 2: convertView=View.inflate(MyActivity.this,R.layout.item03,null); holder.textView= (TextView) convertView.findViewById(R.id.title); holder.textView2= (TextView) convertView.findViewById(R.id.source); holder.imageView= (ImageView) convertView.findViewById(R.id.imageView1); holder.imageView2= (ImageView) convertView.findViewById(R.id.imageView2); holder.imageView3= (ImageView) convertView.findViewById(R.id.imageView3); convertView.setTag(holder); break; } }else { holder= (ViewHolder) convertView.getTag(); } DisplayImageOptions options = ImageLoaderUtils.getOptions(); switch (type){ case 0: holder.textView.setText(list.get(position).getTitle()); holder.textView2.setText(list.get(position).getSource()); break; case 1: holder.textView.setText(list.get(position).getTitle()); holder.textView2.setText(list.get(position).getSource()); ImageLoader.getInstance().displayImage(list.get(position).getUrl(),holder.imageView4,options); break; case 2: holder.textView.setText(list.get(position).getTitle()); holder.textView2.setText(list.get(position).getSource()); ImageLoader.getInstance().displayImage(list.get(position).getImage_list().get(0).getUrl(),holder.imageView,options); ImageLoader.getInstance().displayImage(list.get(position).getImage_list().get(1).getUrl(),holder.imageView2,options); ImageLoader.getInstance().displayImage(list.get(position).getImage_list().get(2).getUrl(),holder.imageView3,options); break; } return convertView; } @Override public int getViewTypeCount() { return 3; } @Override public int getItemViewType(int position) { if (list.get(position).getImage_list()==null){ return TYPE_1; }else if (list.get(position).getImage_list().size()==1){ return TYPE_2; }else if (list.get(position).getImage_list().size()==3){ return TYPE_3; } return TYPE_1; } } class ViewHolder{ TextView textView,textView2; ImageView imageView,imageView2,imageView3,imageView4; }}
//webview接受参数
package com.bwei.Test.zhangjian20170812lianxi02.Activity;import android.content.Intent;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.webkit.WebChromeClient;import android.webkit.WebSettings;import android.webkit.WebView;import android.webkit.WebViewClient;import com.bwei.Test.zhangjian20170812lianxi02.R;public class MyWebView extends AppCompatActivity { private WebView webView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_my_web_view); webView= (WebView) findViewById(R.id.wv); Intent it=getIntent(); String path = it.getStringExtra("path"); settings(); webView.loadUrl(path); } public void settings(){ WebSettings settings = webView.getSettings(); settings.setJavaScriptEnabled(true); settings.setJavaScriptCanOpenWindowsAutomatically(true); webView.setWebViewClient(new WebViewClient(){}); webView.setWebChromeClient(new WebChromeClient(){}); }}
阅读全文
0 0
- Webview请求网络
- webView 拦截网络请求
- 网络请求+webview
- WebView通过网络请求加载html
- Android中WebView拦截替换网络请求数据
- Android中WebView拦截替换网络请求数据
- Android中WebView拦截替换网络请求数据
- Swift 网络请求, 图片加载, tableView, collectionView, webView(八)
- Android中WebView拦截替换网络请求数据
- Android中WebView拦截替换网络请求数据
- Webview 非http或者https的网络请求拦截
- Android中WebView或者网络请求实现动态全局代理
- webview拦截请求
- 8.04 webView 加载请求
- WebView进行post请求
- webview拦截请求
- 加载webView发送请求
- webview添加请求头
- 程序员职业生涯全攻略
- Linux学习(七)
- java网络编程读书笔记-Ch02
- Android四大组件之Service的两种使用情况
- 垃圾收集器
- 网络请求+webview
- hdu6114 2017"百度之星"初赛(B)1001Chess(dp)
- c语言初步经典题15--另类求和程序填空
- c++经验总结(1):linux c 编译时出现warning: assignment makes pointer from integer without a cast原因
- EA画时序图
- 《C Primer Plus》
- 你还在这样做:浏览器“记住用户名密码”?
- Mycat之——取模分片
- python之struct