avoiding NetworkOnMainThreadException

一笑奈何 提交于 2019-12-02 04:51:11

You need to call .start(), not .run().

.run() is the method you override that actually executes.
.start() is a system-provided method that actually starts a thread.

SLaks is right, but for Android there is a more delicate way: AsyncTask.

new AsyncTask<Void, Void, Void>(){

    @Override
    protected Void doInBackground(Void... params){
        //Do heavy stuff
    }

    @Override
    protected void onPostExecute(Void result){
        //Do UI stuff after heavy stuff
    }
}.execute();
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!