网络请求+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(){});    }}














原创粉丝点击