1. 双击退出应用程序
思路:用户按下返回键时设定一个定时器来监控是否2秒内实现了退出,如果用户没有接着按返回键,则清除第一次按返回键的效果,使程序还原到第一次按下返回键之前的状态。定时器是每次用户按下返回键才去创建。
private long exitTime = 0;
public boolean onKeyDown(int keyCode, KeyEvent event) {
// 双击返回键,退出程序
if(keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN){
if((System.currentTimeMillis()-exitTime) > 2000){
Toast.makeText(getApplicationContext(), "再按一次退出程序", Toast.LENGTH_SHORT).show();
exitTime = System.currentTimeMillis();
} else {
finish(); //使Activity结束
System.exit(0); //这个会终止虚拟机,退出java程序,这样的话,从Activity返回会有一瞬间白屏
}
return true;
}
return super.onKeyDown(keyCode, event);
}
2. 打印数组信息
打印int型数组的元素:
int[] arrays={1,2,3,4,5,6,9,2};
for(int each:arrays)
{
System.out.println(each);
} 3. 获取文件的扩展名和去掉文件的扩展名
/* Java文件操作 获取文件扩展名 */
public static String getExtensionName(String filename) {
if ((filename != null) && (filename.length() > 0)) {
int dot = filename.lastIndexOf('.');
if ((dot >-1) && (dot < (filename.length() - 1))) {
return filename.substring(dot + 1);
}
}
return filename;
}
/* Java文件操作 获取不带扩展名的文件名 */
public static String getFileNameNoEx(String filename) {
if ((filename != null) && (filename.length() > 0)) {
int dot = filename.lastIndexOf('.');
if ((dot >-1) && (dot < (filename.length()))) {
return filename.substring(0, dot);
}
}
return filename;
} 4. Int 与String转换1如何将字串 String 转换成整数 int?
A. 有两个方法:
1). int i = Integer.parseInt([String]); 或
i = Integer.parseInt([String],[int radix]);
2). int i = Integer.valueOf(my_str).intValue();注: 字串转成 Double, Float, Long 的方法大同小异.2 如何将整数 int 转换成字串 String ?
A. 有叁种方法:
1.) String s = String.valueOf(i);
2.) String s = Integer.toString(i);
3.) String s = "" + i; 5.将文件保存到SD卡,从卡中取文件,及删除文件下面是从网上摘的一个对SDCARD操作的例子,保存一下。
private static String sdState = Environment.getExternalStorageState();
private static String path = Environment.getExternalStorageDirectory().toString();
//*********************把文件写入到SD卡******************************//
public static void saveBitmap(Bitmap bitmap,String imageName)
{
File file;
File PicName;
if(sdState.equals(Environment.MEDIA_MOUNTED))
{
//获得sd卡根目录
file = new File(path + "/Huai/TicketsPic");
if(!file.exists())
{
file.mkdirs();
}
PicName = new File(file, imageName);
try {
if(!PicName.exists())
{
PicName.createNewFile();
}
FileOutputStream fos = new FileOutputStream(PicName);
if(PicName.getName().endsWith(".png"))
{
bitmap.compress(CompressFormat.PNG, 100, fos);
}
else if(PicName.getName().endsWith(".jpg"))
{
bitmap.compress(CompressFormat.JPEG, 100, fos);
}
fos.flush();
fos.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
///**********************从SD卡读取文件***************************************//
public static Bitmap getBitmap(String imageName)
{
Bitmap bitmap = null;
File imagePic;
if(sdState.equals(Environment.MEDIA_MOUNTED))
{
imagePic = new File(path + "/Huai/TicketsPic", imageName);
if(imagePic.exists())
{
try {
bitmap = BitmapFactory.decodeStream(new FileInputStream(imagePic));
} catch (FileNotFoundException e) {
// e.printStackTrace();
}
}
}
return bitmap;
}
///////////////////////////////将文件从SD卡删除////////////////////////////
public static void deleteFile(File file)
{
if(sdState.equals(Environment.MEDIA_MOUNTED))
{
if (file.exists())
{
if (file.isFile())
{
file.delete();
}
// 如果它是一个目录
else if (file.isDirectory())
{
// 声明目录下所有的文件 files[];
File files[] = file.listFiles();
for (int i = 0; i < files.length; i++)
{ // 遍历目录下所有的文件
deleteFile(files[i]); // 把每个文件 用这个方法进行迭代
}
}
file.delete();
}
}
}要记得在AndroidMenifest中添加操作SDCARD的权限,不能操作不成功,到处找问题。<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
本文介绍了Android应用中实现双击退出功能的方法,并提供了打印数组、处理文件扩展名的实用代码片段。此外,还详细展示了如何在Android应用中进行SD卡文件的读写与删除操作。

907

被折叠的 条评论
为什么被折叠?



