0

Android アプリケーションから単純な php Web サービスにアクセスしたいと考えています。これをテストするために、json エンコーディングを使用してこの最初の php Web サービスを作成し、ローカル ホストで実行されている WAMPSERVER でホストしました。

<?php
$string='{"name":"John Adams"}';
echo json_encode($string);
?>

この Web サービスにアクセスするために、次のように Android http クライアントを作成しました。

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
import org.apache.http.HttpResponse;
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.JSONException;
import org.json.JSONObject;
import org.json.JSONTokener;

public class JsonV01Activity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    HttpClient httpclient = new DefaultHttpClient();
    HttpPost httppost = new HttpPost("http://10.0.2.2/json/phpjson.php");
    try {
       HttpResponse response = httpclient.execute(httppost);
       String str =  EntityUtils.toString(response.getEntity());

       JSONObject object = (JSONObject) new JSONTokener(str).nextValue();

       String name = object.getString("name");

       TextView tv = (TextView) findViewById(R.id.textView1);
       tv.append(name);
    }
    catch (JSONException e) {e.printStackTrace();}

    catch(Exception ex){ex.printStackTrace();}

    }
}

インターネットのアクセス許可を追加しましたが、空白の画面しか表示されません。この問題は非常に単純ですが、解決できません。エラーの内容と、これを修正する方法を教えてください。

前もって感謝します!

4

1 に答える 1

0

その方法私はいつもそれを行う !

                try {
URL url2 = new URL("http://10.0.2.2/2010/phpfile.php");
                BufferedReader in = new BufferedReader(new InputStreamReader(url2.openStream()));
                String line ="";
                while ((line = in.readLine()) != null) {

                    JSONArray ja = new JSONArray(line);
                    values = new String [ja.length()];          

                    // fetching data
                    for (int i=0; i < ja.length(); i++ ) {
                        JSONObject jo = (JSONObject) ja.get(i);


                        int id = jo.getInt("id");
                        String name = jo.getString("name");

                    }

                }


            }
            catch (Exception e) {
                Toast.LENGTH_SHORT).show();
                return "Interrupted";

            }
于 2012-08-19T12:33:09.447 に答える