HttpClient2

package com.example.day3moni1;

import android.content.Intent;
import android.os.AsyncTask;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;

import com.example.adapter.my1adapter;
import com.example.bean.news1bean;
import com.google.gson.Gson;

import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.impl.conn.DefaultClientConnection;

import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;

public class Second extends AppCompatActivity {

    private ListView list_view1;
    String url="http://www.xieast.com/api/news/news.php?page=2";
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_second);
        list_view1 = findViewById(R.id.list_view1);
        //异步解析
        Myasync myasync = new Myasync();
        myasync.execute(url);

    }
     public class Myasync extends AsyncTask<String,Integer,String>{

         @Override
         protected String doInBackground(String... params) {
             DefaultHttpClient client = new DefaultHttpClient();
             String path =params[0];
             HttpGet get = new HttpGet(path);
             try {
                 HttpResponse response = client.execute(get);
                 if(response.getStatusLine().getStatusCode()==200){
                     //从服务器获取输入流
                     InputStream inputStream = response.getEntity().getContent();
                     ByteArrayOutputStream bos = new ByteArrayOutputStream();
                     byte[] buffer = new byte[1024];
                     int len = 0;
                     while ((len = inputStream.read(buffer)) != -1) {
                         bos.write(buffer, 0, len);
                     }
                     inputStream.close();
                     bos.close();
                     String json = bos.toString();
                     return json;

                 }
             } catch (Exception e) {
                 e.printStackTrace();
             }
             return null;
         }

         @Override
         protected void onPostExecute(String s) {
             super.onPostExecute(s);
             Gson gson = new Gson();
             news1bean news1bean = gson.fromJson(s, news1bean.class);
             final List<com.example.bean.news1bean.DataBean> data =  news1bean.getData();
             my1adapter my1adapter = new my1adapter(Second.this,data);
             list_view1.setAdapter(my1adapter);
             list_view1.setOnItemClickListener(new AdapterView.OnItemClickListener() {
                 @Override
                 public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
                     Toast.makeText(Second.this,data.get(i).getUrl(),0).show();
                     Intent intent = new Intent(Second.this, Three.class);
                     intent.putExtra("url", data.get(i).getUrl());
                     startActivity(intent);
                     finish();
                 }
             });
         }
     }
}


猜你喜欢

转载自blog.csdn.net/qq_42045179/article/details/80964680