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

Posted xjbclz

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AI开发实战10-文件管理器(File)的定制相关的知识,希望对你有一定的参考价值。

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 = 获取文件大小

最终的实现效果如下:

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

以上是关于AI开发实战10-文件管理器(File)的定制的主要内容,如果未能解决你的问题,请参考以下文章

AI开发实战7-列表显示框(Listview)的定制

AI开发实战8-Web浏览框(WebView)的定制1

AI应用开发实战 - 定制化视觉服务的使用

AI开发实战3-定制自己的Screen

AI开发实战6-图像组件(Image)的定制

AI开发实战5-文本输入框(TextBox)的定制2