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(){}); } }
网络请求+webview
最新推荐文章于 2024-05-19 09:22:54 发布