2017-01-02 6 views
-1

Ich muss einige Werte an den Server mit der Android-Volley-Bibliothek senden. Aber ich kann die Werte nicht im JSON-Array-Format senden. Ich habe viele Tutorials ausprobiert, aber ich konnte keine Lösung für das Senden von JsonArray bekommen. Bitte gib mir eine Lösung.Senden von Werten an den Server mit JSON Array

public class MainActivity extends AppCompatActivity { 
public Button button; 
public String Url = "http://www.apsox.com/appdata/communication/createlocksviamobileapp"; 
public static String TAG = MainActivity.class.getSimpleName(); 
public String jsonResponse; 
public static TextView txtResponse; 
public String JsonString = ""; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 

    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    button = (Button) findViewById(R.id.button); 

    txtResponse = (TextView) findViewById(R.id.textView); 

    button.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      makeJsonArrayRequest(); 
     } 
    }); 
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
    setSupportActionBar(toolbar); 

    FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab); 
    fab.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG) 
        .setAction("Action", null).show(); 
     } 
    }); 
} 


public void makeJsonArrayRequest() { 
    RequestQueue requestQueue = Volley.newRequestQueue(this); 
    JSONArray jsonArray = new JSONArray(); 

    try { 
     JsonArrayRequest jsonArrayRequest = new JsonArrayRequest(Request.Method.POST, Url, jsonArray, new Response.Listener<JSONArray>() { 
      @Override 
      public void onResponse(JSONArray response) { 

       txtResponse.setText(response.toString()); 
      } 

     }, new Response.ErrorListener() { 
      @Override 
      public void onErrorResponse(VolleyError error) { 
       txtResponse.setText(error.toString()); 
      } 
     }) { 
      @Override 
      public Map<String, String> getParams() { 
       Map<String, String> params = new HashMap<String, String>(); 
       params.put("lock_name", "testing"); 
       params.put("lock_code", "2222287776554"); 
       params.put("details", "this is a testing lock"); 
       params.put("owner_userid", "1"); 
       params.put("master_security_phone", "Not Set"); 
       params.put("master_security_code", "Not Set"); 
       params.put("remote_lock_access_code", "1234"); 
       return params; 
      } 
     }; 
     requestQueue.add(jsonArrayRequest); 
    } catch (JsonIOException e) { 
     e.printStackTrace(); 
    } 


} 


@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate the menu; this adds items to the action bar if it is present. 
    getMenuInflater().inflate(R.menu.menu_main, menu); 
    return true; 
} 

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    // Handle action bar item clicks here. The action bar will 
    // automatically handle clicks on the Home/Up button, so long 
    // as you specify a parent activity in AndroidManifest.xml. 
    int id = item.getItemId(); 

    //noinspection SimplifiableIfStatement 
    if (id == R.id.action_settings) { 
     return true; 
    } 

    return super.onOptionsItemSelected(item); 
} 

}

+1

Zeigen Sie, was Sie versucht haben –

+1

Teilen Sie Ihren Code. –

+0

Wenn Sie Ihren Code zeigen können, können Ihnen die Leute helfen. Sie können auch etwas über Retrofit nachforschen. – yukocan

Antwort

1

dies helfen wird, sein kann Sie Versuchen Sie Json zuerst zu bauen und sie als String mit StringRequest an den Server In Ihrem Server Side Parse String zu JSON-Objekt zu senden, mit ihm zu arbeiten

Verwandte Themen