2016-06-18 6 views
-2

私は、Androidに新たなんだと私は、Androidアプリケーションを開発しています、私は 私が使用する方法がわからないのAndroid JSONパーサー

このサーバー

からの私のJSONをもたらすことはできないJSONデータ を取得したいです

package com.centre.anapa; 

import android.os.Bundle; 
import android.os.StrictMode; 
import android.support.v7.app.AppCompatActivity; 
import android.support.v7.widget.Toolbar; 
import android.view.Menu; 
import android.view.MenuItem; 
import android.widget.TextView; 

import org.apache.http.HttpResponse; 
import org.apache.http.client.ClientProtocolException; 
import org.apache.http.client.HttpClient; 
import org.apache.http.client.methods.HttpPost; 
import org.apache.http.impl.client.DefaultHttpClient; 
import org.apache.http.util.EntityUtils; 
import org.json.JSONArray; 
import org.json.JSONException; 
import org.json.JSONObject; 

import java.io.IOException; 



public class MainActivity extends AppCompatActivity { 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
    setSupportActionBar(toolbar); 



    StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder() 
      .detectAll() 
      .penaltyLog() 
      .penaltyDialog() 
      .build()); 

    StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder().detectAll() 
      .penaltyLog() 
      .build()); 

    TextView dust = (TextView) findViewById(R.id.dust); 
    TextView humid = (TextView) findViewById(R.id.humid); 
    TextView temp = (TextView) findViewById(R.id.temp); 
    TextView tim = (TextView) findViewById(R.id.tim); 

    JSONObject json = null; 
    String str = ""; 
    HttpResponse response; 
    HttpClient myClient = new DefaultHttpClient(); 
    HttpPost myConnection = new HttpPost("http://mase.everypython.com/get_data"); 

    try { 
     response = myClient.execute(myConnection); 
     str = EntityUtils.toString(response.getEntity(), "UTF-8"); 

    } catch (ClientProtocolException e) { 
     e.printStackTrace(); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 

    try{ 
     JSONArray jArray = new JSONArray(str); 
     json = jArray.getJSONObject(0); 

     if (dust != null) { 
      dust.setText(json.getString("dust")); 
     } 
     if (humid != null) { 
      humid.setText(json.getString("humid")); 
     } 
     if (temp != null) { 
      temp.setText(json.getString("temp")); 
     } 
     if (tim != null) { 
      tim.setText(json.getString("time")); 
     } 

    } catch (JSONException e) { 
     e.printStackTrace(); 
    } 

} 

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate the menu; this adds items to the action bar if it is present. 
    getMenuInflater().inflate(R.menu.menu_main, menu); 
    return true; 
} 

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    // Handle action bar item clicks here. The action bar will 
    // automatically handle clicks on the Home/Up button, so long 
    // as you specify a parent activity in AndroidManifest.xml. 
    int id = item.getItemId(); 

    //noinspection SimplifiableIfStatement 
    if (id == R.id.action_settings) { 
     return true; 
    } 

    return super.onOptionsItemSelected(item); 
} 

Android jsonパーサーの使い方がわかりません。

+0

どのようにあなたのJSONが見えない –

+0

{「時間」のように: "2016-01-01 00:00:00"、 "temp":20、 "humid":50、 "dust":10} –

+0

私はこの質問をトピックとして閉じようとしています。私に無料のcodezサービスを提供してください。 –

答えて

0

そしてちょうどキー

例でそれらを尋ねることによって、すべての要素を取得JsonObject最初 に文字列を解析してみてください。

public void getJson() { 
    String answer = "{\"time\": \"2016-01-01 00:00:00\" , \"temp\": 20, \"humid\": 50, \"dust\": 10}"; 
    JSONObject reader = new JSONObject(answer); 
    String time = answer.getString("time"); 
    String temp = answer.getInt("temp"); 
} 
+0

このコードの使い方はわかりません.... フルコードを書くことができますか? –

+0

サーバーレスポンスを取得したら、メソッドを作成して呼び出してください.... –

関連する問題