我尝试将我的应用程序连接到webServices时失败

时间:2019-04-01 21:30:54

标签: java android rest web-services

实际上我在一个应用程序中工作,但是我在连接Web服务时遇到问题,我有以下代码:

try{
            HttpServices post = new HttpServices ("http://sotem.com.mx/WebServices/controller.php");
            post.add("funcion", "test");
            System.out.println("Si lo mande///////////////////Jhgfdsa");
            String respuesta = post.getRespueta();
            System.out.println(respuesta);
            Toast.makeText(getApplicationContext(),"Cool: "+respuesta, Toast.LENGTH_SHORT).show();

        }catch (Exception ex) {
            Toast.makeText(getApplicationContext(),"error: "+ex.toString(), Toast.LENGTH_SHORT).show();

        }

但是我可以建立连接,我可以尝试进行其他思考,但是我可以建立线程,这是我的新手,应用程序启动器出现此错误:

Android OS网络上的主线程异常

1 个答案:

答案 0 :(得分:1)

在主线程上执行网络操作是不正确的。您可以使用AsyncTask执行此类操作并以BufferedImage方法处理结果。

onPostExecute

并编写class YourNetworkingTasks extends AsyncTask<Void, Void, Void> { @Override protected Void doInBackground(Void... voids) { try{ HttpServices post = new HttpServices ("http://sotem.com.mx/WebServices/controller.php"); post.add("funcion", "test"); String respuesta = post.getRespueta(); Log.d("Output", respuesta); // DON'T DO ANY UI CHANGES LIKE TOAST FROM BACKGROUND THREAD.. Toast.makeText(getApplicationContext(),"Cool: "+respuesta, Toast.LENGTH_SHORT).show(); }catch (Exception ex) { // DON'T DO ANY UI CHANGES LIKE TOAST FROM BACKGROUND THREAD.. Toast.makeText(getApplicationContext(),"error: "+ex.toString(), Toast.LENGTH_SHORT).show(); } return null; } protected void onPostExecute(RSSFeed feed) { // TODO: YOU CAN MAKE U.I. Changes Like Display text in TextView, TOAST HERE. // TODO: do something with the result } } 以在后台线程中运行该代码。

也请不要因为您使用的是 http 而不是 https ,由于android最近的安全性更改,您可能会得到Network Security Exception并且可能不会得到任何输出。