异步请求网络json
来源:互联网 发布:淘宝号怎么看注册时间 编辑:程序博客网 时间:2024/05/22 13:40
package com.example.lxss;import android.os.AsyncTask;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.Button;import android.widget.ListView;import android.widget.TextView;import com.google.gson.Gson;import java.io.ByteArrayOutputStream;import java.io.InputStream;import java.net.HttpURLConnection;import java.net.URL;public class MainActivity extends AppCompatActivity {private Button button; private Button button1; private Bean bean; private ListView lv; private Mydapter ma; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); button = (Button) findViewById(R.id.button); button1 = (Button) findViewById(R.id.button2); lv = (ListView) findViewById(R.id.lv); ma=new Mydapter();button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { new AsyncTask<String,String,String>() { @Override protected String doInBackground(String... strings) { return getData(); } @Override protected void onPostExecute(String str) { Gson gson = new Gson(); bean = gson.fromJson(str, Bean.class); lv.setAdapter(ma); super.onPostExecute(str); }; }.execute(); }}); } class Mydapter extends BaseAdapter{ @Override public int getCount() { return bean.getNewslist().size(); } @Override public Object getItem(int i) { return bean.getNewslist().get(i ); } @Override public long getItemId(int i) { return i; } @Override public View getView(int i, View view, ViewGroup viewGroup) { ViewHoder vi; if (view==null){ vi = new ViewHoder(); view = View.inflate(MainActivity.this, R.layout.list, null); vi.textView3=(TextView) view.findViewById(R.id.textView3); vi.textView4=(TextView) view.findViewById(R.id.textView4); vi.textView5=(TextView) view.findViewById(R.id.textView5); vi.textView6=(TextView) view.findViewById(R.id.textView6); vi.tvs=(TextView) view.findViewById(R.id.tvs); view.setTag(vi); }else { vi = (ViewHoder) view.getTag(); } vi.textView3.setText(bean.getNewslist().get(i).getCtime()); vi.textView4.setText(bean.getNewslist().get(i).getDescription()); vi.textView5.setText(bean.getNewslist().get(i).getPicUrl()); vi.textView6.setText(bean.getNewslist().get(i).getTitle()); vi.tvs.setText(bean.getNewslist().get(i).getUrl()); return view; } class ViewHoder{ public TextView tvs; public TextView textView3; public TextView textView4; public TextView textView5; public TextView textView6; } } private String getData(){String str=""; try { URL url = new URL("https://api.tianapi.com/wxnew/?key=8d6e3228d25298f13af4fc40ce6c9679&num=10"); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod("GET"); int code = conn.getResponseCode(); if (code==200) { InputStream stream = conn.getInputStream(); ByteArrayOutputStream bos = new ByteArrayOutputStream(); int len=-1; byte[] b = new byte[1024]; while ((len=stream.read(b))!=-1){ bos.write(b,0,len); } str = new String (bos.toByteArray(),"GBK"); } } catch (Exception e) { e.printStackTrace(); } return str;}}
阅读全文
0 0
- 异步请求网络json
- 同步异步网络请求封装以及数据JSON解析
- 网络异步请求(2)
- ios网络异步请求
- IOS 异步 网络请求
- 同步/异步网络请求
- IOS ---网络异步请求
- Android异步网络请求
- 网络异步请求数据
- 网络请求同步异步
- 异步block网络请求
- 网络异步请求
- 异步交互请求网络
- 异步请求网络
- 异步请求网络数据
- ios异步网络请求
- ajax异步网络请求
- 异步请求、处理JSON对象
- Oracle32位,使用PL/SQL12-64位
- 九度1453:Greedy Tino
- SIP语音对讲从零到整之(一)sip介绍
- Spring整合Websocket
- WebSocket(二):传递对象
- 异步请求网络json
- vi编辑器
- java单链表倒置
- python正态分布代码
- 线下测试没问题,上线就出错原因
- vs2017 64位命令行编译环境配置入门
- Python多进程
- mysql数据库的事物与链接池
- hdu5730(FFT+多项式求逆)