android客户端访问后台服务器时常用的一些检查方法

原创 2013年12月02日 10:54:35

 /**
  * @Title: checkHasNetwork
  * @Description:检查网络连接
  * @param context
  * @return true 有网络 ;false 无网络
  */ 
public static boolean checkHasNetwork(Context context) {
  ConnectivityManager connMgr = (ConnectivityManager) context
    .getSystemService(Context.CONNECTIVITY_SERVICE);
  NetworkInfo netInfo = connMgr.getActiveNetworkInfo();
  if (netInfo == null || !netInfo.isAvailable()) {
   // 没有网络连接
   LogUtil.e("internet__connect", "没有网络连接");
   return false;
  }
  return true;
 }

-----------------------------------------------------------
 /**
  * 设置网络超时
  *
  * @param clientLoginField
  */
 public static void setConnectionTimeOut(DefaultHttpClient clientLoginField) {
  HttpParams httpParams = clientLoginField.getParams();
  // 设置网络超时参数
  HttpConnectionParams.setConnectionTimeout(httpParams, 30 * 1000);
  HttpConnectionParams.setSoTimeout(httpParams, 30 * 1000);
 }

----------------------------------------------------------------
 /**
  * @author: 
  * @Title: checkNetworkConnected
  * @Description:是否有可用网络
  * @param context
  * @return
  * @date: 2013-4-2 上午11:03:08
  */
 public static boolean checkNetworkConnected(Context context) {
  // 获得手机所有连接管理对象(包括对wi-fi等连接的管理)
  try {
   ConnectivityManager connectivity = (ConnectivityManager) context
     .getSystemService(Context.CONNECTIVITY_SERVICE);
   if (connectivity != null) {
    // 获得网络连接管理的对象
    NetworkInfo info = connectivity.getActiveNetworkInfo();
    if (info != null && info.isConnected()) {
     // 判断当前网络是否已连接
     if (info.getState() == NetworkInfo.State.CONNECTED) {
      return true;
     }
    }
   }
  } catch (Exception e) {
   e.printStackTrace();
  }
  return false;
 }
-----------------------------------------------------------------------------------
 /**
  * 手机号码检查
  */
 public static Boolean phonenumberCheck(String phoneNumber) {

  // 表达式对象
  Pattern p = Pattern.compile("^(1)[0-9]{10}$");

  // 创建 Matcher 对象
  Matcher m = p.matcher(phoneNumber);

  if (!m.matches()) {
   return false;
  }
  return true;
 }
---------------------------------------------------------------------
 /**
  * 取得应用当前的版本号
  *
  * @return
  */
 public static String getCurrentVersion(Context context) {
  String versionName = "";
  try {
   PackageManager packageManager = context.getPackageManager();
   PackageInfo packageInfo = packageManager.getPackageInfo(
     context.getPackageName(), 0);
   versionName = packageInfo.versionName;
  } catch (NameNotFoundException e) {
   e.printStackTrace();
  }
  return versionName;
 }
---------------------------------------------------------------------------
 /**
  * 隐藏界面输入软键盘
  *
  * @param activity
  */
 public static void hideSoftInputFromWindow(Activity activity) {
  InputMethodManager imm = (InputMethodManager) activity
    .getSystemService(Context.INPUT_METHOD_SERVICE);
  if (imm != null) {
   View view = activity.getCurrentFocus();
   if (view != null) {
    imm.hideSoftInputFromWindow(view.getWindowToken(),
      InputMethodManager.RESULT_UNCHANGED_SHOWN);
   }
  }
 }
----------------------------------------------------------------------------------
 /**
     * 从指定的URL中获取数组
     * @param urlPath
     * @return
     * @throws Exception
     */
    public  String readParse(String urlPath) throws Exception { 
               ByteArrayOutputStream outStream = new ByteArrayOutputStream(); 
               byte[] data = new byte[1024]; 
                int len = 0; 
                URL url = new URL(urlPath); 
                HttpURLConnection conn = (HttpURLConnection) url.openConnection(); 
                InputStream inStream = conn.getInputStream(); 
                while ((len = inStream.read(data)) != -1) { 
                    outStream.write(data, 0, len); 
                } 
                inStream.close(); 
                return new String(outStream.toByteArray());//通过out.Stream.toByteArray获取到写的数据 
            }
----------------------------------------------------------------------------------------
  /**
     * 将参数列表封装成dopost需要得数据类型
     * @param params是传进去map
     * @return 返回dopost要求的形式
     */
 public List<NameValuePair> getNameValuePairList(Map<String, Object> params) {
  List<NameValuePair> nvpsList = new ArrayList<NameValuePair>();

  for (Map.Entry<String, Object> entry : params.entrySet()) {
   String key = entry.getKey();
   String value = entry.getValue() + "";
   nvpsList.add(new BasicNameValuePair(key, value));
  }

  return nvpsList;
 }
