【发布时间】:2017-03-12 13:50:48
【问题描述】:
我有一个onCreate,它将调用onHandleIntent
在onHandleIntent 中,我想从远程服务器获取一些东西并将值从onHandleIntent 返回到onCreate。
这可能吗?
【问题讨论】:
-
你问的是
Activity吗?
标签: android networking android-lifecycle oncreate
我有一个onCreate,它将调用onHandleIntent
在onHandleIntent 中,我想从远程服务器获取一些东西并将值从onHandleIntent 返回到onCreate。
这可能吗?
【问题讨论】:
Activity吗?
标签: android networking android-lifecycle oncreate
由于不清楚您要问什么 - 我假设它是关于 Activity,在这种情况下,
来自official Android training materials:
为避免创建无响应的 UI,不要在 UI 线程上执行网络操作。默认情况下,Android 3.0(API 级别 11)及更高版本要求您在主 UI 线程以外的线程上执行网络操作;如果不这样做,则会抛出
NetworkOnMainThreadException。
您的问题涉及在 UI 线程上运行网络操作,这几乎肯定会导致您的应用崩溃。
还有其他方法可以获得这种效果,包括异步调用、占位符(在图像的情况下)、使用本地数据库(+预加载)等等。还有一些库可以帮助您执行此操作(例如,Picasso 用于图像)。
【讨论】: