1

私は Android の初心者なので、Android に関する知識はそれほど多くありません。

私は Android で Json 呼び出しを実装しようとしていますが、愚かなコードを使用してデータベース内のすべての連絡先のリストを取得しています。

package com.example.library;

import java.io.BufferedReader;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.UnsupportedEncodingException;

public class SecondActivity extends Activity {



    Button show_data;
    JSONObject my_json_obj;
    String path,firstname,lastname;
    {
    path = "http://192.168.71.129:3000/contacts";
        HttpClient client = new DefaultHttpClient();
        HttpConnectionParams.setConnectionTimeout(client.getParams(), 10000);
        HttpEntity  entity;
        HttpResponse response = null;
        HttpURLConnection urlconn;
        my_json_obj = new JSONObject();

    }
}

これが正しい方法かどうかはわかりませんが、このコードは別のプロジェクトに既に存在していたので、変更を加えました。

私は多くのスタックオーバーフローとグーグルの回答を経験したので、これを案内してください。

4

2 に答える 2

3

コードのチャンクを渡して「これを試してみてください」と言うことができますが、あなたが言ったように、あなたは Android に非常に慣れていないので、私は単にしません。試してみて、貼り付けコードをコピーするだけで何かを学ぶことができるということは、より価値があると思います(ほとんどの場合)

ネットワーク リクエストとデータの解析を行う際には、考慮すべき点がいくつかあります。

ネットワーク要求は、常に別のスレッドで実行してから UI スレッドで実行する必要があります

同じことが、リクエストから取得したデータの解析にも当てはまります。現在のコードではデータの解析は見られませんが、アプリケーションのある時点でこれを行う可能性があるため、ヘッドアップを提供したかっただけです。

ここでは、AsyncTask でスレッド化を行う方法のチュートリアルを見つけることができます。これは、Androidで行うべき「方法」であり、本当に簡単になりました。

そのチュートリアルを読むと、このクラスで何かを行うための基本的な知識が得られます。

スレッド化の概念と、この新しく追加されたスキルの使用方法を理解したら、こちらの json チュートリアルを読んでフォローアップすることをお勧めます。

これが役立つことを願っています

于 2013-04-26T12:57:41.187 に答える
0

これを試してみてください。結果変数にはあなたの反応があります

try {
        HttpClient client = new DefaultHttpClient();
        HttpGet request = new HttpGet("paset_your_url_here");
        HttpResponse response = client.execute(request);  

        BufferedReader in = new BufferedReader
        (new InputStreamReader(response.getEntity().getContent()));
        StringBuffer sb = new StringBuffer("");
        String line = "";
        String NL = System.getProperty("line.separator");
        while ((line = in.readLine()) != null) {

            sb.append(line + NL);
        }

        in.close();
          result = sb.toString();
          Log.i("", "-----------------------"+result);


    } catch(Exception e) {
        e.printStackTrace();
    }finally {
        if (in != null) {
            try {
                in.close();
                } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }

jsonを賞賛したい場合は、最初にグーグルを行い、これで答えが得られたら、投票してください:)

于 2013-04-26T12:51:47.983 に答える