0

ユーザー名とパスワードを使用してセキュア レスト API (Https) を呼び出したい。API からの応答は JSON オブジェクトです。

どうやってやるの ?

ありがとうございました。

4

2 に答える 2

3

接続には、AsyncTask と次のスニペットを使用します。

URL url = new URL(res.getString(R.string.url));
            String charset = res.getString(R.string.utf);
            HttpURLConnection http = null;

                HttpsURLConnection https = (HttpsURLConnection) url.openConnection();
                http = https;
                http.setRequestMethod(res.getString(R.string.post));
                http.setDoInput(true);
                http.setDoOutput(true);
                http.setRequestProperty(res.getString(R.string.charset), charset);
                http.setRequestProperty(res.getString(R.string.content_type), "application/x-www-form-urlencoded;charset=" + charset);

                String query = String.format("par1=%s&par2=%s&par3=%s&par4=%s", 
                     URLEncoder.encode(res.getString(R.string.par), charset), 
                     URLEncoder.encode(res.getString(R.string.par2), charset),
                     URLEncoder.encode(res.getString(R.string.par3), charset),
                     URLEncoder.encode(holder.toString(), charset));

                OutputStream output = null;
                try {
                     output = http.getOutputStream();
                     output.write(query.getBytes(charset));
                } finally {
                     if (output != null) try { output.close(); } catch (IOException logOrIgnore) {}
                }

                BufferedReader in = new BufferedReader(new InputStreamReader(http.getInputStream()),4800); 
                StringBuffer responseBuffer = new StringBuffer();
                String line;

                while ((line = in.readLine()) != null) { 
                    responseBuffer.append(line);
                }

                in.close();
                answer = new Gson().fromJson(responseBuffer.toString(), Answer.class);

JSON オブジェクトの解析には Google 製の GSON ライブラリを使用すると非常に便利です。

于 2012-07-23T07:46:56.250 に答える
1

リクエストには HTTPPost オブジェクトを、レスポンスには JSONObject を使用します。例えば ​​:

http://senior.ceng.metu.edu.tr/2009/praeda/2009/01/11/a-simple-restful-client-at-android/

于 2012-07-23T07:42:50.013 に答える