我的应用程序启动屏幕用于从网络获取数据,数据获取成功后,我想将用户发送到主屏幕。通常,我们使用 Thread.sleep 或 Handler 在 Splash 屏幕上停留一段时间。我们可以使用 Kotlin 的挂起功能来做到这一点吗?
问问题
860 次
2 回答
1
使用Anko
,简单明了,你的主人是JetBrains
步骤 1. 获取 anko
把它放在你的app/build.gradle
dependencies {
...
implementation "org.jetbrains.anko:anko:0.10.5"
...
}
步骤 2. 使用 anko
在您的内部,SplashActivity
您的onCreate()
尝试如下
doAsync {
val result = URL("your request here").readText()
//depending of your result go to MainActivity
}
在这里查看更多信息Anko
于 2018-07-10T14:26:37.090 回答
0
当您在 Android 中使用 Kotlin 时,我们不能错过的一个库是Anko。
在这里我添加了代码片段
async {
val result = URL("<api call>").readText()
uiThread {
Log.d("Request", result)
longToast("Request performed")
}
}
否则你可以使用普通的 AsyncTask
class GetWeatherAsyncTask : AsyncTask<Params, Progress, Result>() {
override fun onPreExecute() {
// Before doInBackground
}
override fun doInBackground(vararg params: Params?): Progress {
// ...
publishProgress(progressResult)
return result
}
override fun onProgressUpdate(vararg values: Progress?) {
// use progressResult to do things such as updating UI...
}
override fun onPostExecute(result: Result?) {
// Done: use result which is returned from doInBackground()
}
}
于 2018-07-10T14:08:02.343 回答