`
everlxq
  • 浏览: 108626 次
  • 性别: Icon_minigender_1
  • 来自: 青岛
社区版块
存档分类
最新评论

android 工具类2

 
阅读更多
package com.hz2hs.utils;

import java.io.File;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;

import com.hz2hs.constant.Constant;

import android.app.Activity;
import android.content.Context;
import android.content.SharedPreferences;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.net.NetworkInfo.State;
import android.net.TrafficStats;
import android.os.Environment;
import android.os.StatFs;

public class Util {
	/**
	 * 
	 * getCurrentTime:获取系统当前时间
	 * 
	 * @author zuyp
	 * @version
	 * @since Ver 1.1
	 * @Date 2013 2013-4-3 上午11:30:05
	 * @param @return
	 * @return String
	 * @throws
	 */
	public static String getCurrentTime() {
		SimpleDateFormat sDateFormat = new SimpleDateFormat(
				"yyyy-MM-dd    hh:mm:ss");
		return sDateFormat.format(new java.util.Date());
	}

	/**
	 * 
	 * px2dip:px转dp
	 * 
	 * @author zuyp
	 * @version
	 * @since Ver 1.1
	 * @Date 2013 2013-4-3 上午11:30:26
	 * @param @param context
	 * @param @param pxValue
	 * @param @return
	 * @return int
	 * @throws
	 */
	public static int px2dip(Context context, float pxValue) {
		final float scale = context.getResources().getDisplayMetrics().density;
		return (int) (pxValue / scale + 0.5f);
	}

	/**
	 * 
	 * dip2px:dp转px
	 * 
	 * @author zuyp
	 * @version
	 * @since Ver 1.1
	 * @Date 2013 2013-4-3 上午11:30:41
	 * @param @param context
	 * @param @param dpValue
	 * @param @return
	 * @return int
	 * @throws
	 */
	public static int dip2px(Context context, float dpValue) {
		final float scale = context.getResources().getDisplayMetrics().density;
		return (int) (dpValue * scale + 0.5f);
	}

	/**
	 * 
	 * getChineseName:获得SharedPreferences中的chineseame
	 * 
	 * @author zuyp
	 * @version
	 * @since Ver 1.1
	 * @Date 2013 2013-4-9 上午11:20:57
	 * @param @param context
	 * @param @return
	 * @return String
	 * @throws
	 */
	public static String getChineseName(Context context) {
		SharedPreferences userInfo = context.getSharedPreferences("user_info",
				0);
		return userInfo.getString("chineseame", "");
	}

	/**
	 * 
	 * getUserId:获得SharedPreferences中的userId
	 * 
	 * @author zuyp
	 * @version
	 * @since Ver 1.1
	 * @Date 2013 2013-4-9 上午11:21:30
	 * @param @param context
	 * @param @return
	 * @return String
	 * @throws
	 */
	public static String getUserId(Context context) {
		SharedPreferences userInfo = context.getSharedPreferences("user_info",
				0);
		return userInfo.getString("userId", "");
	}

	/**
	 * 
	 * getSmId:获得SharedPreferences中的smId
	 * 
	 * @author zuyp
	 * @version
	 * @since Ver 1.1
	 * @Date 2013 2013-4-9 上午11:21:44
	 * @param @param context
	 * @param @return
	 * @return String
	 * @throws
	 */
	public static String getSmId(Context context) {
		SharedPreferences userInfo = context.getSharedPreferences("user_info",
				0);
		return userInfo.getString("smId", "");
	}

	/**
	 * 
	 * getPhoneNum:获得SharedPreferences中的PhoneNum
	 * 
	 * @author zuyp
	 * @version
	 * @since Ver 1.1
	 * @Date 2013 2013-4-19 下午2:05:55
	 * @param @param context
	 * @param @return
	 * @return String
	 * @throws
	 */
	public static String getPhoneNum(Context context) {
		SharedPreferences userInfo = context.getSharedPreferences("user_info",
				0);
		return userInfo.getString("account", "");
	}

	/**
	 * 
	 * getPassWord:获得SharedPreferences中的password
	 * 
	 * @author zuyp
	 * @version
	 * @since Ver 1.1
	 * @Date 2013 2013-4-19 下午1:54:26
	 * @param @param context
	 * @param @return
	 * @return String
	 * @throws
	 */
	public static String getPassWord(Context context) {
		SharedPreferences userInfo = context.getSharedPreferences("user_info",
				0);
		return userInfo.getString("password", "");
	}

	/**
	 * 
	 * getImei:获得SharedPreferences中的imei
	 * 
	 * @author zuyp
	 * @version
	 * @since Ver 1.1
	 * @Date 2013 2013-4-19 下午2:07:05
	 * @param @param context
	 * @param @return
	 * @return String
	 * @throws
	 */
	public static String getImei(Context context) {
		SharedPreferences userInfo = context.getSharedPreferences("user_info",
				0);
		return userInfo.getString("imei", "");
	}

	/**
	 * 
	 * getImsi:获得SharedPreferences中的imsi
	 * 
	 * @author zuyp
	 * @version
	 * @since Ver 1.1
	 * @Date 2013 2013-4-19 下午2:07:54
	 * @param @param context
	 * @param @return
	 * @return String
	 * @throws
	 */
	public static String getImsi(Context context) {
		SharedPreferences userInfo = context.getSharedPreferences("user_info",
				0);
		return userInfo.getString("imsi", "");
	}

	/**
	 * 
	 * getAgentId:获得SharedPreferences中的agentId
	 * 
	 * @author zuyp
	 * @version
	 * @since Ver 1.1
	 * @Date 2013 2013-4-12 下午3:07:24
	 * @param @param context
	 * @param @return
	 * @return String
	 * @throws
	 */
	public static String getAgentId(Context context) {
		SharedPreferences userInfo = context.getSharedPreferences("user_info",
				0);
		return userInfo.getString("agentId", "");
	}

	/**
	 * 检查SD卡状态,如果sd卡不存在或者SD卡剩余空间不足禁止程序启动
	 * 
	 * @return
	 */
	public static boolean checkSDCardState() {
		String state = Environment.getExternalStorageState();
		File sd = Environment.getExternalStorageDirectory();
		StatFs stat = new StatFs(sd.getPath());
		double blockSize = stat.getBlockSize();
		double freeBlocks = stat.getAvailableBlocks();
		double countSize = blockSize * freeBlocks;
		long role = 1024 * 1024 * 10;
		if (state.equals(Environment.MEDIA_MOUNTED) && countSize > role) {
			return true;
		}
		return false;
	}

	/**
	 * 
	 * isConnectNet:是否连接到网络
	 * 
	 * @author zuyp
	 * @version
	 * @since Ver 1.1
	 * @Date 2013 2013-2-17 下午3:45:47
	 * @param @param context
	 * @param @return
	 * @return Boolean
	 * @throws
	 */
	public static Boolean isConnectNet(Context context) {
		ConnectivityManager con = (ConnectivityManager) context
				.getSystemService(Activity.CONNECTIVITY_SERVICE);
		NetworkInfo n1 =con.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
		NetworkInfo n2 =con.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
		State wifi = null;
		State internet = null;
		if(n1 !=null){
			wifi = n1.getState();
		}
		if(n2 !=null){
			internet = n2.getState();
		}
		if(internet == State.CONNECTED || internet==State.CONNECTING){
			return true;
		}
		if(wifi == State.CONNECTED||wifi==State.CONNECTING){
			return true;
		}
	       else {
			return false;
		}
	}

	/**
	 * 
	 * getAppFlow:获取本程序流量统计
	 * 
	 * @author zuyp
	 * @version
	 * @since Ver 1.1
	 * @Date 2013 2013-4-19 上午10:19:26
	 * @param @return
	 * @return long
	 * @throws
	 */
	public static String getAppFlow() {
		// 获取网络流量
		long recv = TrafficStats.getUidRxBytes(android.os.Process.myUid());
		long sent = TrafficStats.getUidTxBytes(android.os.Process.myUid());

		return sizeToSize(recv + sent + "");
	}

	/**
	 * 
	 * sizeToSize:字符串转化成文件大小格式
	 * 
	 * @author zuyp
	 * @version
	 * @since Ver 1.1
	 * @Date 2013 2013-4-19 下午1:19:45
	 * @param @param size
	 * @param @return
	 * @return String
	 * @throws
	 */
	public static String sizeToSize(String size) {

		double i = Double.parseDouble(size);
		if (i >= 1024 * 1024 && i < 1024 * 1024 * 1024) {
			i /= 1024 * 1024;
			DecimalFormat df = new DecimalFormat("#.##");
			return (df.format(i) + "MB");
		} else if (i >= 1024 * 1024 * 1024) {
			i /= 1024 * 1024 * 1024;
			DecimalFormat df = new DecimalFormat("#.##");
			return (df.format(i) + "GB");
		} else if (i > 0 && i <= 1024) {
			i /= 1024;
			DecimalFormat df = new DecimalFormat("#.##");
			return (df.format(i) + " B");
		} else if (i >= 1024 && i < 1024 * 1024) {
			i /= 1024 * 1024;
			DecimalFormat df = new DecimalFormat("#.##");
			return (df.format(i) + "KB");
		} else {
			return null;
		}
	}

	private static final double EARTH_RADIUS = 6378137;

	private static double rad(double d) {
		return d * Math.PI / 180.0;
	}

	/**
	 * 
	 * GetDistance:根据两点间经纬度坐标(double值),计算两点间距离,单位为米
	 * @author   zuyp
	 * @version  
	 * @since    Ver 1.1
	 * @Date	 2013	2013-5-14		上午11:40:31
	 * @param  @param lng1
	 * @param  @param lat1
	 * @param  @param lng2
	 * @param  @param lat2
	 * @param  @return  
	 * @return double  
	 * @throws
	 */
	public static double GetDistance(double lng1, double lat1, double lng2,
			double lat2) {
		double radLat1 = rad(lat1);
		double radLat2 = rad(lat2);
		double a = radLat1 - radLat2;
		double b = rad(lng1) - rad(lng2);
		double s = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a / 2), 2)
				+ Math.cos(radLat1) * Math.cos(radLat2)
				* Math.pow(Math.sin(b / 2), 2)));
		s = s * EARTH_RADIUS;
		s = Math.round(s * 10000) / 10000;
		return s;
	}
	

	
}


  • 大小: 18.4 KB
分享到:
评论

相关推荐

    Java-Android工具类

    本资料“Java-Android工具类”显然是一份包含了多种实用工具类的集合,旨在帮助开发者在Java和Android开发过程中节省时间和精力。 首先,我们来探讨一下SD工具类。在Android系统中,外部存储空间(如SD卡)通常用于...

    Android开发常用工具类合集

    本资源包括常用工具类,目前收录了数组工具类、异步工具类、base64工具类、bitmap工具类、缓存工具类、时间工具类、http连接、json、IO、Map、MD5、数据库、SD卡、UbbToHtml等工具类合集

    android工具类 26个实用工具类

    这里提到的"android工具类 26个实用工具类"是一个集合,包含了多个针对Android开发的便捷函数。这些工具类可能包括网络请求、数据处理、UI操作、文件操作等多个方面,对于新手和有经验的开发者来说,都是提高开发...

    android工具类:基于javaBase64的加密解密工具类

    本文将详细介绍一个基于Java Base64的Android加密解密工具类,该工具类支持公钥加密和私钥解密,具有高度的解耦性,方便集成到项目中。 一、Base64加密解密基础 Base64是一种编码方式,它将任意二进制数据转换为可...

    Android 封装的工具类

    2. **数据库操作工具类(DB.java)** Android中常用SQLite作为轻量级数据库,`DB.java`通常用于封装对SQLite的操作,如数据库的创建、升级、表的创建、数据的增删查改等。通过这个工具类,开发者可以避免直接编写...

    Android-轻量级android工具类辅助类通用类

    "Android-轻量级android工具类辅助类通用类"这个项目提供了一套简洁而实用的工具集合,适合各种Android应用开发场景。 首先,我们来详细了解一下工具类(Utils)在Android开发中的作用。工具类通常包含一组静态方法...

    超实用的android自定义log日志输出工具类

    android自定义log日志输出工具,该工具类具有以下优点: 1 在LogUtlis方法的第一个参数中填this可以输出当前类的名称,特别是在匿名内部类使用也可以输出当前类名。 如 : LogUtils.i(this,”这是一个实用的日志...

    Android开发常用工具类

    2. **日期时间工具类**: - `DateUtils`:提供了对日期和时间的处理,如格式化日期、计算两个日期之间的差值、获取当前时间等。 - `TimeUtils`:包含与时间相关的操作,例如将毫秒值转换为友好的显示格式。 3. **...

    android线程池管理工具类

    android线程池管理工具类,用来管理线程的一些操作,避免重复new线程造成的资源浪费

    Android-android工具类大全

    "AndroidUtilCode"是一个全面的Android工具类库,包含了多种实用功能,极大地提升了开发效率。这个库的核心目标是帮助开发者在处理常见任务时减少重复代码,提高代码质量。 AndroidUtilCode库涵盖了许多关键领域的...

    Android-简单的Android工具类包含ActivityFragmentApplication基类和各类常用工具类集合

    以下是对"Android-简单的Android工具类包含ActivityFragmentApplication基类和各类常用工具类集合"这个主题的详细解析。 1. **Activity基类**: - Activity基类通常包含一些通用的方法,如初始化布局、处理权限、...

    Android文件操作工具类

    文件操作工具类,包含生成保存,复制,删除,读取,获取文件名,获取文件列表等等,只有你想不到,没有你找不到的Android端工具类,复制到项目中可直接使用

    android高德地图封装工具类

    android高德地图封装工具类地图定位,绘制路径等等android高德地图封装工具类地图定位,绘制路径等等android高德地图封装工具类地图定位,绘制路径等等android高德地图封装工具类地图定位,绘制路径等等android高德...

    Android-AndroidStudio快速创建常用工具类的插件

    本篇文章将详细探讨“Android-AndroidStudio快速创建常用工具类的插件”,以及如何利用这个名为Utils_plugin-master的插件来提升开发效率。 首先,理解“工具类”在Android开发中的概念至关重要。工具类通常是一些...

    Android判空工具类

    "Android判空工具类"就是为了解决这个问题而设计的,它提供了一些静态方法来简化对象空值检查的过程。 `isEmpty`和`isNotEmpty`是这个工具类中的两个关键方法。它们主要用来判断给定的对象或者集合是否为空。这两个...

    android开发必备工具类

    2. **网络请求工具类**: - 可以使用`Retrofit`或`Volley`作为网络请求库,通过封装工具类,统一处理网络请求、错误处理、缓存策略等,提供简洁的API供其他模块调用。 3. **图片加载库工具类**: - `Glide`或`...

    android工具类

    "android工具类"这个主题涵盖了从UI操作到网络请求,再到数据处理等多个方面的通用功能。下面我们将深入探讨一些常见的Android工具类及其功能。 1. **UI工具类**: - `ViewUtils`:此类通常包含与视图操作相关的...

    Android常用工具类集合

    2. **其他工具类**: - 可能包括字符串处理、日期时间格式化、文件操作、JSON解析等常见的工具类。例如,可以提供用于检查空值、字符串拼接、格式化日期等的方法。 - 图片处理工具类,可能包含图片压缩、裁剪、...

    Android常用工具类

    在Android开发中,工具类(Util Classes)是程序员经常使用的代码模块,它们提供了一系列静态方法,用于处理各种常见的任务,从而提高代码的可重用性和效率。以下是对"Android常用工具类"中涉及的一些关键知识点的...

    Android SP存储工具类

    以上就是关于Android中使用SP存储工具类的基本知识。通过这样的工具类,开发者可以更方便地管理SP中的数据,提高代码的可读性和可维护性。同时,对于更复杂的数据结构,可能需要考虑使用SQLite数据库或者Room库,...

Global site tag (gtag.js) - Google Analytics