Java 如何通过Android应用程序发出HTTP请求

Java 如何通过Android应用程序发出HTTP请求,java,android,Java,Android,我有一个PHP脚本,当在web浏览器中打开时,它将在我的Raspberry Pi上运行一组命令(例如打开/关闭LED)。 我希望通过onClick()方法在Android应用程序中按下按钮时运行此脚本 如何在不加载网页的情况下调用Android Studio中的HTTP?似乎您是Android或Android Studio的新手,建议尝试发布更多解释,以便每个人都能更正确地理解 让我们开始 android中有两个库可以发出网络请求。我将发布一些随机代码,为您提出一些问题,并提供一些资源。我建议您

我有一个PHP脚本,当在web浏览器中打开时,它将在我的Raspberry Pi上运行一组命令(例如打开/关闭LED)。 我希望通过onClick()方法在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。