首页 > 代码库 > 异步任务判断服务器是否开启

异步任务判断服务器是否开启

  
/** 异步任务 :判断服务器开启才取后台数据
  * 2014-7-31
  * @author 吴春源
  *
  */
 public class MyTask extends AsyncTask<String, Integer, String> {               
     //onPreExecute方法用于在执行后台任务前做一些UI操作                          
     @Override                                                                   
     protected void onPreExecute() {                                             
         Log.i(TAG, "onPreExecute() called"); 
        // MyUtil.showToast(OrderActivity.this, "数据上传...");
        // textView.setText("loading..."); 
       //  button_toOrder.setText("正在查询....");
       //  pd = ProgressDialog.show(MenuActivity.this, "查台", "正在连接服务器...", true, true);
   
     }                                                                           
                                                                                 
     //doInBackground方法内部执行后台任务,不可在此方法内修改UI                   
     @Override                                                                   
     protected String doInBackground(String... params) {
      //totalText = (TextView) findViewById(R.id.total);
         Log.i(TAG, "doInBackground(Params... params) called");                  
      
         try{
    Socket socket2  =new Socket();
    //socket2.connect(new  InetSocketAddress(SERVER_ADDRESS, SERVER_PORT));
    //设置连接超时 10s
    socket2.connect(new InetSocketAddress(ServerIP, SERVER_PORT),10000);
     socket2.close();
    
    return  String.valueOf(1)+"|"+params[0];
    
          } catch (Exception e) {                                                 
             Log.e(TAG, e.getMessage());  
             return  String.valueOf(0);
          } 
                                                           
     }                                                                      
                                                                            
     //onProgressUpdate方法用于更新进度信息                                 
     @Override                                                              
     protected void onProgressUpdate(Integer... progresses) {               
         Log.i(TAG, "onProgressUpdate(Progress... progresses) called");     
   
     }                                                                      
                                                                            
     //onPostExecute方法用于在执行完后台任务后更新UI,根据后台下单结果重新绑定前台订单               
    // String result 来自doInBackground
     @Override                                                              
     protected void onPostExecute(String result) {                          
         Log.i(TAG, "onPostExecute(Result result) called");
         String [] sa =result.split("\\|");
          //pd.dismiss();
             if(sa[0].equals("1")){
              /** MyUtil.showToast(MenuActivity.this, "服务器开启"); 
              * */
               if(sa[1].equals("0")){ // 0-取台号
                 // mTTask= new  TableListsTask();                                               
                // mTTask.execute("0");
             TableListsTask task = new TableListsTask(ServerIP,"ALL", MenuActivity.this);
                  //DownLoaderTask task = new DownLoaderTask("http://192.168.9.155/johnny/test.h264", getCacheDir().getAbsolutePath()+"/", this);
                  task.execute();
                  //取订单明细
                  OrderDetailTaskM task1 = new OrderDetailTaskM(ServerIP,"0", MenuActivity.this);
                  task1.execute();
                  
               }
              
               if(sa[1].equals("2")){ // 2-取台号 -某一台
                  // mTTask= new  TableListsTask();                                               
                 // mTTask.execute("0");
              TableListsTask task = new TableListsTask(ServerIP,table_no, MenuActivity.this);
                   //DownLoaderTask task = new DownLoaderTask("http://192.168.9.155/johnny/test.h264", getCacheDir().getAbsolutePath()+"/", this);
                   task.execute();
                  //2014-11-9增加查台取订单明细 
                   OrderDetailTaskM task1 = new OrderDetailTaskM(ServerIP,"0", MenuActivity.this);
                   task1.execute();
                    }
            
              
           
                if(sa[1].equals("1")){ // 1-取新菜单
                 MenuListsTaskM task = new MenuListsTaskM(ServerIP,"0", MenuActivity.this);
                  task.execute();
                     }
         
               }
           if(result.equals("0")){
         MyUtil.showToast(MenuActivity.this, "无法连接服务器"); 
               }
          }                                                                      
                                                                         
     //onCancelled方法用于在取消执行中的任务时更改UI                        
     @Override                                                              
     protected void onCancelled() {                                         
         Log.i(TAG, "onCancelled() called");                                
      } 
 }
 

 

异步任务判断服务器是否开启