diff --git a/src/main/java/xyz/wbsite/dbtool/javafx/ctrl/OptionAndroidController.java b/src/main/java/xyz/wbsite/dbtool/javafx/ctrl/OptionAndroidController.java index 407dae7d..a2c0509d 100644 --- a/src/main/java/xyz/wbsite/dbtool/javafx/ctrl/OptionAndroidController.java +++ b/src/main/java/xyz/wbsite/dbtool/javafx/ctrl/OptionAndroidController.java @@ -14,12 +14,6 @@ public class OptionAndroidController { @FXML private TextField domain; @FXML - private CheckBox webview; - @FXML - private CheckBox fileselect; - @FXML - private CheckBox qrcode; - @FXML private Button ok; @FXML private Button cancel; @@ -63,28 +57,4 @@ public class OptionAndroidController { public void setDomain(TextField domain) { this.domain = domain; } - - public CheckBox getWebview() { - return webview; - } - - public void setWebview(CheckBox webview) { - this.webview = webview; - } - - public CheckBox getFileselect() { - return fileselect; - } - - public void setFileselect(CheckBox fileselect) { - this.fileselect = fileselect; - } - - public CheckBox getQrcode() { - return qrcode; - } - - public void setQrcode(CheckBox qrcode) { - this.qrcode = qrcode; - } } diff --git a/src/main/java/xyz/wbsite/dbtool/javafx/manger/callable/AndroidCallable.java b/src/main/java/xyz/wbsite/dbtool/javafx/manger/callable/AndroidCallable.java index f383e71f..56b3faeb 100644 --- a/src/main/java/xyz/wbsite/dbtool/javafx/manger/callable/AndroidCallable.java +++ b/src/main/java/xyz/wbsite/dbtool/javafx/manger/callable/AndroidCallable.java @@ -6,6 +6,7 @@ import xyz.wbsite.dbtool.javafx.manger.ProjectManager; import xyz.wbsite.dbtool.javafx.po.AbstractDBmapper; import xyz.wbsite.dbtool.javafx.po.AndroidOption; import xyz.wbsite.dbtool.javafx.tool.Tool; +import xyz.wbsite.dbtool.javafx.tool.ZipUtil; import javax.validation.constraints.NotNull; import java.io.File; @@ -30,178 +31,20 @@ public class AndroidCallable implements Callable { private AbstractDBmapper dBmapper; public Boolean call() throws Exception { - File project = new File(path, option.projectName); - if (!project.exists()) { - project.mkdirs(); - } else { - Tool.clear(project); - } - - dBmapper = ProjectManager.dBmapper; - - // 目录生成 - File app = new File(project, "app"); - app.mkdirs(); - File src = new File(app, "src"); - src.mkdirs(); - File main = new File(src, "main"); - main.mkdirs(); - File java = new File(main, "java"); - java.mkdirs(); - File res = new File(main, "res"); - res.mkdirs(); - File domain = new File(java.getAbsolutePath() + File.separator + option.domain.replaceAll("\\.", Matcher.quoteReplacement(File.separator))); - domain.mkdirs(); - File base = new File(domain, "base"); - base.mkdirs(); - File activity = new File(base, "activity"); - activity.mkdirs(); - File service = new File(base, "service"); - service.mkdirs(); - File util = new File(base, "util"); - util.mkdirs(); - File fragment = new File(domain, "fragment"); - fragment.mkdirs(); - File drawable = new File(res, "drawable"); - drawable.mkdirs(); - File layout = new File(res, "layout"); - layout.mkdirs(); - File mipmap_hdpi = new File(res, "mipmap-hdpi"); - mipmap_hdpi.mkdirs(); - File mipmap_mdpi = new File(res, "mipmap-mdpi"); - mipmap_mdpi.mkdirs(); - File mipmap_xhdpi = new File(res, "mipmap-xhdpi"); - mipmap_xhdpi.mkdirs(); - File mipmap_xxhdpi = new File(res, "mipmap-xxhdpi"); - mipmap_xxhdpi.mkdirs(); - File mipmap_xxxhdpi = new File(res, "mipmap-xxxhdpi"); - mipmap_xxxhdpi.mkdirs(); - File values = new File(res, "values"); - values.mkdirs(); - - { - Tool.outputResource("Android/build.gradles", new File(project, "build.gradle")); - Tool.outputResource("Android/settings.gradles", new File(project, "settings.gradle")); - } - - { - HashMap ctx = new HashMap(); - ctx.put("package", option.packages); - ctx.put("qrcode", option.qrcode); - ctx.put("fileselect", option.fileselect); - freeMarkerManager.outputTemp(new File(app, "build.gradle"), "Android/app/build.gradles", ctx); - Tool.outputResource("Android/app/proguard-rules.pro", new File(app, "proguard-rules.pro")); - } - - { - HashMap ctx = new HashMap(); - ctx.put("package", option.packages); - ctx.put("domain", option.domain); - ctx.put("qrcode", option.qrcode); - ctx.put("fileselect", option.fileselect); - freeMarkerManager.outputTemp(new File(main, "AndroidManifest.xml"), "Android/app/src/main/AndroidManifest.xml", ctx); - } - - { - HashMap ctx = new HashMap(); - ctx.put("package", option.packages); - ctx.put("domain", option.domain); - freeMarkerManager.outputTemp(new File(base, "BaseActivity.java"), "Android/app/src/main/java/base/BaseActivity.java", ctx); - freeMarkerManager.outputTemp(new File(base, "BaseFragment.java"), "Android/app/src/main/java/base/BaseFragment.java", ctx); - freeMarkerManager.outputTemp(new File(base, "BaseSPAActivity.java"), "Android/app/src/main/java/base/BaseSPAActivity.java", ctx); - freeMarkerManager.outputTemp(new File(base, "BaseSPAFragment.java"), "Android/app/src/main/java/base/BaseSPAFragment.java", ctx); - freeMarkerManager.outputTemp(new File(base, "BaseSPATakePhotoFragment.java"), "Android/app/src/main/java/base/BaseSPATakePhotoFragment.java", ctx); - freeMarkerManager.outputTemp(new File(base, "IActivityResult.java"), "Android/app/src/main/java/base/IActivityResult.java", ctx); - - freeMarkerManager.outputTemp(new File(activity, "TakePhotoActivity.java"), "Android/app/src/main/java/base/activity/TakePhotoActivity.java", ctx); - if (option.fileselect) { - freeMarkerManager.outputTemp(new File(activity, "FilePickerActivity.java"), "Android/app/src/main/java/base/activity/FilePickerActivity.java", ctx); - } - if (option.qrcode) { - freeMarkerManager.outputTemp(new File(activity, "QRcodeActivity.java"), "Android/app/src/main/java/base/activity/QRcodeActivity.java", ctx); - freeMarkerManager.outputTemp(new File(activity, "QRcodeScanActivity.java"), "Android/app/src/main/java/base/activity/QRcodeScanActivity.java", ctx); - } - - freeMarkerManager.outputTemp(new File(service, "RestartService.java"), "Android/app/src/main/java/base/service/RestartService.java", ctx); - - freeMarkerManager.outputTemp(new File(util, "AnimationUtil.java"), "Android/app/src/main/java/base/util/AnimationUtil.java", ctx); - freeMarkerManager.outputTemp(new File(util, "ApkUtil.java"), "Android/app/src/main/java/base/util/ApkUtil.java", ctx); - freeMarkerManager.outputTemp(new File(util, "Base64Util.java"), "Android/app/src/main/java/base/util/Base64Util.java", ctx); - freeMarkerManager.outputTemp(new File(util, "BitmapUtil.java"), "Android/app/src/main/java/base/util/BitmapUtil.java", ctx); - freeMarkerManager.outputTemp(new File(util, "BluetoothUtil.java"), "Android/app/src/main/java/base/util/BluetoothUtil.java", ctx); - freeMarkerManager.outputTemp(new File(util, "Consant.java"), "Android/app/src/main/java/base/util/Consant.java", ctx); - freeMarkerManager.outputTemp(new File(util, "DataBaseUtil.java"), "Android/app/src/main/java/base/util/DataBaseUtil.java", ctx); - freeMarkerManager.outputTemp(new File(util, "DensityUtil.java"), "Android/app/src/main/java/base/util/DensityUtil.java", ctx); - freeMarkerManager.outputTemp(new File(util, "DESUtil.java"), "Android/app/src/main/java/base/util/DESUtil.java", ctx); - freeMarkerManager.outputTemp(new File(util, "DialogUtil.java"), "Android/app/src/main/java/base/util/DialogUtil.java", ctx); - freeMarkerManager.outputTemp(new File(util, "FastBlur.java"), "Android/app/src/main/java/base/util/FastBlur.java", ctx); - freeMarkerManager.outputTemp(new File(util, "FileUtil.java"), "Android/app/src/main/java/base/util/FileUtil.java", ctx); - freeMarkerManager.outputTemp(new File(util, "GPSUtil.java"), "Android/app/src/main/java/base/util/GPSUtil.java", ctx); - freeMarkerManager.outputTemp(new File(util, "IdCardUtil.java"), "Android/app/src/main/java/base/util/IdCardUtil.java", ctx); - freeMarkerManager.outputTemp(new File(util, "Logger.java"), "Android/app/src/main/java/base/util/Logger.java", ctx); - freeMarkerManager.outputTemp(new File(util, "NetUtil.java"), "Android/app/src/main/java/base/util/NetUtil.java", ctx); - freeMarkerManager.outputTemp(new File(util, "RSAUtil.java"), "Android/app/src/main/java/base/util/RSAUtil.java", ctx); - freeMarkerManager.outputTemp(new File(util, "SizeUtil.java"), "Android/app/src/main/java/base/util/SizeUtil.java", ctx); - freeMarkerManager.outputTemp(new File(util, "SPUtil.java"), "Android/app/src/main/java/base/util/SPUtil.java", ctx); - freeMarkerManager.outputTemp(new File(util, "StorageUtil.java"), "Android/app/src/main/java/base/util/StorageUtil.java", ctx); - freeMarkerManager.outputTemp(new File(util, "StreamUtil.java"), "Android/app/src/main/java/base/util/StreamUtil.java", ctx); - freeMarkerManager.outputTemp(new File(util, "Tasker.java"), "Android/app/src/main/java/base/util/Tasker.java", ctx); - freeMarkerManager.outputTemp(new File(util, "Toaster.java"), "Android/app/src/main/java/base/util/Toaster.java", ctx); - freeMarkerManager.outputTemp(new File(util, "UriUtil.java"), "Android/app/src/main/java/base/util/UriUtil.java", ctx); - } - - { - HashMap ctx = new HashMap(); - ctx.put("package", option.packages); - ctx.put("domain", option.domain); - ctx.put("webview", option.webview); - freeMarkerManager.outputTemp(new File(domain, "WBUIApplication.java"), "Android/app/src/main/java/WBUIApplication.java", ctx); - freeMarkerManager.outputTemp(new File(domain, "WBUIMainActivity.java"), "Android/app/src/main/java/WBUIMainActivity.java", ctx); - } - - { - HashMap ctx = new HashMap(); - ctx.put("package", option.packages); - ctx.put("domain", option.domain); - if (option.webview) { - freeMarkerManager.outputTemp(new File(fragment, "WebViewFragment.java"), "Android/app/src/main/java/fragment/WebViewFragment.java", ctx); - } else { - freeMarkerManager.outputTemp(new File(fragment, "MainFragment.java"), "Android/app/src/main/java/fragment/MainFragment.java", ctx); - } - } - - { - Tool.outputResource("Android/app/src/main/res/drawable/background.xml", new File(drawable, "background.xml")); - - if (option.qrcode) { - Tool.outputResource("Android/app/src/main/res/layout/activity_qrcode_scan.xml", new File(layout, "activity_qrcode_scan.xml")); - } - if (option.webview) { - Tool.outputResource("Android/app/src/main/res/layout/fragment_webview.xml", new File(layout, "fragment_webview.xml")); - } else { - Tool.outputResource("Android/app/src/main/res/layout/fragment_main.xml", new File(layout, "fragment_main.xml")); - } - - Tool.outputResource("Android/app/src/main/res/mipmap-mdpi/ic_launcher.png", new File(mipmap_mdpi, "ic_launcher.png")); - Tool.outputResource("Android/app/src/main/res/mipmap-mdpi/ic_launcher.png", new File(mipmap_mdpi, "ic_launcher_round.png")); - Tool.outputResource("Android/app/src/main/res/mipmap-hdpi/ic_launcher.png", new File(mipmap_hdpi, "ic_launcher.png")); - Tool.outputResource("Android/app/src/main/res/mipmap-hdpi/ic_launcher.png", new File(mipmap_hdpi, "ic_launcher_round.png")); - Tool.outputResource("Android/app/src/main/res/mipmap-xhdpi/ic_launcher.png", new File(mipmap_xhdpi, "ic_launcher.png")); - Tool.outputResource("Android/app/src/main/res/mipmap-xhdpi/ic_launcher.png", new File(mipmap_xhdpi, "ic_launcher_round.png")); - Tool.outputResource("Android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png", new File(mipmap_xxhdpi, "ic_launcher.png")); - Tool.outputResource("Android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png", new File(mipmap_xxhdpi, "ic_launcher_round.png")); - Tool.outputResource("Android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png", new File(mipmap_xxxhdpi, "ic_launcher.png")); - Tool.outputResource("Android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png", new File(mipmap_xxxhdpi, "ic_launcher_round.png")); - - Tool.outputResource("Android/app/src/main/res/values/attrs.xml", new File(values, "attrs.xml")); - Tool.outputResource("Android/app/src/main/res/values/colors.xml", new File(values, "colors.xml")); - Tool.outputResource("Android/app/src/main/res/values/dimens.xml", new File(values, "dimens.xml")); - Tool.outputResource("Android/app/src/main/res/values/ids.xml", new File(values, "ids.xml")); - Tool.outputResource("Android/app/src/main/res/values/strings.xml", new File(values, "strings.xml")); - Tool.outputResource("Android/app/src/main/res/values/styles.xml", new File(values, "styles.xml")); - } - - System.out.println("finish"); + // 文件输出文件 + File zipFile = new File(path, "wbui.zip"); + // 文件输出目录 + File dir = new File(path, "wbui"); + // 清空输出目录 + Tool.clear(dir); + System.out.println("清空文件" + dir.getAbsolutePath()); + // 输出文件 + Tool.outputResource("Android/wbui.zip", zipFile); + // 解压文件 + new ZipUtil().unZip(zipFile, new File(path)); + // 删除文件 + zipFile.delete(); + System.out.println("删除文件" + zipFile.getAbsolutePath()); return true; } } diff --git a/src/main/java/xyz/wbsite/dbtool/javafx/po/AndroidOption.java b/src/main/java/xyz/wbsite/dbtool/javafx/po/AndroidOption.java index 62509a60..326a3f60 100644 --- a/src/main/java/xyz/wbsite/dbtool/javafx/po/AndroidOption.java +++ b/src/main/java/xyz/wbsite/dbtool/javafx/po/AndroidOption.java @@ -4,7 +4,4 @@ public class AndroidOption { public String projectName; public String packages; public String domain; - public boolean webview; - public boolean fileselect; - public boolean qrcode; } diff --git a/src/main/java/xyz/wbsite/dbtool/javafx/tool/Dialog.java b/src/main/java/xyz/wbsite/dbtool/javafx/tool/Dialog.java index 7365dfe6..c15abdb5 100644 --- a/src/main/java/xyz/wbsite/dbtool/javafx/tool/Dialog.java +++ b/src/main/java/xyz/wbsite/dbtool/javafx/tool/Dialog.java @@ -581,9 +581,6 @@ public class Dialog { androidOption.projectName = controller.getName().getText(); androidOption.packages = controller.getPackages().getText(); androidOption.domain = controller.getDomain().getText(); - androidOption.webview = controller.getWebview().isSelected(); - androidOption.qrcode = controller.getQrcode().isSelected(); - androidOption.fileselect = controller.getFileselect().isSelected(); dBmanger.generate(file.getAbsolutePath(), androidOption); Platform.runLater(new Runnable() { diff --git a/src/main/resources/fxml/androidOption.fxml b/src/main/resources/fxml/androidOption.fxml index 5e474769..8f8e3357 100644 --- a/src/main/resources/fxml/androidOption.fxml +++ b/src/main/resources/fxml/androidOption.fxml @@ -1,55 +1,53 @@ - + + - -
- - - - - - - - - - - - -