-
/**
-
* px转sp
-
*
-
* @param fontScale
-
* @param pxVal
-
* @return
-
*/
-
public static float px2sp(Context context, float pxVal)
-
{
-
return (pxVal / context.getResources().getDisplayMetrics().scaledDensity);
-
}
-
}
====================================================================================
[java] view plain copy
-
package com.zhy.utils;
-
import java.io.File;
-
import android.os.Environment;
-
import android.os.StatFs;
-
/**
-
* SD卡相关的辅助类
-
*
-
*
-
*
-
*/
-
public class SDCardUtils
-
{
-
private SDCardUtils()
-
{
-
/* cannot be instantiated */
-
throw new UnsupportedOperationException(“cannot be instantiated”);
-
}
-
/**
-
* 判断SDCard是否可用
-
*
-
* @return
-
*/
-
public static boolean isSDCardEnable()
-
{
-
return Environment.getExternalStorageState().equals(
-
Environment.MEDIA_MOUNTED);
-
}
-
/**
-
* 获取SD卡路径
-
*
-
* @return
-
*/
-
public static String getSDCardPath()
-
{
-
return Environment.getExternalStorageDirectory().getAbsolutePath()
-
+ File.separator;
-
}
-
/**
-
* 获取SD卡的剩余容量 单位byte
-
*
-
* @return
-
*/
-
public static long getSDCardAllSize()
-
{
-
if (isSDCardEnable())
-
{
-
StatFs stat = new StatFs(getSDCardPath());
-
// 获取空闲的数据块的数量
-
long availableBlocks = (long) stat.getAvailableBlocks() - 4;
-
// 获取单个数据块的大小(byte)
-
long freeBlocks = stat.getAvailableBlocks();
-
return freeBlocks * availableBlocks;
-
}
-
return 0;
-
}
-
/**
-
* 获取指定路径所在空间的剩余可用容量字节数,单位byte
-
*
-
* @param filePath
-
* @return 容量字节 SDCard可用空间,内部存储可用空间
-
*/
-
public static long getFreeBytes(String filePath)
-
{
-
// 如果是sd卡的下的路径,则获取sd卡可用容量
-
if (filePath.startsWith(getSDCardPath()))
-
{
-
filePath = getSDCardPath();
-
} else
-
{// 如果是内部存储的路径,则获取内存存储的可用容量
-
filePath = Environment.getDataDirectory().getAbsolutePath();
-
}
-
StatFs stat = new StatFs(filePath);
-
long availableBlocks = (long) stat.getAvailableBlocks() - 4;
-
return stat.getBlockSize() * availableBlocks;
-
}
-
/**
-
* 获取系统存储路径
-
*
-
* @return
-
*/
-
public static String getRootDirectoryPath()
-
{
-
return Environment.getRootDirectory().getAbsolutePath();
-
}
-
}
===================================================================================
[java] view plain copy
-
package com.zhy.utils;
-
import android.app.Activity;
-
import android.content.Context;
-
import android.graphics.Bitmap;
-
import android.graphics.Rect;
-
import android.util.DisplayMetrics;
-
import android.view.View;
-
import android.view.WindowManager;
-
/**
-
* 获得屏幕相关的辅助类
-
*
-
*
-
*
-
*/
-
public class ScreenUtils
-
{
-
private ScreenUtils()
-
{
-
/* cannot be instantiated */
-
throw new UnsupportedOperationException(“cannot be instantiated”);
-
}
-
/**
-
* 获得屏幕高度
-
*
-
* @param context
-
* @return
-
*/
-
public static int getScreenWidth(Context context)
-
{
-
WindowManager wm = (WindowManager) context
-
.getSystemService(Context.WINDOW_SERVICE);
-
DisplayMetrics outMetrics = new DisplayMetrics();
-
wm.getDefaultDisplay().getMetrics(outMetrics);
-
return outMetrics.widthPixels;
-
}
-
/**
-
* 获得屏幕宽度
-
*
-
* @param context
-
* @return
-
*/
-
public static int getScreenHeight(Context context)
-
{
-
WindowManager wm = (WindowManager) context
-
.getSystemService(Context.WINDOW_SERVICE);
-
DisplayMetrics outMetrics = new DisplayMetrics();
-
wm.getDefaultDisplay().getMetrics(outMetrics);
-
return outMetrics.heightPixels;
-
}
-
/**
-
* 获得状态栏的高度
-
*
-
* @param context
-
* @return
-
*/
-
public static int getStatusHeight(Context context)
-
{
-
int statusHeight = -1;
-
try
-
{
-
Class<?> clazz = Class.forName(“com.android.internal.R$dimen”);
-
Object object = clazz.newInstance();
-
int height = Integer.parseInt(clazz.getField(“status_bar_height”)
-
.get(object).toString());
-
statusHeight = context.getResources().getDimensionPixelSize(height);
-
} catch (Exception e)
-
{
-
e.printStackTrace();
-
}
-
return statusHeight;
-
}
-
/**
-
* 获取当前屏幕截图,包含状态栏
-
*
-
* @param activity
-
* @return
-
*/
-
public static Bitmap snapShotWithStatusBar(Activity activity)
-
{
-
View view = activity.getWindow().getDecorView();
-
view.setDrawingCacheEnabled(true);
-
view.buildDrawingCache();
-
Bitmap bmp = view.getDrawingCache();
-
int width = getScreenWidth(activity);
-
int height = getScreenHeight(activity);
-
Bitmap bp = null;
-
bp = Bitmap.createBitmap(bmp, 0, 0, width, height);
-
view.destroyDrawingCache();
-
return bp;
-
}
-
/**
-
* 获取当前屏幕截图,不包含状态栏
-
*
-
* @param activity
-
* @return
-
*/
-
public static Bitmap snapShotWithoutStatusBar(Activity activity)
-
{
-
View view = activity.getWindow().getDecorView();
-
view.setDrawingCacheEnabled(true);
-
view.buildDrawingCache();
-
Bitmap bmp = view.getDrawingCache();
-
Rect frame = new Rect();
-
activity.getWindow().getDecorView().getWindowVisibleDisplayFrame(frame);
-
int statusBarHeight = frame.top;
-
int width = getScreenWidth(activity);
-
int height = getScreenHeight(activity);
-
Bitmap bp = null;
-
bp = Bitmap.createBitmap(bmp, 0, statusBarHeight, width, height
-
- statusBarHeight);
-
view.destroyDrawingCache();
-
return bp;
-
}
-
}
========================================================================
[java] view plain copy
-
package com.zhy.utils;
-
import android.content.Context;
-
import android.content.pm.PackageInfo;
-
import android.content.pm.PackageManager;
-
import android.content.pm.PackageManager.NameNotFoundException;
-
/**
-
* 跟App相关的辅助类
-
*
-
*
-
*
-
*/
-
public class AppUtils
-
{
-
private AppUtils()
-
{
-
/* cannot be instantiated */
-
throw new UnsupportedOperationException(“cannot be instantiated”);
-
}
-
/**
-
* 获取应用程序名称
-
*/
-
public static String getAppName(Context context)
-
{
-
try
-
{
-
PackageManager packageManager = context.getPackageManager();
-
PackageInfo packageInfo = packageManager.getPackageInfo(
-
context.getPackageName(), 0);
-
int labelRes = packageInfo.applicationInfo.labelRes;
-
return context.getResources().getString(labelRes);
-
} catch (NameNotFoundException e)
-
{
-
e.printStackTrace();
-
}
-
return null;
-
}
-
/**
-
* [获取应用程序版本名称信息]
-
*
-
* @param context
-
* @return 当前应用的版本名称
-
*/
-
public static String getVersionName(Context context)
-
{
-
try
-
{
-
PackageManager packageManager = context.getPackageManager();
-
PackageInfo packageInfo = packageManager.getPackageInfo(
-
context.getPackageName(), 0);
-
return packageInfo.versionName;
-
} catch (NameNotFoundException e)
-
{
-
e.printStackTrace();
-
}
-
return null;
-
}
-
}
=====================================================================================
[java] view plain copy
-
package com.zhy.utils;
-
import android.content.Context;
-
import android.view.inputmethod.InputMethodManager;
-
import android.widget.EditText;
-
/**
-
* 打开或关闭软键盘
-
*
-
* @author zhy
-
*
-
*/
-
public class KeyBoardUtils
-
{
-
/**
-
* 打卡软键盘
-
*
-
* @param mEditText
-
* 输入框
-
* @param mContext
-
* 上下文
-
*/
-
public static void openKeybord(EditText mEditText, Context mContext)
-
{
-
InputMethodManager imm = (InputMethodManager) mContext
-
.getSystemService(Context.INPUT_METHOD_SERVICE);
-
imm.showSoftInput(mEditText, InputMethodManager.RESULT_SHOWN);
-
imm.toggleSoftInput(InputMethodManager.SHOW_FORCED,
-
InputMethodManager.HIDE_IMPLICIT_ONLY);
-
}
-
/**
-
* 关闭软键盘
-
*
-
* @param mEditText
-
* 输入框
-
* @param mContext
-
* 上下文
-
*/
-
public static void closeKeybord(EditText mEditText, Context mContext)
-
{
-
InputMethodManager imm = (InputMethodManager) mContext
-
.getSystemService(Context.INPUT_METHOD_SERVICE);
-
imm.hideSoftInputFromWindow(mEditText.getWindowToken(), 0);
-
}
-
}
================================================================================
[java] view plain copy
-
package com.zhy.utils;
-
import android.app.Activity;
-
import android.content.ComponentName;
-
import android.content.Context;
-
import android.content.Intent;
-
import android.net.ConnectivityManager;
-
import android.net.NetworkInfo;
-
/**
-
* 跟网络相关的工具类
-
*
-
*
-
*
-
*/
-
public class NetUtils
-
{
-
private NetUtils()
-
{
-
/* cannot be instantiated */
-
throw new UnsupportedOperationException(“cannot be instantiated”);
-
}
-
/**
-
* 判断网络是否连接
-
*
-
* @param context
-
* @return
-
*/
-
public static boolean isConnected(Context context)
-
{
-
ConnectivityManager connectivity = (ConnectivityManager) context
-
.getSystemService(Context.CONNECTIVITY_SERVICE);
-
if (null != connectivity)
-
{
-
NetworkInfo info = connectivity.getActiveNetworkInfo();
-
if (null != info && info.isConnected())
-
{
-
if (info.getState() == NetworkInfo.State.CONNECTED)
-
{
-
return true;
-
}
-
}
-
}
-
return false;
-
}
-
/**
-
* 判断是否是wifi连接
-
*/
-
public static boolean isWifi(Context context)
-
{
-
ConnectivityManager cm = (ConnectivityManager) context
-
.getSystemService(Context.CONNECTIVITY_SERVICE);
-
if (cm == null)
-
return false;
-
return cm.getActiveNetworkInfo().getType() == ConnectivityManager.TYPE_WIFI;
-
}
-
/**
-
* 打开网络设置界面
-
*/
-
public static void openSetting(Activity activity)
-
{
-
Intent intent = new Intent(“/”);
-
ComponentName cm = new ComponentName(“com.android.settings”,
-
“com.android.settings.WirelessSettings”);
-
intent.setComponent(cm);
-
intent.setAction(“android.intent.action.VIEW”);
-
activity.startActivityForResult(intent, 0);
-
}
-
}
====================================================================================
[java] view plain copy
-
package com.zhy.utils;
-
import java.io.BufferedReader;
-
import java.io.ByteArrayOutputStream;
-
import java.io.IOException;
-
import java.io.InputStream;
-
import java.io.InputStreamReader;
-
import java.io.PrintWriter;
-
import java.net.HttpURLConnection;
-
import java.net.URL;
-
/**
-
* Http请求的工具类
-
*
-
* @author zhy
-
*
-
*/
-
public class HttpUtils
-
{
-
private static final int TIMEOUT_IN_MILLIONS = 5000;
-
public interface CallBack
-
{
-
void onRequestComplete(String result);
-
}
-
/**
-
* 异步的Get请求
-
*
-
* @param urlStr
-
* @param callBack
-
*/
-
public static void doGetAsyn(final String urlStr, final CallBack callBack)
-
{
-
new Thread()
-
{
-
public void run()
-
{
-
try
-
{
-
String result = doGet(urlStr);
-
if (callBack != null)
-
{
-
callBack.onRequestComplete(result);
-
}
-
} catch (Exception e)
-
{
-
e.printStackTrace();
-
}
-
};
-
}.start();
-
}
-
/**
-
* 异步的Post请求
-
* @param urlStr
-
* @param params
-
* @param callBack
-
* @throws Exception
-
*/
-
public static void doPostAsyn(final String urlStr, final String params,
-
final CallBack callBack) throws Exception
-
{
-
new Thread()
-
{
-
public void run()
-
{
-
try
-
{
-
String result = doPost(urlStr, params);
-
if (callBack != null)
-
{
-
callBack.onRequestComplete(result);
-
}
-
} catch (Exception e)
-
{
-
e.printStackTrace();
-
}
-
};
-
}.start();
-
}
-
/**
-
* Get请求,获得返回数据
-
*
-
* @param urlStr
-
* @return
-
* @throws Exception
-
*/
-
public static String doGet(String urlStr)
-
{
-
URL url = null;
-
HttpURLConnection conn = null;
-
InputStream is = null;
-
ByteArrayOutputStream baos = null;
-
try
-
{
-
url = new URL(urlStr);
-
conn = (HttpURLConnection) url.openConnection();
-
conn.setReadTimeout(TIMEOUT_IN_MILLIONS);
-
conn.setConnectTimeout(TIMEOUT_IN_MILLIONS);
-
conn.setRequestMethod(“GET”);
-
conn.setRequestProperty(“accept”, “*/*”);
-
conn.setRequestProperty(“connection”, “Keep-Alive”);
-
if (conn.getResponseCode() == 200)
-
{
-
is = conn.getInputStream();
-
baos = new ByteArrayOutputStream();
-
int len = -1;
-
byte[] buf = new byte[128];
-
while ((len = is.read(buf)) != -1)
-
{
-
baos.write(buf, 0, len);
-
}
-
baos.flush();
-
return baos.toString();
-
} else
-
{
-
throw new RuntimeException(" responseCode is not 200 … ");
-
}
-
} catch (Exception e)
-
{
-
e.printStackTrace();
-
} finally
-
{
-
try
-
{
-
if (is != null)
-
is.close();
-
} catch (IOException e)
-
{
-
}
-
try
-
{
-
if (baos != null)
-
baos.close();
-
} catch (IOException e)
-
{
-
}
-
conn.disconnect();
-
}
-
return null ;
-
}
-
/**
-
* 向指定 URL 发送POST方法的请求
-
*
-
* @param url
-
* 发送请求的 URL
-
* @param param
-
* 请求参数,请求参数应该是 name1=value1&name2=value2 的形式。
-
* @return 所代表远程资源的响应结果
-
* @throws Exception
-
*/
-
public static String doPost(String url, String param)
-
{
-
PrintWriter out = null;
-
BufferedReader in = null;
-
String result = “”;
-
try
-
{
-
URL realUrl = new URL(url);
-
// 打开和URL之间的连接
-
HttpURLConnection conn = (HttpURLConnection) realUrl
-
.openConnection();
-
// 设置通用的请求属性
-
conn.setRequestProperty(“accept”, “*/*”);
-
conn.setRequestProperty(“connection”, “Keep-Alive”);
-
conn.setRequestMethod(“POST”);
-
conn.setRequestProperty(“Content-Type”,
-
“application/x-www-form-urlencoded”);
-
conn.setRequestProperty(“charset”, “utf-8”);
-
conn.setUseCaches(false);
-
// 发送POST请求必须设置如下两行
-
conn.setDoOutput(true);
-
conn.setDoInput(true);
-
conn.setReadTimeout(TIMEOUT_IN_MILLIONS);
-
conn.setConnectTimeout(TIMEOUT_IN_MILLIONS);
-
if (param != null && !param.trim().equals(“”))
-
{
-
// 获取URLConnection对象对应的输出流
-
out = new PrintWriter(conn.getOutputStream());
-
// 发送请求参数
-
out.print(param);
-
// flush输出流的缓冲
-
out.flush();
-
}
-
// 定义BufferedReader输入流来读取URL的响应
-
in = new BufferedReader(
-
new InputStreamReader(conn.getInputStream()));
-
String line;
-
while ((line = in.readLine()) != null)
-
{
-
result += line;
-
}
-
} catch (Exception e)
-
{
-
e.printStackTrace();
-
}
-
// 使用finally块来关闭输出流、输入流
-
finally
-
{
-
try
-
{
-
if (out != null)
-
{
-
out.close();
-
}
-
if (in != null)
-
{
-
in.close();
-
}
-
} catch (IOException ex)
-
{
-
ex.printStackTrace();
-
}
-
}
-
return result;
-
}
-
}
如果大家在使用过程中出现什么错误,或者有更好的建议,欢迎大家留言提出~~可以不断的改进这些类~
源码点击下载
推荐学习资料
- 脑图
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
-
while ((line = in.readLine()) != null)
-
{
-
result += line;
-
}
-
} catch (Exception e)
-
{
-
e.printStackTrace();
-
}
-
// 使用finally块来关闭输出流、输入流
-
finally
-
{
-
try
-
{
-
if (out != null)
-
{
-
out.close();
-
}
-
if (in != null)
-
{
-
in.close();
-
}
-
} catch (IOException ex)
-
{
-
ex.printStackTrace();
-
}
-
}
-
return result;
-
}
-
}
如果大家在使用过程中出现什么错误,或者有更好的建议,欢迎大家留言提出~~可以不断的改进这些类~
源码点击下载
推荐学习资料
- 脑图
[外链图片转存中…(img-8yXyeOK3-1714207170629)]
[外链图片转存中…(img-YsP8xDM0-1714207170629)]
[外链图片转存中…(img-3vnMXgjL-1714207170629)]
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!