您的位置:首页 > 移动开发 > Android开发

Android工具类一些方法函数

2017-01-16 10:37 351 查看
1.检查手机网络是否可用:

public static boolean isNetworkAvailable(Activity activity) {
Context context = activity.getApplicationContext();
ConnectivityManager connectivityManager = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);

if (connectivityManager == null) {
return false;
} else {
NetworkInfo[] networkInfo = connectivityManager.getAllNetworkInfo();

if (networkInfo != null && networkInfo.length > 0) {
for (int i = 0; i < networkInfo.length; i++) {
if (networkInfo[i].getState() == NetworkInfo.State.CONNECTED) {
return true;
}
}
}
}
return false;
}
2.long类型时间格式变换:

public static String longToDate(String timestampString) {
Long timestamp = Long.parseLong(timestampString) * 1000;
String date = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss")
.format(new java.util.Date(timestamp));
return date;
}


3.toast输出:

public static void showToast(Context ctx, String msg) {
Toast.makeText(ctx, msg, Toast.LENGTH_SHORT).show();
}
4.跳转Activity
public static void startAct(Context ctx, Class<?> cls) {
Intent intent = new Intent(ctx, cls);
ctx.startActivity(intent);
((Activity) ctx).overridePendingTransition(R.anim.slide_in_from_right,
R.anim.slide_out_to_left);
}
5.获得屏幕宽度像素:

static public int getScreenWidthPixels(Context context) {
DisplayMetrics dm = new DisplayMetrics();
((WindowManager) context.getSystemService(Context.WINDOW_SERVICE))
.getDefaultDisplay().getMetrics(dm);
return dm.widthPixels;
}
5.dip和像素的单位转换:

static public int dipToPx(Context context, int dip) {
return (int) (dip * getScreenDensity(context) + 0.5f);
}
6.获取屏幕密度:

static public float getScreenDensity(Context context) {
try {
DisplayMetrics dm = new DisplayMetrics();
((WindowManager) context.getSystemService(Context.WINDOW_SERVICE))
.getDefaultDisplay().getMetrics(dm);
return dm.density;
} catch (Exception e) {
return DisplayMetrics.DENSITY_DEFAULT;
}
}
7.判断手机安装的微信是否为官方的:

/**
* 判断是否为官方微信
*
* @return
*/
public static boolean isOfficialWx(Context context) {
PackageInfo pi;
try {
pi = context.getPackageManager().getPackageInfo(
"com.tencent.mm", PackageManager.GET_SIGNATURES);

Signature signatures = pi.signatures[0];

MessageDigest md = MessageDigest.getInstance("MD5");
md.update(signatures.toByteArray());
byte[] digest = md.digest();
String res = toHexString(digest);
if (WXConstants.WxMD5.equals(res)) {
return true;
}

} catch (NameNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (NoSuchAlgorithmException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return false;
}
public static final String WxMD5 = "18:C8:67:F0:71:7A:A6:7B:2A:B7:34:75:05:BA:07:ED";
private static String toHexString(byte[] block) {
StringBuffer buf = new StringBuffer();

int len = block.length;

for (int i = 0; i < len; i++) {
byte2hex(block[i], buf);
if (i < len - 1) {
buf.append(":");
}
}
return buf.toString();
}
8.获取手机剩余内存是否满足条件:

/**
* 获取手机剩余内存是否满足条件
*/
public static boolean getAvailMemory() {
if (externalMemoryAvailable()) {
File path = Environment.getExternalStorageDirectory();
StatFs sf = new StatFs(path.getPath());
// 获取单个数据块的大小(Byte)
long blockSize = sf.getBlockSize();
// 空闲的数据块的数量
long freeBlocks = sf.getAvailableBlocks();
// 返回SD卡空闲大小
long availSize2 = (freeBlocks * blockSize) / 1024; // 单位KB
if (availSize2 > WXConstants.REMAININGMEMORY) {
return true;
}
}
return false;
}
public static final long REMAININGMEMORY = 307200;
public static boolean externalMemoryAvailable() {
return Environment.getExternalStorageState().equals(
Environment.MEDIA_MOUNTED);
}
9.是否安装某个应用程序:

/**
* 是否安装应用程序
*
* @param context
* @param packagename
* @return
*/
public static boolean isAppInstalled(Context context, String packagename) {
PackageInfo packageInfo;
try {
packageInfo = context.getPackageManager().getPackageInfo(
packagename, 0);
} catch (NameNotFoundException e) {
packageInfo = null;
e.printStackTrace();
}
if (packageInfo == null) {
// System.out.println("没有安装");
return false;
} else {
// System.out.println("已经安装");
return true;
}
}
10.打开某个应用
4000
程序:

/**
* 打开应用
* @param _ctx
* @param packagename
*/
public static void openApp(Context _ctx, String packagename) {
final PackageManager pm = _ctx.getPackageManager();
try {
Intent i = pm.getLaunchIntentForPackage(packagename);
if (i != null)
_ctx.startActivity(i);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: