package com.example.imagerloaderdemo;
import android.hardware.camera2.params.OutputConfiguration;
import android.os.AsyncTask;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
import com.google.gson.Gson;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.UnsupportedEncodingException;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
import java.util.List;
public class MainActivity extends AppCompatActivity {
List<Bean.ResultBean.DataBean.StepsBean> list;
private ListView lv;
private ImageLoader loader;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//ImageLoaderConfiguration方法
ImageLoaderConfiguration configuration = ImageLoaderConfiguration.createDefault(MainActivity.this);
ImageLoader.getInstance().init(configuration);
//控件
lv = (ListView) findViewById(R.id.lv);
try {
//请求网址
getData("http://apis.juhe.cn/cook/query.php?key=81921c6270f37eeec75be4081bd61e91&menu="+ URLEncoder.encode("秘制红烧肉","utf-8"));
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
public void getData(String data){
new AsyncTask<String,Void,String>(){
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
Gson gson = new Gson();
Bean bean = gson.fromJson(s, Bean.class);
list = bean.getResult().getData().get(0).getSteps();
//绑定适配器
Youhua youhua = new Youhua(list);
lv.setAdapter(youhua);
}
@Override
protected String doInBackground(String... strings) {
String url = strings[0];
try {
HttpURLConnection connection= (HttpURLConnection) new URL(url).openConnection();
//POST请求
connection.setRequestMethod("POST");
connection.setReadTimeout(5000);
connection.setConnectTimeout(5000);
//output方法
OutputStream out = connection.getOutputStream();
//网络请求
//out.write(("http://apis.juhe.cn/cook/query.php?key=81921c6270f37eeec75be4081bd61e91&menu="+ URLEncoder.encode("秘制红烧肉","utf-8")).getBytes());
//刷新
out.flush();
//得到服务器相应状态
int code = connection.getResponseCode();
if (code==200){
InputStream is = connection.getInputStream();
String shuju = Jiexi.shuju(is);
System.out.println("================"+shuju);
return shuju;
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
}.execute(data);
}
//适配器
class Youhua extends BaseAdapter{
List<Bean.ResultBean.DataBean.StepsBean> list;
public Youhua(List<Bean.ResultBean.DataBean.StepsBean> list) {
this.list = list;
//ImageLoader方法
loader = ImageLoader.getInstance();
}
@Override
public int getCount() {
if (list != null){
return list.size();
}
return 0;
}
@Override
public Object getItem(int i) {
return null;
}
@Override
public long getItemId(int i) {
return 0;
}
@Override
public View getView(int position, View contentView, ViewGroup viewGroup) {
if (contentView == null){
contentView = View.inflate(MainActivity.this,R.layout.youhua,null);
}
TextView tv =(TextView) contentView.findViewById(R.id.tv1);
ImageView im =(ImageView) contentView.findViewById(R.id.im);
//打印文本
tv.setText(list.get(position).getStep());
//打印图片
loader.displayImage(list.get(position).getImg(),im);
return contentView;
}
}
}
POST解析(Imagerloader、异步、图片、文字、listv显示)
最新推荐文章于 2021-11-29 16:40:08 发布