HTTP getData Json

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

Leave a Comment