Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.pupukkaltim.leader.viewmodel
- import android.util.Log
- import androidx.lifecycle.LiveData
- import androidx.lifecycle.MutableLiveData
- import androidx.lifecycle.ViewModel
- import com.androidnetworking.AndroidNetworking
- import com.androidnetworking.common.Priority
- import com.androidnetworking.error.ANError
- import com.androidnetworking.interfaces.JSONObjectRequestListener
- import com.pupukkaltim.leader.helper.Event
- import com.pupukkaltim.leader.model.Organic
- import org.json.JSONObject
- class OrganicViewModel : ViewModel() {
- val bawahanOrganic = MutableLiveData<ArrayList<Organic>>()
- val errorMessage = MutableLiveData<Event<String>>()
- fun setBawahanOrganic() {
- val listBawahanOrganic = ArrayList<Organic>()
- AndroidNetworking.get("http://192.168.43.102/leader-api/index.php/leader")
- .setPriority(Priority.LOW)
- .addHeaders("User-Agent", "request")
- .build()
- .getAsJSONObject(object : JSONObjectRequestListener {
- override fun onResponse(response: JSONObject) {
- try {
- val jsonArray = response.getJSONArray("data")
- if (jsonArray.length() == 0){
- errorMessage.value = Event("Tidak Ada Bawahan Organic")
- }
- for(i in 0 until jsonArray.length()){
- val jsonObject = jsonArray.getJSONObject(i)
- val organic = Organic()
- organic.name = jsonObject.getString("nama")
- organic.npk = jsonObject.getString("npk")
- organic.grade = jsonObject.getString("grade")
- organic.avatar = jsonObject.getString("avatar")
- listBawahanOrganic.add(organic)
- }
- bawahanOrganic.postValue(listBawahanOrganic)
- } catch (e: Exception) {
- e.printStackTrace()
- }
- }
- override fun onError(anError: ANError) {
- Log.d("onFailure", anError.toString())
- errorMessage.value = Event("Periksa Koneksi Perangkat Anda")
- }
- })
- }
- fun getBawahanOrganic(): LiveData<ArrayList<Organic>> {
- return bawahanOrganic
- }
- }
Add Comment
Please, Sign In to add comment