Android volley Body в почтовом запросе - PullRequest
0 голосов
/ 24 февраля 2019

Я не нашел, как я могу настроить тело в моем сообщении Post, я использую Android Studio

`

private RequestQueue mQueue;

private void send() {
    Log.i("start", "start");
    final String url1 = "http://127.0.0.1:8080/~/in-cse";

    JsonObjectRequest getRequest = new JsonObjectRequest(Request.Method.GET, url1, null,
            new Response.Listener<JSONObject>() {
                @Override
                public void onResponse(JSONObject response) {
                    Log.d("Response", response.toString());

                }
            },
            new Response.ErrorListener() {

                @Override
                public void onErrorResponse(VolleyError error) {
                    Log.d("Error.Response", String.valueOf(error));
                }
            }
    ) {
        @Override
        public Map getHeaders() throws AuthFailureError {
            Log.i("rentrer dedans", "Headers");
            HashMap headers = new HashMap();
            headers.put("X-M2M-Origin", "admin:admin");
            headers.put("Accept", "application/xml");
            return headers;
        }
      @Override
        public Map<String,String> getParams(){
        Map<String,String> params = new HashMap<String, String>();
        params.put("m2m:ae", "xmlns:m2m="http://www.onem2m.org/xml/protocols" rn="MY_SENSOR");
        params.put("api", "app-sensor");
        params.put("lbl", "Type/sensor Category/temperature Location/home");
        params.put("ff", "false");
        return params;
    }

    };
    // add it to the RequestQueue  
    mQueue.add(getRequest);
}

это мой код, и ниже мое тело,Дело в том, что я не знаю, как перевести мое тело в моем почтовом запросе

<m2m:ae xmlns:m2m="http://www.onem2m.org/xml/protocols" rn="MY_SENSOR" > <api>app-sensor</api> <lbl>Type/sensor Category/temperature Location/home</lbl> <rr>false</rr> </m2m:ae>

Буду признателен за некоторую помощь!

1 Ответ

0 голосов
/ 24 февраля 2019

Вам необходимо реализовать такие вещи: -

    String var="xmlns:m2m=\"http://www.onem2m.org/xml/protocols\" rn=\"MY_SENSOR";

Здесь '\' поможет вам вставить больше двойных кавычек в строковые значения.

Дайте мне знать, если что-то я пропущуили вам нужна дополнительная помощьПожалуйста, оцените мой ответ, если вы найдете его полезным.

Простой и более эффективный способ размещения вещей с использованием залпа,

 JSONObject jsonObject= new JSONObject();
 try{
     jsonObject.put("m2m:ae", "xmlns:m2m=\"http://www.onem2m.org/xml/protocols\" rn=\"MY_SENSOR");
     jsonObject.put("api", "app-sensor");
     jsonObject.put("lbl", "Type/sensor Category/temperature Location/home");
    jsonObject.put("ff", "false");
    }catch(JSONException e){
    }

Или для более лучших способов, есть библиотека, которую я лично рекомендуюлюбому разработчику Android, который любит легкий вес Volley для Api Integrations.

https://github.com/Lib-Jamun/Volley

dependencies {
  compile 'tk.jamun:volley:0.0.4'
}

Используйте эту или обновленную версию для более эффективного использования Volley.

Проверьте подключение к Интернету:

public class CheckConnection {

  public static boolean checkConnection(Activity activity) {
    ConnectivityManager cm =
            (ConnectivityManager) activity.getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo activeNetwork = null;
    if (cm != null) {
        activeNetwork = cm.getActiveNetworkInfo();
        if (activeNetwork != null &&
                activeNetwork.isConnected()) {
            return true;
        } else {
            MySnackBar.getInstance().showSnackBarForMessage(activity, R.string.connection_check_no_internet);
        }
    }
    return false;
  }

public static boolean checkCon(Context context) {
    ConnectivityManager cm =
            (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo activeNetwork = null;
    if (cm != null) {
        activeNetwork = cm.getActiveNetworkInfo();
        return activeNetwork != null &&
                activeNetwork.isConnected();
    }
    return false;
  }
}

, тогда просто нужно кодировать как

   If (CheckConnection.checkCon(this)){
       Call Volley;
   }else{
       Log.d("Tag","No internet");
   }

Дайте мне знать дальнейшие ответы

...