Problem: Expected BEGIN_ARRAY but was BEGIN_OBJECT Volley Library

Viewed 23

I would like to fetch data from my Api: https://adeega.xisaabso.online/Api/Dashboard.php and put result into composable DashBoardText function, i can fetch the data from the long array, but i can't do like above api, so how can solve this problem

this first problem that i can't solve byself

DashBoardItems.kt

data class DashBoardItems(
 val SLSHCurr: Int,
 val Total: Int,
 val USDCurr: Int
)

Dashboard_Screen.kt

@Composable
fun DashboardScreen(
   navController: NavController
) {
   Column(
      modifier = Modifier
         .fillMaxSize()
         .background(MainScreenColor),
      verticalArrangement = Arrangement.Center,
      horizontalAlignment = Alignment.CenterHorizontally
   ) {


  val context = LocalContext.current
  val baseUrl = "https://adeega.xisaabso.online/Api/Dashboard.php"

  val AllVouchersToday = DashBoardItems

  val data = remember {
     mutableStateOf(DashBoardItems)
  }

  val stringRequest = StringRequest(baseUrl, { it ->
     val gsonBuilder = GsonBuilder()
     val gson = gsonBuilder.create()
     gson.fromJson(it, Array<DashBoardItems>::class.java)?.forEach {
        AllVouchersToday.add(it)
     }
     data.value = AllVouchersToday

  }, {
     Toast.makeText(context, it.toString(), Toast.LENGTH_SHORT).show()
  }).apply {

     LazyColumn(
        contentPadding = PaddingValues(
           horizontal = 12.dp,
           vertical = 0.dp
        ),
        verticalArrangement = Arrangement.spacedBy(10.dp)
     ) {
        items(data.value) { item ->
           DashBoardText(data = item, navController)
        }
     } // END LazyColumn

  }// StringRequest

  val volleyRequest = Volley.newRequestQueue(context)
  volleyRequest.add(stringRequest)

   }
}


@Composable
fun DashBoardText(
   data: DashBoardItems,
   navController: NavController
){
   val context = LocalContext.current
   
  Row(
     modifier = Modifier
        .background(Color.Gray)
        .fillMaxWidth()
        .padding(22.dp),
     verticalAlignment = Alignment.CenterVertically,
     horizontalArrangement = Arrangement.Center
  ) {
     Column(
        horizontalAlignment = Alignment.CenterHorizontally,
        verticalArrangement = Arrangement.Center
     ) {
        Text(text = "Expenses", fontSize = 53.sp)
        Text(
           text = "_________",
           fontSize = 53.sp,
        )
     }
  }
0 Answers
Related