我是 Android 开发新手。在 koltin 中有一个 android 应用程序,其中我必须发出 http post 请求才能获取数据列表作为响应。 我在 Activity 课上已经这样做了,如下所示。 MainActivity.kt
class MainActivity : AppCompatActivity(), {
private fun getAppList() {
var builder = AlertDialog.Builder(this@MainActivity)
builder.setTitle("App Response")
doAsync {
sslCertficate.disableSSLCertificateChecking()
var headers = HashMap<String, String>()
headers["Content-type"] = "application/json; charset=UTF-8"
val res = HTTPClient("https://sample-myapi-launcher.prod.com/list")
.setMethod("POST")
.setHeaders(headers)
.setBody(getRequestBody(userInfo.toString()))
.getResponse()
.response
uiThread {
builder.setMessage(res)
var dialog: AlertDialog = builder.create()
dialog.show()
}
Log.e("Response List", res)
}
}
private fun getRequestBody(userInfo: String): String {
//code for geting request body
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_navigator)
setSupportActionBar(toolbar)
//calling api request method
getAppList()
}
}
我可以通过这个实现我的结果,但我不想将所有工作都放在 Activity 线程中。有人可以指导实现这一目标的正确方法吗? 或者帮我提供一些文档。
最佳答案
这是 Android lifecycle-aware components codelab 。它会很好地满足您的要求。这是Architecture components它是 Android Jetpack 的一部分,它是一组 Android 库,可帮助您以健壮、可测试和可维护的方式构建应用程序。
这也是 android-sunflower一款园艺应用,展示了使用 Android Jetpack 进行 Android 开发的最佳实践。
关于android - 如何开发一个分离数据层和 View 层的Android应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54900268/