Saya mencoba mencari cara untuk POST JSON dari Android dengan menggunakan HTTPClient. Saya telah mencoba mencari tahu hal ini untuk sementara waktu, saya telah menemukan banyak contoh secara online, tetapi saya tidak dapat membuatnya bekerja. Saya yakin ini karena saya kurang memiliki pengetahuan JSON / jaringan secara umum. Saya tahu ada banyak contoh di luar sana tetapi dapatkah seseorang mengarahkan saya ke tutorial yang sebenarnya? Saya mencari proses langkah demi langkah dengan kode dan penjelasan mengapa Anda melakukan setiap langkah, atau apa yang dilakukan langkah itu. Tidak perlu rumit, sederhana saja sudah cukup.
Sekali lagi, saya tahu ada banyak contoh di luar sana, saya hanya benar-benar mencari contoh dengan penjelasan tentang apa yang sebenarnya terjadi dan mengapa hal itu terjadi.
Jika seseorang tahu tentang buku Android yang bagus tentang ini, tolong beri tahu saya.
Sekali lagi terima kasih atas bantuan @terrance, berikut adalah kode yang saya jelaskan di bawah
public void shNameVerParams() throws Exception{
String path = //removed
HashMap params = new HashMap();
params.put(new String("Name"), "Value");
params.put(new String("Name"), "Value");
try {
HttpClient.SendHttpPost(path, params);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
sumber
Jawaban:
Dalam jawaban ini saya menggunakan contoh yang diposting oleh Justin Grammens .
Tentang JSON
JSON adalah singkatan dari JavaScript Object Notation. Dalam properti JavaScript dapat direferensikan seperti ini
object1.name
dan seperti iniobject['name'];
. Contoh dari artikel menggunakan bit JSON ini.Objek Fan Parts A dengan email sebagai kunci dan [email protected] sebagai nilai
Jadi, ekuivalen objeknya adalah
fan.email;
ataufan['email'];
. Keduanya akan memiliki nilai yang sama'[email protected]'
.Tentang Permintaan HttpClient
Berikut ini adalah apa yang penulis kami gunakan untuk membuat Permintaan HttpClient . Saya tidak mengklaim sebagai ahli dalam semua ini jadi jika ada yang memiliki cara yang lebih baik untuk mengatakan beberapa terminologi, silakan.
Peta
Jika Anda tidak terbiasa dengan
Map
struktur datanya, silakan lihat referensi Peta Jawa . Singkatnya, peta mirip dengan kamus atau hash.Silakan mengomentari setiap pertanyaan yang muncul tentang posting ini atau jika saya belum menjelaskan sesuatu atau jika saya belum menyentuh sesuatu yang Anda masih bingung ... dll apa pun yang muncul di kepala Anda sungguh.
(Saya akan menghapusnya jika Justin Grammens tidak menyetujuinya. Tetapi jika tidak, terima kasih Justin karena telah bersikap dingin tentang hal itu.)
Memperbarui
Saya baru saja mendapat komentar tentang cara menggunakan kode dan menyadari bahwa ada kesalahan dalam tipe pengembalian. Tanda tangan metode disetel untuk mengembalikan string tetapi dalam kasus ini tidak mengembalikan apa pun. Saya mengubah tanda tangan menjadi HttpResponse dan akan mengarahkan Anda ke tautan ini di Mendapatkan Tubuh Tanggapan HttpResponse variabel jalur adalah url dan saya memperbarui untuk memperbaiki kesalahan dalam kode.
sumber
getJsonObjectFromMap()
: JSONObject memiliki konstruktor yang membutuhkanMap
: developer.android.com/reference/org/json/…Berikut adalah solusi alternatif untuk jawaban @ Terrance. Anda dapat dengan mudah melakukan outsourcing konversi. The Gson perpustakaan tidak bekerja indah mengkonversi berbagai struktur data ke dalam JSON dan jalan di sekitar lainnya.
Hal serupa dapat dilakukan dengan menggunakan Jackson, bukan Gson. Saya juga merekomendasikan untuk melihat Retrofit yang menyembunyikan banyak kode boilerplate ini untuk Anda. Untuk pengembang yang lebih berpengalaman, saya sarankan untuk mencoba RxAndroid .
sumber
execute()
dan tentu saja gagalSaya merekomendasikan menggunakan ini
HttpURLConnection
sebagai gantinyaHttpGet
. SepertiHttpGet
yang sudah tidak digunakan lagi di Android API level 22.sumber
Terlalu banyak kode untuk tugas ini, periksa pustaka ini https://github.com/kodart/Httpzoid Is menggunakan GSON secara internal dan menyediakan API yang berfungsi dengan objek. Semua detail JSON disembunyikan.
sumber
Ada beberapa cara untuk membuat koneksi HHTP dan mengambil data dari layanan web RESTFULL. Yang terbaru adalah GSON. Tetapi sebelum Anda melanjutkan ke GSON, Anda harus memiliki beberapa gagasan tentang cara paling tradisional untuk membuat Klien HTTP dan melakukan komunikasi data dengan server jarak jauh. Saya telah menyebutkan kedua metode untuk mengirim permintaan POST & GET menggunakan HTTPClient.
sumber