package com.example.jingbin.cloudreader.utils;
import android.app.ActivityManager;
import android.content.ClipboardManager;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.net.Uri;
import android.text.TextUtils;
import android.util.DisplayMetrics;
import android.view.WindowManager;
import android.widget.TextView;
import com.example.jingbin.cloudreader.app.CloudReaderApplication;
import java.lang.reflect.Field;
import java.text.DecimalFormat;
import java.text.NumberFormat;
import java.util.List;
import java.util.Locale;
/**
* Created by jingbin on 2017/2/13.
*/
public class BaseTools {
//获取图片所在文件夹名称
public static String getDir(String path) {
String subString = path.substring(0, path.lastIndexOf('/'));
return subString.substring(subString.lastIndexOf('/') + 1, subString.length());
}
public static int getWindowWidth(Context context) {
// 获取屏幕分辨率
WindowManager wm = (WindowManager) (context
.getSystemService(Context.WINDOW_SERVICE));
DisplayMetrics dm = new DisplayMetrics();
wm.getDefaultDisplay().getMetrics(dm);
int mScreenWidth = dm.widthPixels;
return mScreenWidth;
}
public static int getWindowHeigh(Context context) {
// 获取屏幕分辨率
WindowManager wm = (WindowManager) (context
.getSystemService(Context.WINDOW_SERVICE));
DisplayMetrics dm = new DisplayMetrics();
wm.getDefaultDisplay().getMetrics(dm);
int mScreenHeigh = dm.heightPixels;
return mScreenHeigh;
}
//获得状态栏/通知栏的高度
public static int getStatusBarHeight(Context context) {
Class<?> c = null;
Object obj = null;
Field field = null;
int x = 0, statusBarHeight = 0;
try {
c = Class.forName("com.android.internal.R$dimen");
obj = c.newInstance();
field = c.getField("status_bar_height");
x = Integer.parseInt(field.get(obj).toString());
statusBarHeight = context.getResources().getDimensionPixelSize(x);
} catch (Exception e1) {
e1.printStackTrace();
}
return statusBarHeight;
}
/**
* 使用默认方式显示货币:
* 例如:¥12,345.46 默认保留2位小数,四舍五入
*
* @param d double
* @return String
*/
public static String formatCurrency(double d) {
String s = "";
try {
DecimalFormat nf = (DecimalFormat) NumberFormat.getCurrencyInstance(Locale.CHINA);
s = nf.format(d);
} catch (Exception e) {
e.printStackTrace();
return "" + d;
}
return s;
}
/**
* 去掉无效小数点 ".00"
*/
public static String formatMoney(double d) {
String tmp = formatCurrency(d);
if (tmp.endsWith(".00")) {
return tmp.substring(0, tmp.length() - 3);
} else {
return tmp;
}
}
/**
* 处于栈顶的Activity名
*/
public String getTopActivityName(Context context) {
ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
List var2 = am.getRunningTasks(1);
return ((ActivityManager.RunningTaskInfo) var2.get(0)).topActivity.getClassName();
}
public static void setText(String text, TextView textView) {
if (textView != null) {
if (TextUtils.isEmpty(text)) {
textView.setText("");
} else {
textView.setText(text);
}
}
}
/**
* 获取当前应用的版本号
*/
public static String getVersionName() {
// 获取packagemanager的实例
PackageManager packageManager = CloudReaderApplication.getInstance().getPackageManager();
// getPackageName()是你当前类的包名,0代表是获取版本信息
PackageInfo packInfo = null;
try {
packInfo = packageManager.getPackageInfo(CloudReaderApplication.getInstance().getPackageName(), 0);
return packInfo.versionName;
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
return "1.0";
}
}
/**
* 实现文本复制功能
*
* @param content 复制的文本
*/
public static void copy(String content) {
// 得到剪贴板管理器
ClipboardManager cmb = (ClipboardManager) CloudReaderApplication.getInstance().getSystemService(Context.CLIPBOARD_SERVICE);
cmb.setText(content.trim());
}
/**
* 使用浏览器打开链接
*/
public static void openLink(Context context, String content) {
Uri issuesUrl = Uri.parse(content);
Intent intent = new Intent(Intent.ACTION_VIEW, issuesUrl);
context.startActivity(intent);
}
}