如何在Android应用启动时启动Ktor Server?
在Android应用中启动Ktor服务器的实现尝试
我在项目中实现了一个Ktor Server模块,需要在应用启动时启动该服务器,以下是我的代码实现:
MainActivity.kt
class MainActivity : AppCompatActivity() { private val ktorServer = KtorServer() override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_camera) ktorServer.startServer() } override fun onDestroy() { super.onDestroy() ktorServer.stopServer() } }
KtorServer.kt
class KtorServer { private var server: ApplicationEngine? = null fun startServer() { server = embeddedServer(Netty, port = 8080) { module() }.start(wait = false) // embeddedServer(Netty, port = 8080,host = "127.0.0.1", module = Application::module).start(wait = false) } private fun Application.module() { routing { get("/") { call.respondText("Hello, Ktor!", ContentType.Text.Plain) } } } fun stopServer() { server?.stop(1000, 10000) } }
模块级build.gradle依赖配置
def ktor_version = '2.0.0' implementation("io.ktor:ktor-server-core:$ktor_version") implementation("io.ktor:ktor-server-netty:$ktor_version") implementation("io.ktor:ktor-server-content-negotiation:$ktor_version") implementation("io.ktor:ktor-serialization-kotlinx-json:$ktor_version")
内容的提问来源于stack exchange,提问作者Arnold Brown
相关产品推荐
相关产品推荐

