Andriod连接
1.创建项目:


2.配置:
AndroidManifest.xml添加语句
点击查看代码
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
android:usesCleartextTraffic="true"
4.具体代码:
ServiceCreater
点击查看代码
package com.qi.myapplication.network
import com.google.gson.GsonBuilder
import retrofit2.Retrofit
import retrofit2.converter.gson.GsonConverterFactory
object ServiceCreater {
val gson = GsonBuilder().setLenient().create()
private const val BASE_URL="http://192.168.15.156:8090/"
private val retrofit=Retrofit.Builder()
.baseUrl(BASE_URL)
.addConverterFactory(GsonConverterFactory.create(gson))
.build()
fun <T> create(serviceClass: Class<T>): T= retrofit.create(serviceClass)
inline fun<reified T> create(): T= create(T::class.java)
}
点击查看代码
package com.qi.myapplication.emtpy
data class User2 (
val name: String? = null,
val password: String? = null
)
点击查看代码
package com.qi.myapplication.Service
import com.qi.myapplication.emtpy.User2
import retrofit2.Call
import retrofit2.http.Body
import retrofit2.http.POST
interface User2Service {
@POST("user2/add")
fun add(@Body user2: User2):Call<String>
}
点击查看代码
package com.qi.myapplication
import android.os.Bundle
import android.util.Log
import android.widget.Button
import android.widget.EditText
import androidx.activity.enableEdgeToEdge
import androidx.appcompat.app.AppCompatActivity
import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat
import com.qi.myapplication.Service.User2Service
import com.qi.myapplication.emtpy.User2
import com.qi.myapplication.network.ServiceCreater
import retrofit2.Call
import retrofit2.Callback
import retrofit2.Response
class MainActivity : AppCompatActivity() {
lateinit var submit:Button
lateinit var username:EditText
lateinit var password:EditText
@SuppressWarnings("MissingInflatedId")
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
enableEdgeToEdge()
setContentView(R.layout.activity_main)
submit=findViewById(R.id.submit)
username=findViewById(R.id.username)
password=findViewById(R.id.password)
val user2Service =ServiceCreater.create<User2Service>()
submit.setOnClickListener {
val user = User2(username.text.toString(), password.text.toString())
Log.e("TAG", "onCreate: ${user.toString()}", )
println(user) // 输出: User2(name=Bob, password=654321)
user2Service.add(user).enqueue(object :Callback<String>{
override fun onResponse(call: Call<String>, response: Response<String>) {
val re=response.body()
Log.e("TAG", "onResponse: ${re}",)
Log.e("TAG", "onResponse: ${response}", )
}
override fun onFailure(call: Call<String>, t: Throwable) {
TODO("Not yet implemented")
}
})
}
}
}
点击查看代码
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/main"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<EditText
android:id="@+id/username"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:hint="请输入用户名"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.216" />
<EditText
android:id="@+id/password"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="请输入密码"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.309"
tools:layout_editor_absoluteX="16dp" />
<Button
android:id="@+id/submit"
android:layout_width="149dp"
android:layout_height="48dp"
android:text="提交"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.446" />
</androidx.constraintlayout.widget.ConstraintLayout>
浙公网安备 33010602011771号