AI开发实战10-文件管理器(File)的定制

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xjbclz/article/details/77689126

9 文件管理器(File)的定制

App Inventor2内置的文件管理器没有修改文件名和获取文件大小两个常用功能,现修改源码实现这两个功能。

文件管理器的源码文件是File.java,在其中增加两个函数:

 @SimpleFunction(description = "修改文件名")

 public void Rename(String oldFileName, String newFileName) {

   java.io.File file = new java.io.File(oldFileName);

   if(!file.exists()){

       try {

         file.createNewFile();

       } catch (IOException e) {

           form.dispatchErrorOccurredEvent(File.this, "RenameFile",

               ErrorMessages.ERROR_CANNOT_CREATE_FILE, oldFileName);

   

           return;

       }

    }

   file.renameTo(new java.io.File(newFileName));

  }

 @SimpleFunction(description = "获取文件大小")

 public long GetFileSize(String fileName) {

   java.io.File file = new java.io.File(fileName);

   if(file.exists()){

       return file.length();

   }else{

     return 0;

    }

  }

在OdeMessages.java中增加函数和函数参数的声明:

//函数声明

@DefaultMessage("GetFileSize")

 @Description("")

 String GetFileSizeMethods();

 @DefaultMessage("Rename")

 @Description("")

 String RenameMethods();

//函数参数声明,fileName参数的申明是系统原先就有的

@DefaultMessage("fileName")

 @Description("")

 String fileNameParams();

 @DefaultMessage("oldFileName")

  @Description("")

 String oldFileNameParams();

 @DefaultMessage("newFileName")

 @Description("")

 String newFileNameParams();

在OdeMessages_zh_CN.properties中增加函数和参数的中文字符串:

// fileName

fileNameParams = 文件名

oldFileNameParams = 旧文件名

newFileNameParams = 新文件名

RenameMethods = 修改文件名

GetFileSizeMethods = 获取文件大小

最终的实现效果如下:

在工作面板中增加了获取文件大小和修改文件名两个函数

猜你喜欢

转载自blog.csdn.net/xjbclz/article/details/77689126