java单例模式

 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();
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值