使用URL请求网络,然后调用readText()方法获取网络数据的字符串。readText()时Kotlin标准库中的扩展函数。
网络请求不能放到主线程执行。Kotlin里面为了解决这个问题,有一个async()的函数来处理异步任务。(java中AsyncTasks的缺陷,是当代码运行到postExecute时,activity已经被销毁,就会崩溃)
asyns函数使用uiThread方式回到主线程。uiThread有个优点就是,当它被一个activity调用时,如果activity.isFinishing()返回true,则uiThread不会执行。这样就不会在activity销毁后遇到崩溃的情况了。
网友评论