从服务器接收数据时出现Android错误

我正在使用Android中的代码:以编程方式安装.apk。


我试图从服务器接收数据,以更新我的应用程序。


单击按钮后,应用程序崩溃。


如果您知道要解决这些错误很热,请告诉我。


我收到此错误:


android.os.NetworkOnMainThreadException


at com.example.appupdate.SelfInstall01Activity.GetVersionFromServer(SelfInstall01Activity.java:285)


at com.example.appupdate.SelfInstall01Activity$1.onClick(SelfInstall01Activity.java:89)

我那里有错误:


btnCheckUpdates.setOnClickListener(new OnClickListener()

    {

        @Override

        public void onClick(View arg0)

        {

            GetVersionFromServer(BuildVersionPath);

           //here


            if(checkInstalledApp(AppName.toString()) == true)

            {

                Toast.makeText(getApplicationContext(), "Application Found " + AppName.toString(), Toast.LENGTH_SHORT).show();



            }else{

                Toast.makeText(getApplicationContext(), "Application Not Found. "+ AppName.toString(), Toast.LENGTH_SHORT).show();

            }

        }

    });

和:


HttpURLConnection c = (HttpURLConnection) u.openConnection();

    c.setRequestMethod("GET");

    c.setDoOutput(true);

    c.connect();

    //here


幕布斯6054654
浏览 145回答 2
2回答

汪汪一只猫

当您在主线程中执行网络操作时,会发生NetworkOnMainThreadException。您需要在doInBackground方法中执行网络操作在这里,您的按钮单击功能应该是这样的。btnCheckUpdates.setOnClickListener(new OnClickListener()&nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; @Override&nbsp; &nbsp; &nbsp; &nbsp; public void onClick(View arg0)&nbsp; &nbsp; &nbsp; &nbsp; {&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;new YourTask().execute();&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; });这是您的网络操作。private class YourTask extends AsyncTask<String, String,String> {&nbsp; &nbsp; &nbsp;protected String doInBackground(String... urls) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;// put here your network operation method&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;GetVersionFromServer(BuildVersionPath)&nbsp; &nbsp; &nbsp; &nbsp; return null;&nbsp; &nbsp; &nbsp;}&nbsp;}

温温酱

当您在UI /主线程中发出网络请求时,将引发NetworkOnMainThreadException。因此,您需要在主线程上调用GetVersionFromServer()。使用线程或AsyncTask。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java