httpurlconnnection_newstop
来源:互联网 发布:上古世纪人物捏脸数据 编辑:程序博客网 时间:2024/06/07 17:17
MainActivity
package com.example.a02_httpurlconnnection_newstop_03;import android.app.AlertDialog;import android.content.Context;import android.content.DialogInterface;import android.content.Intent;import android.net.ConnectivityManager;import android.net.NetworkInfo;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.provider.Settings;import android.support.v7.app.AppCompatActivity;import android.util.Log;import android.view.View;import android.widget.AdapterView;import android.widget.ListView;import com.example.a02_httpurlconnnection_newstop_03.bean.DataBean;import com.example.a02_httpurlconnnection_newstop_03.bean.DataResultBean;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.URL;import java.util.List;public class MainActivity extends AppCompatActivity { private ListView lv; private Handler handler = new Handler() { @Override public void handleMessage(Message msg) { if (msg.what == 0) { DataBean dataBean = (DataBean) msg.obj; list = dataBean.getResult().getData(); Myadapter adapter = new Myadapter(list, MainActivity.this); lv.setAdapter(adapter); } } }; private List<DataResultBean> list; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); lv = (ListView) findViewById(R.id.lv); lv.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, Web.class); intent.putExtra("url", list.get(i).getUrl()); startActivity(intent); } } }); } public void getTop(View view) { if (isNetConnected()) { getNetData(); } else { AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this); builder.setTitle("警告"); builder.setMessage("网络不可用,是否设置?"); builder.setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i) { Intent intent = new Intent(Settings.ACTION_WIFI_SETTINGS); startActivity(intent); } }); builder.setNegativeButton("取消", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i) { } }); builder.show(); } } private boolean isNetConnected() { ConnectivityManager manager = (ConnectivityManager) MainActivity.this.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo networkInfo = manager.getActiveNetworkInfo(); if (networkInfo != null) { return networkInfo.isAvailable(); } return false; } private void getNetData() { new Thread() { @Override public void run() { String path = "http://v.juhe.cn/toutiao/index"; try { URL url = new URL(path); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod("POST"); connection.setConnectTimeout(5000); connection.setReadTimeout(5000); connection.setDoOutput(true); connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); String params = "type=top&key=597b4f9dcb50e051fd725a9ec54d6653"; connection.getOutputStream().write(params.getBytes()); int responseCode = connection.getResponseCode(); if (responseCode == 200) { InputStream inputStream = connection.getInputStream(); String json = steamTostring(inputStream, "utf-8"); Log.i("json", json); Gson gson = new Gson(); DataBean databean = gson.fromJson(json, DataBean.class); Message message = Message.obtain(); message.what = 0; message.obj = databean; handler.sendMessage(message); } } catch (Exception e) { e.printStackTrace(); } } }.start(); } private String steamTostring(InputStream inputStream, String check) { try { InputStreamReader inputStreamReader = new InputStreamReader(inputStream, check); BufferedReader bufferedReader = new BufferedReader(inputStreamReader); StringBuffer buffer = new StringBuffer(); String s = null; while ((s = bufferedReader.readLine()) != null) { buffer.append(s); } bufferedReader.close(); return buffer.toString(); } catch (IOException e) { e.printStackTrace(); } return null; }}
----------------------------------------------------------------
Myadapter
----------------------------------------------------------------
package com.example.a02_httpurlconnnection_newstop_03;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.a02_httpurlconnnection_newstop_03.bean.DataResultBean;import java.util.List;/** * Created by lenovo on 2017/9/8. */public class Myadapter extends BaseAdapter { List<DataResultBean> list; Context context; public Myadapter(List<DataResultBean> 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.items, null); holder = new ViewHolder(); holder.tv1 = (TextView) view.findViewById(R.id.tv1); holder.tv2 = (TextView) view.findViewById(R.id.tv1); holder.tv3 = (TextView) view.findViewById(R.id.tv1); holder.iv1 = (ImageView) view.findViewById(R.id.iv1); holder.iv2 = (ImageView) view.findViewById(R.id.iv2); holder.iv3 = (ImageView) view.findViewById(R.id.iv3); view.setTag(holder); } else { holder = (ViewHolder) view.getTag(); } holder.tv1.setText(list.get(i).getAuthor_name()); holder.tv2.setText(list.get(i).getTitle()); holder.tv3.setText(list.get(i).getDate()); new ImageUtil().getImage(list.get(i).getThumbnail_pic_s(), holder.iv1); new ImageUtil().getImage(list.get(i).getThumbnail_pic_s02(), holder.iv2); new ImageUtil().getImage(list.get(i).getThumbnail_pic_s03(), holder.iv3); return view; } class ViewHolder { TextView tv1; TextView tv2; TextView tv3; ImageView iv1; ImageView iv2; ImageView iv3; }}
---------------------------------------------------------------------------------
ImageUtil
---------------------------------------------------------------------------------
package com.example.a02_httpurlconnnection_newstop_03;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.URL;/** * Created by lenovo on 2017/9/8. */public class ImageUtil { ImageView iv; private Handler handler = new Handler() { @Override public void handleMessage(Message msg) { Bitmap bitmap = (Bitmap) msg.obj; iv.setImageBitmap(bitmap); } }; public void getImage(final String path, ImageView iv) { new Thread() { @Override public void run() { try { URL url = new URL(path); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod("GET"); connection.setReadTimeout(5000); connection.setConnectTimeout(5000); int responseCode = connection.getResponseCode(); if (responseCode == 200) { InputStream inputStream = connection.getInputStream(); Bitmap bitmap = BitmapFactory.decodeStream(inputStream); Message message = Message.obtain(); message.what = 0; message.obj = bitmap; } } catch (Exception e) { e.printStackTrace(); } } }.start(); }}
--------------------------------------------------------------------------------------------------------
Web
--------------------------------------------------------------------------------------------------------
package com.example.a02_httpurlconnnection_newstop_03;import android.content.Intent;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.webkit.WebSettings;import android.webkit.WebView;import android.webkit.WebViewClient;/** * Created by lenovo on 2017/9/8. */public class Web extends AppCompatActivity { private WebView web; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.web); web = (WebView) findViewById(R.id.web); Intent intent = getIntent(); String url = intent.getStringExtra("url"); web.loadUrl(url); web.setWebViewClient(new WebViewClient()); WebSettings settings = web.getSettings(); settings.setJavaScriptEnabled(true); settings.setJavaScriptCanOpenWindowsAutomatically(true); }}
阅读全文
0 0
- httpurlconnnection_newstop
- Xshell不能使用删除按键
- [LeetCode] Valid Parentheses
- [LeetCode] Valid Palindrome
- [LeetCode] Validate Binary Search Tree
- [LeetCode] Surrounded Regions
- httpurlconnnection_newstop
- [LeetCode] Word Search
- [LeetCode] String to Integer(atoi)
- [LeetCode] Sort Colors
- [LeetCode] Sqrt
- 图的存储(前向星)
- [LeetCode] Simplify Path
- 《高性能SQL调优精要与案例解析》一书谈SQL调优(SQL TUNING或SQL优化)学习
- [LeetCode] N-Queens