-1

解析用のファイルを取得するためにURLを使用しています。URL属性を読み取り、テキストビューに配置したいと思います。以下は私のURLです

https://graph.facebook.com/fql?q=SELECT+app_id,namespace,category+FROM+application+WHERE+namespace=%22graffitiwall%22

これを行う方法

4

1 に答える 1

1

現在のjson文字列を次のように解析します。

public  class JSONTask extends 
                  AsyncTask<String, Void, String> {
    @Override
    protected String doInBackground(String... arg) {
        String linha = "";
        String retorno = "";
        // Cria o cliente de conexão
        HttpClient client = new DefaultHttpClient();
        HttpGet get = new HttpGet("https://graph.facebook.com
                   /fql?q=SELECT+app_id,namespace,category+
                 FROM+application+WHERE+namespace=graffitiwall%22");

        try {
            HttpResponse response = client.execute(get);

            StatusLine statusLine = response.getStatusLine();
            int statusCode = statusLine.getStatusCode();

            if (statusCode == 200) { // Ok
              BufferedReader rd = new BufferedReader(new 
              InputStreamReader(response.getEntity().getContent()));

              while ((linha = rd.readLine()) != null) {
                    retorno += linha;
              }
            }
        } catch (ClientProtocolException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }

        return retorno; 
    }

    @Override
    protected void onPostExecute(String result) {
        // Create here your JSONObject...

    // getting JSON string from URL
    JSONObject json = new JSONObject(result);

     // Getting Array of data
    JSONArray userlist = json.getJSONArray("data");

    for(int i = 0; i < userlist.length(); i++){
         JSONObject c = userlist.getJSONObject(i);

         // Storing each json item in variable
          String str_app_id = c.getString("app_id");              
          String str_namespace = c.getString("namespace");
          String str_category = c.getString("category");
     }

    }
于 2012-12-12T10:38:34.180 に答える