package com.example.mysql_tester.library; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.UnsupportedEncodingException; import java.util.List; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.NameValuePair; import org.apache.http.client.ClientProtocolException; import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.methods.HttpGet; import org.apache.http.client.methods.HttpPost; import org.apache.http.client.utils.URLEncodedUtils; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.protocol.HTTP; import org.json.JSONException; import org.json.JSONObject; import android.util.Log; public class JSONParser { static InputStream is = null; static JSONObject jObj = null; static String json = ""; static String hostUrl = "http://proposal.yuer.tw/CodeIgniter/index.php/store/api?api=android"; //constructor public JSONParser(){ } //function get json from URL //by making HTTP POST or GET method public JSONObject makeHttpRequest(String method,List<NameValuePair> params){ //Making Http Request try{ //check request method if (method.equals("POST")){ //defaultHttpClient DefaultHttpClient HttpClient = new DefaultHttpClient(); //hostUrl += "&action=" +action; //���}��᭱���� HttpPost httppost = new HttpPost(hostUrl); UrlEncodedFormEntity mesag = new UrlEncodedFormEntity(params,"UTF-8"); mesag.setContentEncoding(HTTP.UTF_8); //�j��s�X��UTF-8 httppost.setEntity(mesag); HttpResponse httpResponse = HttpClient.execute(httppost); HttpEntity httpEntity = httpResponse.getEntity(); is = httpEntity.getContent(); } else if (method.equals("GET")){ //defaultHttpClient DefaultHttpClient HttpClient = new DefaultHttpClient(); //hostUrl += "&action=" +action; //���}��᭱���� String paramString = URLEncodedUtils.format(params, "utf-8"); hostUrl += "&" + paramString; //&���ӬO? HttpGet httpGet = new HttpGet(hostUrl); HttpResponse httpResponse = HttpClient.execute(httpGet); HttpEntity httpEntity = httpResponse.getEntity(); is = httpEntity.getContent(); } } catch (UnsupportedEncodingException e){ e.printStackTrace(); } catch (ClientProtocolException e){ e.printStackTrace(); } catch (IOException e){ e.printStackTrace(); } try{ BufferedReader reader = new BufferedReader(new InputStreamReader(is,"utf-8"),8); StringBuilder sb = new StringBuilder(); String line = null; while ((line = reader.readLine()) != null){ sb.append(line + "\n"); } is.close(); json = sb.toString(); } catch (Exception e){ Log.e("Buffer Error","Error Converting Result"+e.toString()); } //try parse a string to a JSON object try{ jObj = new JSONObject(json); } catch(JSONException e) { Log.e("JSON Parser","Error parsing data" +e.toString()); } //return JSON String return jObj; } public JSONObject MemberRequest(String url,String method,List<NameValuePair> params){ //Making Http Request try{ //check request method if (method.equals("POST")){ //defaultHttpClient DefaultHttpClient HttpClient = new DefaultHttpClient(); HttpPost httppost = new HttpPost(url); UrlEncodedFormEntity mesag = new UrlEncodedFormEntity(params,"UTF-8"); mesag.setContentEncoding(HTTP.UTF_8); //�j��s�X��UTF-8 httppost.setEntity(mesag); HttpResponse httpResponse = HttpClient.execute(httppost); HttpEntity httpEntity = httpResponse.getEntity(); is = httpEntity.getContent(); } } catch (UnsupportedEncodingException e){ e.printStackTrace(); } catch (ClientProtocolException e){ e.printStackTrace(); } catch (IOException e){ e.printStackTrace(); } try{ BufferedReader reader = new BufferedReader(new InputStreamReader(is,"utf-8"),8); StringBuilder sb = new StringBuilder(); String line = null; while ((line = reader.readLine()) != null){ sb.append(line + "\n"); } is.close(); json = sb.toString(); } catch (Exception e){ Log.e("Buffer Error","Error Converting Result"+e.toString()); } //try parse a string to a JSON object try{ jObj = new JSONObject(json); } catch(JSONException e) { Log.e("JSON Parser","Error parsing data" +e.toString()); } //return JSON String return jObj; } }