2014-11-01 3 views
-6

Если кто-то может объяснить, что означают эти строки кодов. Будем очень благодарны. БлагодаряЧто делает этот код, мне нужно понять

JSONObject req = new JSONObject(); 
boolean flag = false; 
try { 
    req.put("name", p_name.getText().toString()); 
    String res = HttpClient.SendHttpPost(Constants.NAME, req.toString()); 
    if(res != null){ 
     JSONObject json = new JSONObject(res); 
     if(json.getBoolean("status")){ 
      flag = true; 
      String id = json.getString("userid"); 
      app.getUserinfo().SetUserInfo(id); 
     } 
    } 
+5

Какая часть, если этот код не ясно? – Pshemo

+2

Где вы нашли этот код, поскольку его не задокументировали? –

ответ

1
//creating a json object 
JSONObject req = new JSONObject(); 
boolean flag = false; 
try { 
    //save the string from p_name to the json 
    req.put("name", p_name.getText().toString()); 
    //send the json string to the server 
    String res = HttpClient.SendHttpPost(Constants.NAME, req.toString()); 
    if(res != null){ 
     //if you get the response correctly, convert the response to a json object (or we call it "parse") 
     JSONObject json = new JSONObject(res); 
     //if the "status" in the json represents true, make "flag" true and then set the user id 
     if(json.getBoolean("status")){ 
      flag = true; 
      String id = json.getString("userid"); 
      app.getUserinfo().SetUserInfo(id);   
     } 
    } 
3

Коротко

Этот код отправляет имя удаленного API, который возвращает идентификатор пользователя и успешное состояние (предположительно, только если имя найдено с помощью удаленного обслуживания). Идентификатор пользователя затем сохраняется в нашем локальном приложении.


построчно объяснения

  1. Во-первых, мы создаем объект JSON с именем req.

    JSONObject req = new JSONObject(); 
    
  2. Затем мы сохраняем строку, хранящуюся в p_name к name области req

    boolean flag = false; 
    try { 
        req.put("name", p_name.getText().toString()); 
    
  3. Затем HTTP POST строку сериализации объекта JSON к нашему серверу. res сохранит ответ, который мы получаем как строку.

    String res = HttpClient.SendHttpPost(Constants.NAME, req.toString()); 
    
  4. После возвращения POST, мы проверяем ответ, чтобы увидеть, если это нуль.

    if(res != null){ 
    
  5. Если это не нуль, мы превращаем ответ в объект JSON (предположительно этот сервер возвращает действительный JSON.

    JSONObject json = new JSONObject(res); 
    
  6. Мы проверяем, если поле status в нашем объекте ответа является правда. (Ответ будет выглядеть {"status":"true","userid":"a-user-id"}, если вы смотрели на выходе сырым сервера.)

    if(json.getBoolean("status")){ 
    
  7. Если да, то ш e установите флаг в true, получите поле userid из объекта ответа и установите идентификатор пользователя нашего приложения на возвращаемый идентификатор с сервера.

    flag = true; 
        String id = json.getString("userid"); 
        app.getUserinfo().SetUserInfo(id); 
    
Смежные вопросы