package com.example.cz.rikao3; import android.content.Intent; import android.os.Handler; import android.os.Message; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.AdapterView; import android.widget.ListView; import com.example.cz.rikao3.Bean.Bean; import com.example.cz.rikao3.Bean.ResultBean; import com.example.cz.rikao3.adapter.ListAdapter; import com.google.gson.Gson; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; import java.net.URLConnection; import java.util.List; public class MainActivity extends AppCompatActivity { private ListView listView; private List<Bean> list; private Handler handler = new Handler() { @Override public void handleMessage(Message msg) { if (msg.what == 0) { ResultBean resultBean = (ResultBean) msg.obj; list = resultBean.getResult().getData(); ListAdapter adapter = new ListAdapter(list, MainActivity.this); listView.setAdapter(adapter); } } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); listView = (ListView) findViewById(R.id.listview); listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) { if (list != null) { Intent intent = new Intent(MainActivity.this, WebActivity.class); intent.putExtra("url", list.get(i).getUrl()); startActivity(intent); } } }); } public void jinritotiao(View view) { getjson(); } private void getjson() { new Thread() { @Override public void run() { String path = "http://v.juhe.cn/toutiao/index"; try { URL url = new URL(path); HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection(); urlConnection.setRequestMethod("POST"); urlConnection.setReadTimeout(5000); urlConnection.setConnectTimeout(5000); urlConnection.setDoOutput(true); urlConnection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); String parems = "type=top&key=597b4f9dcb50e051fd725a9ec54d6653"; urlConnection.getOutputStream().write(parems.getBytes()); int responseCode = urlConnection.getResponseCode(); if (responseCode == 200) { InputStream inputStream = urlConnection.getInputStream(); String json = streamTostring(inputStream, "utf-8"); Gson gson = new Gson(); ResultBean resultBean = gson.fromJson(json, ResultBean.class); Message message = Message.obtain(); message.what = 0; message.obj = resultBean; handler.sendMessage(message); } } catch (Exception e) { e.printStackTrace(); } } }.start(); } private String streamTostring(InputStream inputStream, String s) { try { InputStreamReader inputStreamReader = new InputStreamReader(inputStream,s); BufferedReader bufferedReader = new BufferedReader(inputStreamReader); StringBuilder builder = new StringBuilder(); String string = null; while ((string = bufferedReader.readLine()) != null) { builder.append(string); } bufferedReader.close(); return builder.toString(); } catch (Exception e) { e.printStackTrace(); } return null; } }
package com.example.cz.rikao3.adapter; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.os.Handler; import android.os.Message; import android.widget.ImageView; import java.io.InputStream; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; import java.net.URLConnection; /** * Created by CZ on 2017/9/1. */ public class ImagetUtil { ImageView imageView; private Handler handler = new Handler(){ @Override public void handleMessage(Message msg) { if (msg.what == 0){ Bitmap bitmap = (Bitmap) msg.obj; imageView.setImageBitmap(bitmap); } } }; public void getImage(final String path , ImageView imageView){ this.imageView = imageView; new Thread(){ @Override public void run() { try { URL url = new URL(path); HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection(); urlConnection.setRequestMethod("GET"); urlConnection.setConnectTimeout(5000); urlConnection.setReadTimeout(5000); int responseCode = urlConnection.getResponseCode(); if (responseCode == 200){ InputStream inputStream = urlConnection.getInputStream(); Bitmap bitmap = BitmapFactory.decodeStream(inputStream); Message message = Message.obtain(); message.what = 0; message.obj = bitmap; handler.sendMessage(message); } } catch (Exception e) { e.printStackTrace(); } } }.start(); } }
package com.example.cz.rikao3.adapter; import android.content.Context; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.ImageView; import android.widget.TextView; import com.example.cz.rikao3.Bean.Bean; import com.example.cz.rikao3.R; import java.util.List; /** * Created by CZ on 2017/9/1. */ public class ListAdapter extends BaseAdapter { List<Bean> list; Context context; public ListAdapter(List<Bean> list, Context context) { this.list = list; this.context = context; } @Override public int getCount() { return list.size(); } @Override public Object getItem(int i) { return list.get(i); } @Override public long getItemId(int i) { return i; } @Override public View getView(int i, View view, ViewGroup viewGroup) { ViewHolder holder; if (view == null) { view = View.inflate(context, R.layout.list_view, null); holder = new ViewHolder(); holder.title = (TextView) view.findViewById(R.id.text_title); holder.author_name = (TextView) view.findViewById(R.id.text_author); holder.date = (TextView) view.findViewById(R.id.text_time); holder.thumbnail_pic_s = (ImageView) view.findViewById(R.id.img_01); holder.thumbnail_pic_s02 = (ImageView) view.findViewById(R.id.img_02); holder.thumbnail_pic_s03 = (ImageView) view.findViewById(R.id.img_03); view.setTag(holder); } else { holder = (ViewHolder) view.getTag(); } holder.title.setText(list.get(i).getTitle()); holder.author_name.setText(list.get(i).getAuthor_name()); holder.date.setText(list.get(i).getDate()); new ImagetUtil().getImage(list.get(i).getThumbnail_pic_s(), holder.thumbnail_pic_s); new ImagetUtil().getImage(list.get(i).getThumbnail_pic_s02(), holder.thumbnail_pic_s02); new ImagetUtil().getImage(list.get(i).getThumbnail_pic_s03(), holder.thumbnail_pic_s03); return view; } public class ViewHolder { TextView title; TextView author_name; TextView date; ImageView thumbnail_pic_s; ImageView thumbnail_pic_s02; ImageView thumbnail_pic_s03; } }
package com.example.cz.rikao3; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.webkit.WebSettings; import android.webkit.WebView; import android.webkit.WebViewClient; /** * Created by CZ on 2017/9/1. */ public class WebActivity extends Activity{ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.webactivity); WebView webView = (WebView) findViewById(R.id.web_view); Intent intent = getIntent(); String url = intent.getStringExtra("url"); //加载 webView.loadUrl(url); //设置 webView.setWebViewClient(new WebViewClient()); WebSettings settings = webView.getSettings(); settings.setJavaScriptEnabled(true); settings.setJavaScriptCanOpenWindowsAutomatically(true); } }