import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ListView;
import com.google.gson.Gson;
import com.hgz.test.apigetfooddata.bean.Food;
import com.hgz.test.apigetfooddata.utils.StreamTools;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.util.List;
import java.util.logging.Handler;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button btnGetFood = (Button) findViewById(R.id.btnGetFood);
ListView list = (ListView) findViewById(R.id.listview);
btnGetFood.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
getFood();
}
});
}
private void getFood() {
new Thread() {
@Override
public void run() {
super.run();
try {
//相当于你们在打开浏览器,地址栏填网址
URL url = new URL("http://apis.juhe.cn/cook/query.php?menu=秘制红烧肉&key=1fe0aebec3396c977560e16f14613413");
//相当于你们敲回车键
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
//设置请求方式 GET / POST 请求方式字母必须大写
urlConnection.setRequestMethod("GET");
//设置连接服务器时间
urlConnection.setConnectTimeout(5000);
//设置读取数据的时间
urlConnection.setReadTimeout(5000);
//等待服务响应
//得到服务响应的状态码 1xx 2xx 3xx 4xx 5xx 200 OK 404 500
int code = urlConnection.getResponseCode();
if (code == 200) {//服务响应成功
//获取数据
InputStream is = urlConnection.getInputStream();
String json = StreamTools.getFoodData(is);
Gson gson = new Gson();
Food food = gson.fromJson(json, Food.class);
List<Food.ResultBean.DataBean.StepsBean> steps = food.getResult().getData().get(0).getSteps();
for (Food.ResultBean.DataBean.StepsBean stepBean : steps) {
System.out.println(stepBean.getStep());
}
System.out.println("请求的数据 : " + json);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}.start();
}
}
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ListView;
import com.google.gson.Gson;
import com.hgz.test.apigetfooddata.bean.Food;
import com.hgz.test.apigetfooddata.utils.StreamTools;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.util.List;
import java.util.logging.Handler;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button btnGetFood = (Button) findViewById(R.id.btnGetFood);
ListView list = (ListView) findViewById(R.id.listview);
btnGetFood.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
getFood();
}
});
}
private void getFood() {
new Thread() {
@Override
public void run() {
super.run();
try {
//相当于你们在打开浏览器,地址栏填网址
URL url = new URL("http://apis.juhe.cn/cook/query.php?menu=秘制红烧肉&key=1fe0aebec3396c977560e16f14613413");
//相当于你们敲回车键
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
//设置请求方式 GET / POST 请求方式字母必须大写
urlConnection.setRequestMethod("GET");
//设置连接服务器时间
urlConnection.setConnectTimeout(5000);
//设置读取数据的时间
urlConnection.setReadTimeout(5000);
//等待服务响应
//得到服务响应的状态码 1xx 2xx 3xx 4xx 5xx 200 OK 404 500
int code = urlConnection.getResponseCode();
if (code == 200) {//服务响应成功
//获取数据
InputStream is = urlConnection.getInputStream();
String json = StreamTools.getFoodData(is);
Gson gson = new Gson();
Food food = gson.fromJson(json, Food.class);
List<Food.ResultBean.DataBean.StepsBean> steps = food.getResult().getData().get(0).getSteps();
for (Food.ResultBean.DataBean.StepsBean stepBean : steps) {
System.out.println(stepBean.getStep());
}
System.out.println("请求的数据 : " + json);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}.start();
}
}