android - 如何开发一个分离数据层和 View 层的Android应用程序

标签 android kotlin

我是 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/

相关文章:

带有图像和文本的 Android ListView;无法显示 ListView

android - DialogPreference 导致错误 onDisplayPreferenceDialog()

java - Android 列表页脚

java - Kotlin中如何从泛型继承接口(interface)?

kotlin - 如何在 Kotlin 中为多个变量分配相同的值

android - Proguard 问题 Roboguice 重复导入

kotlin - 是否可以在 Kotlin 中使用多个通用库?

android - startActivity 在 fcm 中的 onMessageReceived 中不起作用

Android Studio 2.3.2 和 Kotlin 1.1.2-4 + 数据绑定(bind)

android - 如何从同一程序的第二个或第三个 Activity 向 ble 设备发送数据