GridmiAPI - perpustakaan Android sederhana dan fleksibel untuk bekerja dengan REST & RPC

Halo, orang Khabrovit!

Saat Anda sedang mengembangkan aplikasi jaringan untuk platform Android, Anda memahami bahwa satu dan aplikasi lainnya mirip satu sama lain. Dengan pemikiran ini, sebagian besar pengembang menginisialisasi ide lain - “Mengapa saya tidak menggunakan solusi yang sudah jadi, karena jelas tugas saya bukanlah hal baru?”. Mulai saat ini, pencarian dimulai untuk perpustakaan yang sesuai untuk menyelesaikan masalah saat ini. Setelah beberapa waktu - untung. Segalanya tampak baik, karena perpustakaan ditemukan dan hanya tinggal menulis implementasi solusi untuk masalah saat ini. Dan di sini masalahnya dimulai. Mereka terkait dengan kontrol ulir, dan memang Java tidak pernah terkenal dengan kekompakannya, semua "sihir" harus diterapkan langsung oleh pengembang. Kadang-kadang saya hanya menemukan aspek positif dalam hal ini, karena logika masing-masing proyek berbeda secara radikal satu sama lain. Anda terus-menerus harus beralih dari aliran ke aliran, yang sangat tidak nyaman dan, seperti yang dijelaskan sebelumnya, rumit. Solusi untuk masalah ini telah diterapkan sebelumnya, tetapi tidak sekompleks yang kita inginkan. Pustaka untuk bekerja dengan HTTP datang untuk menyelamatkan - GridmiAPI . Ini adalah solusi paling ringkas, yang pada gilirannya memungkinkan Anda untuk beroperasi dengan data secara real time.

Proses kerja


Semua pekerjaan perpustakaan dimulai dengan inisialisasi. Inisialisasi diperlukan sekali. Inisialisasi mengacu pada konstruksi berikut:

GridmiAPI.init("https://habr.com/API/", 8000, JSONObject.class); 

  1. Permintaan Memproses Alamat Titik Akhir
  2. Batas waktu respons server
  3. Kelas di mana respons server harus dilemparkan

Itu saja! Perpustakaan siap digunakan sepenuhnya.

Permintaan server pertama


Untuk menyelesaikan permintaan pertama ke server, Anda hanya perlu menulis beberapa baris kode dan data yang kami butuhkan dari kami. Tidak percaya Lihat:

 GridmiAPI.onRequest(this, new GridmiAPI.Request("profile/get"), new GridmiAPI.Handler.OUT() { @Override protected void onSuccess(GridmiAPI.Response response) { Log.d("TagGridmiAPI", "result = " + ((JSONObject) response.getData()).toString()); } @Override protected void onFailed(Exception exception) { Log.d("TagGridmiAPI", "exception = " + exception.getMessage()); } }).start(); 

Selamat! Ini adalah "Halo dunia Anda!" menggunakan perpustakaan ini. Mari kita lihat dua metode penulisan ulang kelas GridmiAPI.Handler.OUT. Untuk memulainya, harus ditulis bahwa kedua metode ini disebut di utas utama, oleh karena itu, setelah selesai permintaan, tidak masuk akal untuk mengakses aktivitas untuk memulai utas utama. Anda hanya mengambil JSON misalnya dan mengubah teks dari TextView. Semuanya sederhana.

Kirim file ke server


Sangat sering Anda harus mengirim file ke server. Sakit kepala lagi? Tidak mungkin. Pustaka GridmiAPI membuat pengiriman file menjadi sangat mudah tanpa sakit kepala. Sedikit lebih banyak garis daripada pada contoh di atas, tetapi masih kompak. Berikut cara mengirim file:

 @Override protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { super.onActivityResult(requestCode, resultCode, data); if (data == null || data.getData() == null) return; try { //     GridmiAPI.Request request = new GridmiAPI.Request("POST", "photo/add"); //      GridmiAPI.Multipart multipart = new GridmiAPI.Multipart(getContentResolver()); multipart.appendData("photo", data.getData()); //    request.setBody(multipart); //   GridmiAPI.onRequest(this, request, new GridmiAPI.Handler.OUT() { @Override protected void onSuccess(GridmiAPI.Response response) { try { //      boolean result = ((JSONObject) response.getData()).getBoolean("result"); //  Toast.makeText(MainActivity.this, result ? "!" : "!", Toast.LENGTH_LONG).show(); } catch (Exception exception) { this.onFailed(exception); } } @Override protected void onFailed(Exception exception) { //     Toast.makeText(MainActivity.this, exception.getMessage(), Toast.LENGTH_LONG).show(); } }).start(); } catch (Exception exception) { Toast.makeText(this, exception.getMessage(), Toast.LENGTH_LONG).show(); } } 

Kesimpulan


Kami memeriksa tugas yang paling populer, lebih detail Anda dapat membiasakan diri di halaman perpustakaan ini di GitHub - GridmiAPI . Sangat nyaman untuk bekerja dengan perpustakaan ini. Perkirakan diri Anda. Terima kasih atas minat Anda pada artikel ini!

Referensi


Perpustakaan GridmiAPI
Dokumentasi / ReadMe.md

Source: https://habr.com/ru/post/id470570/


All Articles