Android连接springboot

asKotlin实现通过网络端口连接后台springboot管理数据库:
entity:

点击查看代码
package com.app.login.entity

data class User (
    val name: String? = null,
    val password: String? = null
)
network:
点击查看代码
package com.app.login.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://10.99.117.223:9090/"
    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)
}

Service:

点击查看代码
package com.app.login.Service

import com.app.login.entity.User
import retrofit2.Call
import retrofit2.http.Body
import retrofit2.http.POST

interface UserService {
    @POST("user/add")
    fun add(@Body user: User):Call<String>
}
MainActivity:
点击查看代码
package com.app.login

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.app.login.Service.UserService
import com.app.login.entity.User
import com.app.login.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 userService = ServiceCreater.create<UserService>()


        submit.setOnClickListener {
            val user = User(username.text.toString(), password.text.toString())
            Log.e("TAG", "onCreate: ${user.toString()}", )
            println(user) // 输出: User2(name=Bob, password=654321)
            userService.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")
                }
            })
        }
    }
}
posted @ 2025-03-13 00:06  vivi_vimi  阅读(22)  评论(0)    收藏  举报