VIewUtil
public class VIewUtil {
public static void removeParent(View view){
ViewParent viewParent = view.getParent();
if(viewParent instanceof ViewGroup){
ViewGroup viewGroup = (ViewGroup) viewParent;
viewGroup.removeView(view);
}
}
}
UIutil
public class UIutil {
public static Resources getResource(){
return BaseApplication.getApplication().getResources();
}
public static Context getContext(){
return BaseApplication.getApplication();
}
public static String[] getStringArray(int tabNames){
return getResource().getStringArray(tabNames);
}
/**
* 把Runnable 方法提交到主线程运行
* @param runnable
*/
public static void runOnUiThread(Runnable runnable) {
if(android.os.Process.myTid()==BaseApplication.getMainTid()){
runnable.run();
}else{
BaseApplication.getHandler().post(runnable);
}
}
/**
* 延迟执行 任务
* @param run 任务
* @param time 延迟的时间
*/
public static void postDelayed(Runnable run, int time) {
BaseApplication.getHandler().postDelayed(run, time);
}
/**
* 取消任务
* @param auToRunTask
*/
public static void cancel(Runnable auToRunTask) {
BaseApplication.getHandler().removeCallbacks(auToRunTask);
}
public static int dip2px(int dip){
final float scale = getResource().getDisplayMetrics().density;
return (int) (dip * scale + 0.5f);
}
public static int px2dip(int px){
final float scale = getResource().getDisplayMetrics().density;
return (int) (px/scale + 0.5f);
}
public static Drawable getDrawable(int id) {
return getResource().getDrawable(id);
}
public static int getColor(int id){ return getResource().getColor(id); }
public static int getDimen(int dimen){ return (int)getResource().getDimension(dimen); }
public static void startActivity(Intent intent) {
/**如果不在activity里去打开activity 需要指定任务栈 需要设置标签*/
if(BaseActivity.activity == null){
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
getContext().startActivity(intent);
}else{
BaseActivity.activity.startActivity(intent);
}
}
}
FileUtil
public class FileUtil {
public static final String CACHE = "cache";
public static final String ICON = "icon";
public static final String ROOT = "AppStore";
public static File getDir (String str){
StringBuilder path = new StringBuilder();
if(isSDAvailable()) {
path.append(Environment.getExternalStorageDirectory().getAbsolutePath());
path.append(File.separator);
path.append(ROOT);
path.append(File.separator);
path.append(str);
}else {
File filesDir = UIutil.getContext().getCacheDir();
path.append(filesDir.getAbsolutePath());
path.append(File.separator);
path.append(str);
}
LogUtils.d(path.toString());
File file = new File(path.toString());
if (!file.exists() || !file.isDirectory()) {
file.mkdirs();
}
return file;
}
private static boolean isSDAvailable() {
if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
LogUtils.d("true");
return true;
}else{
LogUtils.d("false");
return false;
}
}
public static File getCacheDir(){
return getDir(CACHE);
}
public static File getIconDir(){
return getDir(ICON);
}
}
DrawableUtil
public class DrawableUtil {
public static GradientDrawable createShape(int color){
GradientDrawable drawable = new GradientDrawable();
drawable.setCornerRadius(UIutil.dip2px(5));
drawable.setColor(color);
return drawable;
}
public static StateListDrawable createSelectorDrawable(Drawable pressedDrawable,Drawable normalDrawalbe){
StateListDrawable stateListDrawable = new StateListDrawable();
stateListDrawable.addState(new int[]{android.R.attr.state_pressed},pressedDrawable);
stateListDrawable.addState(new int[]{},normalDrawalbe);
return stateListDrawable;
}
}
BitmapUtil
import com.lidroid.xutils.BitmapUtils;
/**
* Created by stephen on 2016/11/10.
*/
public class BitmapUtil {
BitmapUtil(){}
private static BitmapUtils bitmapUtil;
public static BitmapUtils getBitmap(){
if(bitmapUtil == null){
bitmapUtil = new BitmapUtils(UIutil.getContext(),FileUtil.getIconDir().getAbsolutePath(),0.6f);
}
return bitmapUtil;
}
}
GetHttp
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
public class GetHttp {
public static final String URI = "http://127.0.0.1:8090/";
public static String RequstGetHttp(String strUrl) {
URL url;
String result = "";
try {
url = new URL(strUrl);
HttpURLConnection urlconn = (HttpURLConnection) url.openConnection();
urlconn.setRequestMethod("GET");
urlconn.setConnectTimeout(10000);
urlconn.setReadTimeout(15000);
InputStreamReader is = new InputStreamReader(urlconn.getInputStream());
BufferedReader bufferedReader = new BufferedReader(is);
String readLine ;
while ((readLine = bufferedReader.readLine()) != null) {
result += readLine;
}
bufferedReader.close();
is.close();
urlconn.disconnect();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return result;
}
}
LogUtils
import android.util.Log;
public class LogUtils {
/** 日志输出级别NONE */
public static final int LEVEL_NONE = 0;
/** 日志输出级别V */
public static final int LEVEL_VERBOSE = 1;
/** 日志输出级别D */
public static final int LEVEL_DEBUG = 2;
/** 日志输出级别I */
public static final int LEVEL_INFO = 3;
/** 日志输出级别W */
public static final int LEVEL_WARN = 4;
/** 日志输出级别E */
public static final int LEVEL_ERROR = 5;
/** 日志输出时的TAG */
private static String mTag = "googleplay";
/** 是否允许输出log */
private static int mDebuggable = LEVEL_ERROR;
/** 用于记时的变量 */
private static long mTimestamp = 0;
/** 以级别为 d 的形式输出LOG */
public static void v(String msg) {
if (mDebuggable >= LEVEL_VERBOSE) {
Log.v(mTag, msg);
}
}
/** 以级别为 d 的形式输出LOG */
public static void d(String msg) {
if (mDebuggable >= LEVEL_DEBUG) {
Log.d(mTag, msg);
}
}
/** 以级别为 i 的形式输出LOG */
public static void i(String msg) {
if (mDebuggable >= LEVEL_INFO) {
Log.i(mTag, msg);
}
}
/** 以级别为 w 的形式输出LOG */
public static void w(String msg) {
if (mDebuggable >= LEVEL_WARN) {
Log.w(mTag, msg);
}
}
/** 以级别为 w 的形式输出Throwable */
public static void w(Throwable tr) {
if (mDebuggable >= LEVEL_WARN) {
Log.w(mTag, "", tr);
}
}
/** 以级别为 w 的形式输出LOG信息和Throwable */
public static void w(String msg, Throwable tr) {
if (mDebuggable >= LEVEL_WARN && null != msg) {
Log.w(mTag, msg, tr);
}
}
/** 以级别为 e 的形式输出LOG */
public static void e(String msg) {
if (mDebuggable >= LEVEL_ERROR) {
Log.e(mTag, msg);
}
}
/** 以级别为 e 的形式输出Throwable */
public static void e(Throwable tr) {
if (mDebuggable >= LEVEL_ERROR) {
Log.e(mTag, "", tr);
}
}
/** 以级别为 e 的形式输出LOG信息和Throwable */
public static void e(String msg, Throwable tr) {
if (mDebuggable >= LEVEL_ERROR && null != msg) {
Log.e(mTag, msg, tr);
}
}
/** 以级别为 e 的形式输出msg信息,附带时间戳,用于输出一个时间段结束点* @param msg 需要输出的msg */
public static void elapsed(String msg) {
long currentTime = System.currentTimeMillis();
long elapsedTime = currentTime - mTimestamp;
mTimestamp = currentTime;
e("[Elapsed:" + elapsedTime + "]" + msg);
}
}