---------------------------------------------------------------------------------------------
 /**
     * Json数据的解析
     * @param jsonStr 是传递进去的jsonStr数据
     * @param 解析后以list的形式返回
     * @throws JSONException
     */
 
 private  ArrayList<HashMap<String, Object>> Analysis(String jsonStr) throws JSONException {
        /******************* 解析 ***********************/
        JSONArray jsonArray = null;
        // 初始化list数组对象
        ArrayList<HashMap<String, Object>> list = new ArrayList<HashMap<String, Object>>();
        jsonArray = new JSONArray(jsonStr);
        for (int i = 0; i < jsonArray.length(); i++) {
            JSONObject jsonObject = jsonArray.getJSONObject(i);
            // 初始化map数组对象
            HashMap<String, Object> map = new HashMap<String, Object>();
            map.put("logo", jsonObject.getString("logo"));
            map.put("logoLunbo", jsonObject.getString("logoLunbo"));
            map.put("biaoTi", jsonObject.getString("biaoTi"));
            map.put("yuanJia", jsonObject.getString("yuanJia"));
            map.put("xianJia", jsonObject.getString("xianJia"));
            map.put("id", jsonObject.getInt("id"));
            list.add(map);
        }
        return list;
    }
------------------------------------------------------

 /**
  * 检查对于包名的apk是否安装
  *
  * @return
  */
 private boolean checkAPKInstalled(String packageName) {
  PackageInfo packageInfo = null;
  try {
   packageInfo = this.getPackageManager().getPackageInfo(packageName,
     0);
  } catch (NameNotFoundException e) {
   e.printStackTrace();
  }
  if (packageInfo == null) {
   return false;
  } else {
   return true;
  }
 }

-------------------------------------------------------------------------------------

去除网页标签的方法,用的是正则表达式

public static String removeTagFromText(String content) {
         Pattern p = null;
         Matcher m = null;
         String value = null;
         // 去掉<>标签
         p = Pattern.compile("(<[^>]*>)");
         m = p.matcher(content);
         String temp = content;
         while (m.find()) {
          value = m.group(0);
          temp = temp.replace(value, "");
         }
         // 去掉换行或回车符号
         p = Pattern.compile("(\r+|\n+)");
         m = p.matcher(temp);
         while (m.find()) {
          value = m.group(0);
          temp = temp.replace(value, " ");
         }
         if(temp.length() > 10) {
         return temp.substring(0,10) + "...";
         } else {
return temp + "...";
}
   }

------------------------------------------------------------------------------------------

拼服务器看能否拼通

Process p = Runtime.getRuntime().exec(http://www.baidu.com);
       InputStreamReader r = new InputStreamReader(p.getInputStream());
             LineNumberReader returnData = new LineNumberReader(r);

              String returnMsg = "";
              String line = "";

              while ((line = returnData.readLine()) != null) {
                  System.out.println(line);
                  returnMsg += line;
              }
              System.out.println("sky for return message"+returnMsg);

--------------------------------------------------------------------------------------------------

 /**
     * 递归删除文件和文件夹
     * @param file    要删除的根目录
     */
    public static void RecursionDeleteFile(File file){
        if(file.isFile()){
            file.delete();
            return;
        }
        if(file.isDirectory()){
            File[] childFile = file.listFiles();
            if(childFile == null || childFile.length == 0){
                file.delete();
                return;
            }
            for(File f : childFile){
                RecursionDeleteFile(f);
            }
            file.delete();
        }
    }

 

相关文章推荐

Android客户端与后台服务器的数据交互

Android客户端与服务器的数据交互 这是今年7月份时在一家公司实训时自己做的一个小项目,仅仅是一个简单的模拟Android客户端与服务器的数据交互,中间会有串口通信,以及利用JDBC连接Mysql...

高并发访问服务器时前端页面优化方法

高并发访问服务器时前端页面优化方法

检查APK版本并更新(服务器和客户端一起来)

一.首先我们思考一下步骤 1,获取当前APK的版本 2,去服务器上获取最新的版本 3,对比后,决定是否更新。 4,更新,去服务器上下载apk. 5.下载后,保存到sd卡,然后安装apk 二...

(8.13)客户端、服务器交互用json,同时去数据库检查,将0、1设置为静态常量(便于加注释它是干什么的,另外多建类,单例模式的使用)

服务器端程序在java Resouce的src下的服务器主程序,同时需要把包都导入到WEB-INF下的lib下,需要导入json的包和数据库驱动的包//在java Resouce的src下的服务器主程...

CXF为服务器端和客户端添加自定义拦截器进行权限检查验证并且控制台打印日志(4)

Android客户端和服务器端数据交互的第二种方法

Android客户端和服务器端数据交互的第二种方法

Windows系统下ffmpeg+nginx+Vitamio搭建HLS服务器+Android客户端方法

HLS也就是HTTP Live Streaming,是苹果出的一个基于HTTP的流媒体通信协议。字面意思有个live,也就是直播相关的。下面介绍如何在windows系统下用ffmpeg+nginx+V...

Android:解决客户端从服务器上获取数据乱码的方法

向服务器发送HTTP请求,接收到的JSON包为response,用String content = EntityUtils.toString(response.getEntity(),"utf-8")...
  • zjy_hll
  • zjy_hll
  • 2014年10月23日 17:41
  • 365
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:android客户端访问后台服务器时常用的一些检查方法
举报原因:
原因补充:

(最多只允许输入30个字)