private String serverURL = "http://debtolee.iwinv.net/yolijoli/yolijoli_myrecipe_select.php";
private String email ="";
String mJsonString = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getRecipeInfoRandDB();
]
private void getRecipeInfoRandDB() {
URLConnector task = new URLConnector(serverURL+"?i_recipe_writer="+email);
task.start();
try {
task.join();
System.out.println("waiting... for result");
} catch (InterruptedException e) {
e.printStackTrace();
}
//return된 json데이터
mJsonString = task.getResult();
showJson(mJsonString);
}
//데이터처리
private void showJson(String json) {
String TAG_JSON = "cookinfo";
String TAG_i_recipe_code = "i_recipe_code";
String TAG_i_recipe_name = "i_recipe_name";
String TAG_i_recipe_title = "i_recipe_title";
String TAG_i_recipe_part_code = "i_recipe_part_code";
String TAG_i_recipe_part_name = "i_recipe_part_name";
String TAG_i_recipe_food_code = "i_recipe_food_code";
String TAG_i_recipe_food_name = "i_recipe_food_name";
String TAG_i_recipe_cook_time = "i_recipe_cook_time";
String TAG_i_recipe_kcal = "i_recipe_kcal";
String TAG_i_recipe_dose = "i_recipe_dose";
String TAG_i_recipe_difficulty = "i_recipe_difficulty";
String TAG_i_recipe_material = "i_recipe_material";
String TAG_i_recipe_price= "i_recipe_price";
String TAG_i_recipe_img = "i_recipe_img";
String TAG_i_recipe_rating = "i_recipe_rating";
String TAG_i_recipe_writer_email = "i_recipe_writer_email";
String TAG_i_recipe_writer_name = "i_recipe_writer_name";
try {
JSONObject jsonObject = new JSONObject(json);
JSONArray jsonArray = jsonObject.getJSONArray(TAG_JSON);
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject item = jsonArray.getJSONObject(i);
RecipeInfoDTO dto = new RecipeInfoDTO();
dto.setI_recipe_code(item.getString(TAG_i_recipe_code));
dto.setI_recipe_title(item.getString(TAG_i_recipe_title));
dto.setI_recipe_name(item.getString(TAG_i_recipe_name));
dto.setI_recipe_part_code(item.getString(TAG_i_recipe_part_code));
dto.setI_recipe_part_name(item.getString(TAG_i_recipe_part_name));
dto.setI_recipe_food_code(item.getString(TAG_i_recipe_food_code));
dto.setI_recipe_food_name(item.getString(TAG_i_recipe_food_name));
dto.setI_recipe_cook_time(item.getString(TAG_i_recipe_cook_time));
dto.setI_recipe_kcal(item.getString(TAG_i_recipe_kcal));
dto.setI_recipe_dose(item.getString(TAG_i_recipe_dose));
dto.setI_recipe_difficulty(item.getString(TAG_i_recipe_difficulty));
dto.setI_recipe_material(item.getString(TAG_i_recipe_material));
dto.setI_recipe_price(item.getString(TAG_i_recipe_price));
dto.setI_recipe_rating(item.getInt(TAG_i_recipe_rating));
dto.setI_recipe_img(item.getString(TAG_i_recipe_img));
dto.setI_recipe_writer_email(item.getString(TAG_i_recipe_writer_email));
dto.setI_recipe_writer_name(item.getString(TAG_i_recipe_writer_name));
dao.addItem(dto);
}
gridview.setAdapter(dao);
} catch (JSONException e) {
Log.d("TAG", "showResult : ", e);
}
}
public class URLConnector extends Thread {
private String result;
private String URL;
public URLConnector(String url){
URL = url;
}
@Override
public void run() {
final String output = request(URL);
result = output;
}
public String getResult(){
return result;
}
private String request(String urlStr) {
StringBuilder output = new StringBuilder();
try {
java.net.URL url = new URL(urlStr);
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
if (conn != null) {
conn.setConnectTimeout(10000);
conn.setRequestMethod("GET");
conn.setDoInput(true);
conn.setDoOutput(true);
int resCode = conn.getResponseCode();
if (resCode == HttpURLConnection.HTTP_OK) {
BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream())) ;
String line = null;
while(true) {
line = reader.readLine();
if (line == null) {
break;
}
output.append(line + "\n");
}
reader.close();
conn.disconnect();
}
}
} catch(Exception ex) {
Log.e("SampleHTTP", "Exception in processing response.", ex);
ex.printStackTrace();
}
return output.toString();
}
}