Uygulama Neden Çöküyor?
Merhaba. Yabancı bir siteden JSON parsing örnekleri araştırırken örnek bir kod buldum. Kendime göre uyarladığımda çalışmadı. Nedeni ne olabilir. Ekte hata kayıtları var. Aşağıya da kodları döküyorum.
MainActivity Kodlarım;
public class MainActivity extends Activity {
//URL to get JSON Array
private static String url = "https://www.kimonolabs.com/api/27ctyd80?apikey=v3sVcXRF5B64zg2uUuKRhI37T7ZJTZnJ";
//JSON Node Names
private static final String TAG_BIRIM = "USDTRY";
private static final String TAG_DEGER = "Deger";
private static final String TAG_ACILIS = "Acilis";
private static final String TAG_ARALIK = "Aralik";
JSONArray USDTRY = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Creating new JSON Parser
JSONParser jParser = new JSONParser();
// Getting JSON from URL
JSONObject json = jParser.getJSONFromUrl(url);
try {
// Getting JSON Array
USDTRY = json.getJSONArray(TAG_BIRIM);
JSONObject c = USDTRY.getJSONObject(0);
// Storing JSON item in a Variable
String degerr = c.getString(TAG_DEGER);
String aciliss = c.getString(TAG_ACILIS);
String aralikk = c.getString(TAG_ARALIK);
//Importing TextView
final TextView degerT = (TextView)findViewById(R.id.uid);
final TextView acilisT = (TextView)findViewById(R.id.name);
final TextView aralikT = (TextView)findViewById(R.id.email);
degerT.setText(degerr);
acilisT.setText(aciliss);
aralikT.setText(aralikk);
} catch (JSONException e) {
e.printStackTrace();
}
}
}
---
JSONParser.java Kodlarım;
public class JSONParser {
static InputStream is = null;
static JSONObject jObj = null;
static String json = "";
// constructor
public JSONParser() {
}
public JSONObject getJSONFromUrl(String url) {
// Making HTTP request
try {
// defaultHttpClient
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(url);
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, "iso-8859-1"), 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 the 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;
}
}