Java 如何通过Android应用程序发出HTTP请求
我有一个PHP脚本,当在web浏览器中打开时,它将在我的Raspberry Pi上运行一组命令(例如打开/关闭LED)。 我希望通过onClick()方法在Android应用程序中按下按钮时运行此脚本Java 如何通过Android应用程序发出HTTP请求,java,android,Java,Android,我有一个PHP脚本,当在web浏览器中打开时,它将在我的Raspberry Pi上运行一组命令(例如打开/关闭LED)。 我希望通过onClick()方法在Android应用程序中按下按钮时运行此脚本 如何在不加载网页的情况下调用Android Studio中的HTTP?似乎您是Android或Android Studio的新手,建议尝试发布更多解释,以便每个人都能更正确地理解 让我们开始 android中有两个库可以发出网络请求。我将发布一些随机代码,为您提出一些问题,并提供一些资源。我建议您
如何在不加载网页的情况下调用Android Studio中的HTTP?似乎您是Android或Android Studio的新手,建议尝试发布更多解释,以便每个人都能更正确地理解
让我们开始
android中有两个库可以发出网络请求。我将发布一些随机代码,为您提出一些问题,并提供一些资源。我建议您前往搜索它们,因为它们会占用您一些时间,以下是一些随机代码:
如果在科特林也不用担心
interface ApiService {
@GET("popular")
suspend fun getApi(
@Query("query") id: String
) : Response<Movie>
companion object RetrofitRequest {
private val interceptor = Interceptor { chain ->
val url = chain.request()
.url()
.newBuilder()
.addQueryParameter("access_key", API_KEY)
.build()
val request = chain.request().newBuilder().url(url).build()
return@Interceptor chain.proceed(request)
}
private val okHttpClient = OkHttpClient
.Builder()
.addInterceptor(interceptor)
.build()
@Volatile
private var instance: ApiService? = null
fun getInstance(): ApiService = instance ?: synchronized(this) {
instance ?: fullResponse().also {
instance = it
}
}
private fun retrofitBuild(): Retrofit =
Retrofit.Builder()
.client(okHttpClient)
.baseUrl(BASE_URL)
.addConverterFactory(GsonConverterFactory.create())
.build()
private fun fullResponse(): ApiService {
return retrofitBuild().create(ApiService::class.java)
}
}
}
接口服务{
@获得(“流行”)
暂停有趣的getApi(
@查询(“查询”)id:字符串
):回应
伴随对象请求{
私有val拦截器=拦截器{chain->
val url=chain.request()
.url()
.newBuilder()
.addQueryParameter(“访问密钥”,API密钥)
.build()
val request=chain.request().newBuilder().url(url.build())
return@Interceptor链。继续(请求)
}
private val okHttpClient=okHttpClient
.Builder()
.addInterceptor(拦截器)
.build()
@易变的
私有变量实例:ApiService?=null
fun getInstance():ApiService=实例?:已同步(此){
实例?:fullResponse()。同时{
实例=它
}
}
private fun RefundationBuild():改装=
改装.Builder()
.客户(okHttpClient)
.baseUrl(基本URL)
.addConverterFactory(GsonConverterFactory.create())
.build()
private fun fullResponse():ApiService{
返回build().create(ApiService::class.java)
}
}
}
问题1->什么是拦截器?Que.2->什么是Okhttp?
问题3->什么是改装(改装2)?
以下是一些资源:
小贴士:要了解更多有关全装修网络应用程序的信息,请搜索以下内容:使用rxjava(rxjava是框架)改装或使用kotlin协同程序改装(如果您计划使用kotlin)您使用“安卓工作室中按下按钮”是什么意思?安卓工作室是安卓开发的IDE您是指安卓应用程序吗“我如何通过Android发出HTTP请求”,加上你用什么语言编写你的应用程序Kotlin和Java中有不同的HTTP请求尝试。是的,我指的是Android应用程序。我使用的语言是Java。