Как позвонить в любой API JSON с любого веб -сайта в приложенииAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Как позвонить в любой API JSON с любого веб -сайта в приложении

Сообщение Anonymous »

Когда я использую веб -сайт json Plactholder для вызова данных API, вызов API легко работает в моем приложении.
Однако, когда я пытаюсь использовать другие веб -сайты (например, GitHub или Pult Json -сайты), вызовы API не работают в моем приложении. успешно или нет, и если я тестирую свое приложение в моем телефоне Poco, нет никакой серьезной ошибки, поэтому я не могу найти ошибку, в основном, если я вызову в приложении, и все еще есть ошибка, показывающая ошибку Ultra Frame Work Component IMP IMP или если оно не работает успешно, то та же ошибка < /p>
vivo -ошибка телефона: < /p>
< /p>
vivo -ошибка: < /p>
< /p>
vivo -ошибка: < /p>
< /p>
vivo. java.lang.ClassNotFoundException: android.os.ufw.UltraFrameworkComponentFactoryImpl
< /code>
Ошибка телефона Poco: < /p>
E registerContentObserver fail
--------- beginning of main
13:41:18.532 E getRecentTasks: mainTaskId=9529 userId=0 windowMode=1 baseIntent=Intent { act=android.intent.action.MAIN flag=268435456 cmp=ComponentInfo{com.example.ai/com.example.ai.MainActivity} }
13:41:34.684 E [com.example.ai/com.example.ai.MainActivity#22043](this:0xb400007e5c21ea50,id:-1,api:0,p:-1,c:-1) ID info cannot be read from 'com.example.ai/com.example.ai.MainActivity#22043'
13:41:34.696 E Unable to match the desired swap behavior.
13:41:34.703 E DynamicFPS DF open fail: No such file or directory
13:41:34.722 E [5dbeb38 ActivityRecordInputSink com.example.ai/.MainActivity#22048](this:0xb400007e35776a50,id:-1,api:0,p:-1,c:-1) ID info cannot be read from '5dbeb38 ActivityRecordInputSink com.example.ai/.MainActivity#22048'
13:42:04.595 E getRecentTasks: mainTaskId=9529 userId=0 windowMode=1 baseIntent=Intent { act=android.intent.action.MAIN flag=268435456 cmp=ComponentInfo{com.example.ai/com.example.ai.MainActivity} }
< /code>
В основном я хочу вызвать любой API с любого веб -сайта < /p>
код моего приложения: < /p>
package com.example.ai

import android.os.Bundle
import android.widget.TextView
import android.widget.Toast
import androidx.activity.enableEdgeToEdge
import androidx.appcompat.app.AppCompatActivity
import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat
import retrofit2.Call
import retrofit2.Callback
import retrofit2.Response
import retrofit2.Retrofit
import retrofit2.converter.gson.GsonConverterFactory

class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
enableEdgeToEdge()
setContentView(R.layout.activity_main)
ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main)) { v, insets ->
val systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars())
v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom)
insets
}

val retrofitBuilder = Retrofit.Builder()
.baseUrl("https://dummyjson.com/products/")
.addConverterFactory(GsonConverterFactory.create())
.build()
.create(Interface::class.java)

val retrofitData = retrofitBuilder.getData()
retrofitData.enqueue(object : Callback {
override fun onResponse(p0: Call, p1: Response) {

val datalist = p1.body()
val tv = findViewById(R.id.tm)
tv.text = datalist.toString()
}

override fun onFailure(p0: Call, p1: Throwable) {

Toast.makeText(this@MainActivity, "Failed", Toast.LENGTH_SHORT). show()

}
})

}
}
package com.example.ai

import retrofit2.Call
import retrofit2.http.GET

interface Interface {

@GET("products")
fun getData (): Call
}


Подробнее здесь: https://stackoverflow.com/questions/795 ... ite-in-app
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»