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 com.google.gson.Gson;
import java.io.BufferedReader;
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 {
String path="https://www.zhaoapi.cn/product/getCatagory";
private ListView list_view;
private List<Bean.DataBean> data;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
list_view = findViewById(R.id.list_view);
boolean conn = NewUtil.isConn(MainActivity.this);
if(conn){
MyTask myTask=new MyTask();
myTask.execute();
list_view.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
final int cid = data.get(i).getCid();
Intent intent=new Intent(MainActivity.this,Main2Activity.class);
intent.putExtra("cid",cid);
startActivity(intent);
}
});
}else{
NewUtil.openNetDialog(MainActivity.this);
}
}
class MyTask extends AsyncTask<String,Void,String>{
@Override
protected String doInBackground(String... strings) {
try {
URL url=new URL(path);
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
urlConnection.setConnectTimeout(5000);
urlConnection.setReadTimeout(5000);
urlConnection.setRequestMethod("GET");
int responseCode = urlConnection.getResponseCode();
if(responseCode==200){
InputStream inputStream = urlConnection.getInputStream();
return streamToString(inputStream);
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
if(s!=null){
Gson gson=new Gson();
Bean bean = gson.fromJson(s, Bean.class);
data = bean.getData();
MyAdapter adapter=new MyAdapter(MainActivity.this, data);
list_view.setAdapter(adapter);
}
}
}
public String streamToString(InputStream inputStream) {
StringBuilder stringBuilder=new StringBuilder();
try {
BufferedReader reader=new BufferedReader(new InputStreamReader(inputStream));
String str;
while((str=reader.readLine())!=null){
stringBuilder.append(str);
}
} catch (Exception e) {
e.printStackTrace();
}
return stringBuilder.toString();
}
}
====================================================================================================================================
====================================================================================================================================
package com.bawie.com.zhoukaomoni;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.AsyncTask;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.util.List;
/**
* Created by Administrator on 2017/12/29 0029.
*/
public class MyAdapter extends BaseAdapter {
Context context;
List<Bean.DataBean> data;
public MyAdapter(Context context, List<Bean.DataBean> data) {
this.context=context;
this.data=data;
}
@Override
public int getCount() {
return data.size();
}
@Override
public Object getItem(int i) {
return data.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_layout,null);
holder=new ViewHolder();
holder.textView=view.findViewById(R.id.textView);
holder.imageView=view.findViewById(R.id.imageView);
view.setTag(holder);
}else{
holder = (ViewHolder) view.getTag();
}
holder.textView.setText(data.get(i).getName());
MyImage myImage=new MyImage(holder.imageView);
myImage.execute(data.get(i).getIcon());
return view;
}
class ViewHolder{
TextView textView;
ImageView imageView;
}
class MyImage extends AsyncTask<String,Void,Bitmap>{
private ImageView imageView;
public MyImage(ImageView imageView) {
this.imageView = imageView;
}
@Override
protected Bitmap doInBackground(String... strings) {
try {
URL url=new URL(strings[0]);
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
urlConnection.setRequestMethod("GET");
urlConnection.setReadTimeout(5000);
urlConnection.setConnectTimeout(5000);
int responseCode = urlConnection.getResponseCode();
if(responseCode==200){
InputStream inputStream = urlConnection.getInputStream();
Bitmap bitmap = BitmapFactory.decodeStream(inputStream);
return bitmap;
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(Bitmap bitmap) {
super.onPostExecute(bitmap);
if(bitmap==null){
imageView.setImageResource(R.mipmap.ic_launcher);
}else{
imageView.setImageBitmap(bitmap);
}
}
}
}