HTTP 请求 POST JSON 正文中的对象

HTTP Request POST JSON Object in Body

大家好,我在 Java/Android 中遇到 HTTP 请求问题。我想创建一个新的 Github 问题。所以我查了一下,几乎每个人都这样做了,但我遇到了 AndroidStudio 告诉我的问题,所有 类 (HttpClient, HttpPost, ResponseHandler) 都不存在,我有什么事吗错了还是为什么我没有?

private class GithubPostIssues extends AsyncTask<String, Void, String> {

    private View view;

    public GithubPostIssues(View view) {
        this.view = view;
    }

    @Override
    protected void onPostExecute(String result) {
        Toast.makeText(FeedbackActivity.this, "Feedback/Hilfe gesendet", Toast.LENGTH_SHORT).show();
        finish();
    }

    @Override
    protected String doInBackground(String... params) {
        return addIssue(view);
    }

    private String addIssue(View view) {

        //here I'm getting some values from the user input and pass them in to the execute method

        return execute(title, body, bug, help, question, feature, enhancement, design);
    }

    private String execute (String title, String body, boolean bug,
                            boolean help, boolean question, boolean feature,
                            boolean enhancement, boolean design) {
        //Building the JSONOBject to pass in to the Request Body
        JSONObject issue = new JSONObject();
        JSONArray labels = new JSONArray();
        try {
            issue.put("title", title);
            issue.put("body", body);
            labels.put("0 - Backlog");
            if (bug) {
                labels.put("bug");
            }
            if (help) {
                labels.put("help");
            }
            if (question) {
                labels.put("question");
            }
            if (feature) {
                labels.put("feature");
            }
            if (enhancement) {
                labels.put("enhancement");
            }
            if (design) {
                labels.put("design");
            }
            issue.put("labels", labels);

            return makeRequest("http://requestb.in/uwwzlwuw", issue);
        } catch (JSONException e) {
            e.printStackTrace();
        }
        return null;
    }

    private String makeRequest (String uri, JSONObject issue) {
        //all these clases aren't found by Android Studio
        HttpClient httpClient = new DefaultHttpClient();
        HttpPost httpPost = new HttpPost(uri);

        httpPost.setEntity(new StringEntity(issue));
        httpPost.setHeader("Accept", "application/json");
        httpPost.setHeader("Content-type", "application/json");
        ResponseHandler<String> responseHandler = new BasicResponseHandler();
        return httpClient.execute(httpPost, responseHandler);
    }
}

尝试在 gradle 中添加这个:

android {
useLibrary 'org.apache.http.legacy'