【问题标题】:HTTP Requests in Glass GDKGlass GDK 中的 HTTP 请求
【发布时间】:2014-07-10 07:42:29
【问题描述】:

我正在实现一个 GDK 应用程序,需要在我的应用程序中执行一些 HTTP Post 请求。我发送 HTTP 请求的方式与在 Android 手机上相同还是有其他方式? (我已经尝试过我在手机上使用的代码,但它不适用于玻璃。)

提前感谢您的帮助。

【问题讨论】:

  • 您能否提供一个代码示例,说明您的操作方式以及尝试时遇到的错误?

标签: httprequest google-gdk androidhttpclient


【解决方案1】:

您可以像在智能手机中一样发出任何发布请求,但请确保您使用 AsyncTask 发出请求。

例如:

private class SendPostTask extends AsyncTask<Void, Void, Void> {

    @Override
    protected Void doInBackground(Void... params) {
            // Make your request POST here. Example:
            myRequestPost();
            return null;
    }

    protected void onPostExecute(Void result) {
      // Do something when finished.
    }
}

您可以在任何地方调用该异步任务:

new SendPostTask().execute();

myRequestPost() 的例子可能是:

private int myRequestPost() {

    int resultCode = 0;

    String url = "http://your-url-here";

    HttpClient client = new DefaultHttpClient();
    HttpPost post = new HttpPost(url);

    // add headers you want, example:
    // post.setHeader("Authorization", "YOUR-TOKEN");

    List<NameValuePair> urlParameters = new ArrayList<NameValuePair>();
    nameValuePairs.add(new BasicNameValuePair("id", "111111"));
    nameValuePairs.add(new BasicNameValuePair("otherField", "your-other-data"));

    try {
        post.setEntity(new UrlEncodedFormEntity(urlParameters));

        HttpResponse response = client.execute(post);
        System.out.println("\nSending 'POST' request to URL : " + url);
        System.out.println("Post parameters : " + post.getEntity());
        System.out.println("Response Code : " + 
                                    response.getStatusLine().getStatusCode());

        resultCode = response.getStatusLine().getStatusCode();

        BufferedReader rd = new BufferedReader(
                        new InputStreamReader(response.getEntity().getContent()));

        StringBuffer result = new StringBuffer();
        String line = "";
        while ((line = rd.readLine()) != null) {
            result.append(line);
        }

        System.out.println(result.toString());
    } catch (Exception e) {
        Log.e("POST", e.getMessage());
    }

    return resultCode;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多