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


        在判断是否有无线网络时,UI界面假死,这时我们需要使用AsyncTask。代码:

     1 /** 异步任务 :判断服务器开启才取后台数据
     2   * 2014-7-31
     3   * @author 吴chunyuan
     4   *
     5   */
     6  public class MyTask extends AsyncTask<String, Integer, String> {                
     7      //onPreExecute方法用于在执行后台任务前做一些UI操作                           
     8      @Override                                                                    
     9      protected void onPreExecute() {                                              
    10          Log.i(TAG, "onPreExecute() called");  
    11            
    12      }                                                                            
    13                                                                                   
    14      //doInBackground方法内部执行后台任务,不可在此方法内修改UI                    
    15      @Override                                                                    
    16      protected String doInBackground(String... params) { 
    17       //totalText = (TextView) findViewById(R.id.total);
    18          Log.i(TAG, "doInBackground(Params... params) called");                   
    19        
    20          try{
    21     Socket socket2  =new Socket();
    22     //socket2.connect(new  InetSocketAddress(SERVER_ADDRESS, SERVER_PORT));
    23     //设置连接超时 10s
    24     socket2.connect(new InetSocketAddress(ServerIP, SERVER_PORT),10000);
    25      socket2.close(); 
    26      
    27     return  String.valueOf(1)+"|"+params[0];
    28     
    29           } catch (Exception e) {                                                  
    30              Log.e(TAG, e.getMessage());   
    31              return  String.valueOf(0);
    32           }  
    33                                                             
    34      }                                                                       
    35                                                                              
    36      //onProgressUpdate方法用于更新进度信息                                  
    37      @Override                                                               
    38      protected void onProgressUpdate(Integer... progresses) {                
    39          Log.i(TAG, "onProgressUpdate(Progress... progresses) called");      
    40     
    41      }                                                                       
    42                                                                              
    43            
    44     // String result 来自doInBackground 
    45      @Override                                                               
    46      protected void onPostExecute(String result) {                           
    47          Log.i(TAG, "onPostExecute(Result result) called");
    48          String [] sa =result.split("\\|");
    49             if(result.equals("0")){
    50              MyUtil.showToast(MenuActivity.this, "无法连接服务器");  
    51                }else //网络正常
    52 
    53           {
    54 
    55             //网络正常,执行任务......
    56 
    57           }
    58           }                                                                       
    59                                                                           
    60      //onCancelled方法用于在取消执行中的任务时更改UI                         
    61      @Override                                                               
    62      protected void onCancelled() {                                          
    63          Log.i(TAG, "onCancelled() called");                                 
    64       }  
    65  }
     
  • 相关阅读:
    查看mysql数据库引擎
    crontab 从nano 转换为 vim
    Linux中,去掉终端显示的当前目录的绝对路径
    nginx 卸载后重新安装/etc/nginx配置文件没了,cannot open /etc/nginx/nginx.conf (No such file or directory)
    rabbitmq 配置
    OSError: mysql_config not found
    No module named 'ConfigParser'
    windows 安装tensorflow
    微服务架构设计
    centOS rabbitmq 安装
  • 原文地址:https://www.cnblogs.com/realhope/p/4258986.html
Copyright © 2020-2023  润新知