public class Tools
{
private static Tools instance;
private Tools()
{
}
//第一次调用getinstance(),会构造一个实例对象;第二次调用,由于instance为静态全局,所以在return刚刚的实例对象,类的对象只有一个,所以叫单例模式。
public static Tools getInstance()
{
if(instance == null)
{
instance = new Tools();
}
return instance;
}
/**
*
* 函数名称 : toastShowMsg
* 功能描述 : Toast显示信息
* 参数及返回值说明:
* @param context
* @param strMsg
* @param time
public void toastShowMsg(Context context, String strMsg, int time)
{
Toast.makeText(context, strMsg, time).show();
}
/**
*
* 函数名称 : toastShowMsg
* 功能描述 : Toast显示信息
* 参数及返回值说明:
* @param context
* @param strMsg
* @param time
* @param gravity
* @param xOffset
* @param yOffset
*
*/
public void toastShowMsg(Context context, String strMsg, int time, int gravity, int xOffset, int yOffset)
{
Toast toast = Toast.makeText(context, strMsg, time);
toast.setGravity(gravity, xOffset, yOffset);
toast.show();
}
/**
*
* 函数名称 : getLoacalBitmap
* 功能描述 : 加载本地图片
* 参数及返回值说明:
* @param url 本地图片路径
* @return
*
*/
public Bitmap getLoacalBitmap(Context context, String url)
{
InputStream fis = null;
try
{
fis = context.getAssets().open(url);
//从输入流获取一个 Bitmap 图片的方法
return BitmapFactory.decodeStream(fis);
}
catch (IOException e)
{
e.printStackTrace();
return null;
}
finally
{
if(fis != null)
{
try
{
fis.close();
fis = null;
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
}
/**
*
* 函数名称 : downloadBitmap
* 功能描述 : 下载网络资源
* 参数及返回值说明:
* @param bitmapUrl
* @return
* @throws IOException
*
*
*/
public Bitmap downloadBitmap(URL bitmapUrl)
{
HttpURLConnection conn;
InputStream is = null;
BufferedInputStream bis = null;
Bitmap bm = null;
try
{
conn = (HttpURLConnection) bitmapUrl.openConnection();
conn.connect();
is = conn.getInputStream();
bis = new BufferedInputStream(is);
bm = BitmapFactory.decodeStream(bis);
}
catch (IOException e)
{
e.printStackTrace();
}
finally
{
try
{
if (bis != null)
{
bis.close();
bis = null;
}
if (is != null)
{
is.close();
is = null;
}
}
catch (IOException e)
{
e.printStackTrace();
}
}
return bm;
}
/**
*
* 函数名称 : keepDialog
* 功能描述 : 保持 Dialog 对话框
* 参数及返回值说明:
* @param dialog
* @throws SecurityException
* @throws NoSuchFieldException
* @throws IllegalArgumentException
* @throws IllegalAccessException
*
*
*/
public void keepDialog(DialogInterface dialog) throws SecurityException, NoSuchFieldException, IllegalArgumentException, IllegalAccessException
{
//以下实现是当点击 Dialog 对话框的按钮后,不关闭 Dialog 对话框
//获取 mShowing 字段
Field field = dialog.getClass().getSuperclass().getSuperclass().getDeclaredField("mShowing");
//值为 true 则指示反射的对象在使用时应该取消 Java 语言访问检查
field.setAccessible(true);
//将指定对象变量上此 Field 对象表示的字段设置为指定的新值
field.set(dialog, false);
}
/**
*
* 函数名称 : destroyDialog
* 功能描述 : 销毁 Dialog 对话框
* 参数及返回值说明:
* @param dialog
* @throws SecurityException
* @throws NoSuchFieldException
* @throws IllegalArgumentException
* @throws IllegalAccessException
*
*/
public void destroyDialog(DialogInterface dialog, boolean isClose) throws SecurityException, NoSuchFieldException, IllegalArgumentException, IllegalAccessException
{
//以下实现是当点击 Dialog 对话框的按钮后,不关闭 Dialog 对话框
//获取 mShowing 字段
Field field = dialog.getClass().getSuperclass().getSuperclass().getDeclaredField("mShowing");
//值为 true 则指示反射的对象在使用时应该取消 Java 语言访问检查
field.setAccessible(true);
//将指定对象变量上此 Field 对象表示的字段设置为指定的新值
field.set(dialog, isClose);
dialog.dismiss();
// //
// dialog.cancel();
}
}
{
private static Tools instance;
private Tools()
{
}
//第一次调用getinstance(),会构造一个实例对象;第二次调用,由于instance为静态全局,所以在return刚刚的实例对象,类的对象只有一个,所以叫单例模式。
public static Tools getInstance()
{
if(instance == null)
{
instance = new Tools();
}
return instance;
}
/**
*
* 函数名称 : toastShowMsg
* 功能描述 : Toast显示信息
* 参数及返回值说明:
* @param context
* @param strMsg
* @param time
*/
public void toastShowMsg(Context context, String strMsg, int time)
{
Toast.makeText(context, strMsg, time).show();
}
/**
*
* 函数名称 : toastShowMsg
* 功能描述 : Toast显示信息
* 参数及返回值说明:
* @param context
* @param strMsg
* @param time
* @param gravity
* @param xOffset
* @param yOffset
*
*/
public void toastShowMsg(Context context, String strMsg, int time, int gravity, int xOffset, int yOffset)
{
Toast toast = Toast.makeText(context, strMsg, time);
toast.setGravity(gravity, xOffset, yOffset);
toast.show();
}
/**
*
* 函数名称 : getLoacalBitmap
* 功能描述 : 加载本地图片
* 参数及返回值说明:
* @param url 本地图片路径
* @return
*
*/
public Bitmap getLoacalBitmap(Context context, String url)
{
InputStream fis = null;
try
{
fis = context.getAssets().open(url);
//从输入流获取一个 Bitmap 图片的方法
return BitmapFactory.decodeStream(fis);
}
catch (IOException e)
{
e.printStackTrace();
return null;
}
finally
{
if(fis != null)
{
try
{
fis.close();
fis = null;
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
}
/**
*
* 函数名称 : downloadBitmap
* 功能描述 : 下载网络资源
* 参数及返回值说明:
* @param bitmapUrl
* @return
* @throws IOException
*
*
*/
public Bitmap downloadBitmap(URL bitmapUrl)
{
HttpURLConnection conn;
InputStream is = null;
BufferedInputStream bis = null;
Bitmap bm = null;
try
{
conn = (HttpURLConnection) bitmapUrl.openConnection();
conn.connect();
is = conn.getInputStream();
bis = new BufferedInputStream(is);
bm = BitmapFactory.decodeStream(bis);
}
catch (IOException e)
{
e.printStackTrace();
}
finally
{
try
{
if (bis != null)
{
bis.close();
bis = null;
}
if (is != null)
{
is.close();
is = null;
}
}
catch (IOException e)
{
e.printStackTrace();
}
}
return bm;
}
/**
*
* 函数名称 : keepDialog
* 功能描述 : 保持 Dialog 对话框
* 参数及返回值说明:
* @param dialog
* @throws SecurityException
* @throws NoSuchFieldException
* @throws IllegalArgumentException
* @throws IllegalAccessException
*
*
*/
public void keepDialog(DialogInterface dialog) throws SecurityException, NoSuchFieldException, IllegalArgumentException, IllegalAccessException
{
//以下实现是当点击 Dialog 对话框的按钮后,不关闭 Dialog 对话框
//获取 mShowing 字段
Field field = dialog.getClass().getSuperclass().getSuperclass().getDeclaredField("mShowing");
//值为 true 则指示反射的对象在使用时应该取消 Java 语言访问检查
field.setAccessible(true);
//将指定对象变量上此 Field 对象表示的字段设置为指定的新值
field.set(dialog, false);
}
/**
*
* 函数名称 : destroyDialog
* 功能描述 : 销毁 Dialog 对话框
* 参数及返回值说明:
* @param dialog
* @throws SecurityException
* @throws NoSuchFieldException
* @throws IllegalArgumentException
* @throws IllegalAccessException
*
*/
public void destroyDialog(DialogInterface dialog, boolean isClose) throws SecurityException, NoSuchFieldException, IllegalArgumentException, IllegalAccessException
{
//以下实现是当点击 Dialog 对话框的按钮后,不关闭 Dialog 对话框
//获取 mShowing 字段
Field field = dialog.getClass().getSuperclass().getSuperclass().getDeclaredField("mShowing");
//值为 true 则指示反射的对象在使用时应该取消 Java 语言访问检查
field.setAccessible(true);
//将指定对象变量上此 Field 对象表示的字段设置为指定的新值
field.set(dialog, isClose);
dialog.dismiss();
// //
// dialog.cancel();
}
}