1. 程式人生 > >AI開發實戰10-檔案管理器(File)的定製

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 = 獲取檔案大小

最終的實現效果如下:

在工作面板中增加了獲取檔案大小和修改檔名兩個函式