/** * 自动遍历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); }