/**
   * 自动遍历xml中所有带id的控件,在activity文件中设置对应变量,变量名为id名<br>
   * <br>
   * 使用前需要将xml文件内容复制到本项目里的Android文件夹下的layout.xml文件中<br>
   * 运行该方法后,根据布局文件生成的相关代码会在Android文件夹下Activity.java中查看,可以复制到自己项目里使用
   */
  public static void autoCreateActivity() {
    // 获取layout中控件信息,信息会保存至idNamingBeans集合中
    idNamingBeans.clear();
    parseElementFromXml("Android" + File.separator + "layout.xml", false);

    // 解析idNamingBeans集合中的信息,生成页面文本信息
    String activityContent = createActivityContent();

    // 获取activity文件
    File javaFile = new File("Android" + File.separator + "Activity.java");

    // 将生成的内容写入至java类文件中
    FileUtils.writeString2File(activityContent, javaFile, "utf-8");
  }
  /**
   * 自动遍历xml中所有带id的控件,在adapter文件中生成最基本的代码
   *
   * @param layoutXml item布局文件的绝对路径,如xxx/res/layout/item.xml
   * @param adapterFile Adapter类文件名,如xxx/src/.../MyAdapter.java
   * @param include 是否将include引用的布局中内容也获取到
   */
  public static void autoCreateAdapter(String layoutXml, String adapterFile, boolean include) {
    idNamingBeans.clear();
    parseElementFromXml(layoutXml, include);

    String adapterContent = createAdapterContent(layoutXml);

    // 读取java文件的字符串
    File javaFile = new File(adapterFile);
    String fileContent = FileUtils.readToString(javaFile);

    // 将生成的内容写入至java类文件内的起始端
    fileContent = fileContent.replaceFirst("\\{", "\\{\n" + adapterContent);
    // 写入回文件
    FileUtils.writeString2File(fileContent, javaFile);
  }
  /**
   * 自动遍历xml中所有带id的控件,在adapter文件中生成最基本的代码<br>
   * <br>
   * 使用前需要将xml文件内容复制到本项目里的Android文件夹下的item.xml文件中<br>
   * 运行该方法后,根据布局文件生成的相关代码会在Android文件夹下Adapter.java中查看,可以复制到自己项目里使用
   */
  public static void autoCreateRecyclerAdapter() {
    String layoutXml = "Android" + File.separator + "item_recyclerview.xml";

    // 获取layout中控件信息,信息会保存至idNamingBeans集合中
    idNamingBeans.clear();
    parseElementFromXml(layoutXml, false);

    // 解析idNamingBeans集合中的信息,生成适配器文本信息
    String adapterContent = createRecyclerAdapterContent(layoutXml);

    // 获取adapter文件
    File javaFile = new File("Android" + File.separator + "RecyclerAdapter.java");

    // 将生成的内容写入至java类文件中
    FileUtils.writeString2File(adapterContent, javaFile);
  }
  /**
   * 自动遍历xml中所有带id的控件,在activity文件中设置对应变量,变量名为id名
   *
   * @param layoutXml 布局文件的绝对路径,如xxx/res/layout/main.xml
   * @param activityFile Activity类文件名,如xxx/src/.../MainActivity.java
   * @param include 是否将include引用的布局中内容也获取到
   */
  public static void autoCreateActivity(String layoutXml, String activityFile, boolean include) {
    // 获取layout中控件信息,信息会保存至idNamingBeans集合中
    idNamingBeans.clear();
    parseElementFromXml(layoutXml, include);

    // 解析idNamingBeans集合中的信息,生成页面文本信息
    String activityContent = createActivityContent();

    // 获取activity文件
    File javaFile = new File(activityFile);
    // 读取java文件的字符串
    String fileContent = FileUtils.readToString(javaFile);

    // 将生成的内容写入至java类文件内的起始端
    fileContent = fileContent.replaceFirst("\\{", "\\{" + activityContent);
    FileUtils.writeString2File(fileContent, javaFile);
  }