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(); } }