diff --git a/library/assets/Database.png b/library/assets/Database.png new file mode 100755 index 0000000..9a02f7e Binary files /dev/null and b/library/assets/Database.png differ diff --git a/library/assets/Export.png b/library/assets/Export.png new file mode 100755 index 0000000..e5ac1bb Binary files /dev/null and b/library/assets/Export.png differ diff --git a/library/assets/Import.png b/library/assets/Import.png new file mode 100755 index 0000000..3e7d1c0 Binary files /dev/null and b/library/assets/Import.png differ diff --git a/library/assets/external_comps/cn.guyutongxue.aix.TinyDBConverter/classes.jar b/library/assets/external_comps/cn.guyutongxue.aix.TinyDBConverter/classes.jar new file mode 100755 index 0000000..1e3d249 Binary files /dev/null and b/library/assets/external_comps/cn.guyutongxue.aix.TinyDBConverter/classes.jar differ diff --git a/library/assets/external_comps/cn.guyutongxue.aix.TinyDBConverter/components.json b/library/assets/external_comps/cn.guyutongxue.aix.TinyDBConverter/components.json new file mode 100755 index 0000000..5fc4f39 --- /dev/null +++ b/library/assets/external_comps/cn.guyutongxue.aix.TinyDBConverter/components.json @@ -0,0 +1,67 @@ +[{ + "methods": [ + { + "deprecated": "false", + "description": "Convert Base64ed JSON string to a certain TinyDB. If fails, it'll throw an alert.", + "name": "Base64StringToTinyDB", + "params": [ + { + "name": "base64String", + "type": "text" + }, + { + "name": "tinyDB", + "type": "component" + } + ] + }, + { + "deprecated": "false", + "description": "Convert JSON string to a certain TinyDB. If fails, it'll throw an alert.", + "name": "JsonToTinyDB", + "params": [ + { + "name": "jsonString", + "type": "text" + }, + { + "name": "tinyDB", + "type": "component" + } + ] + }, + { + "deprecated": "false", + "description": "Convert TinyDB's data to a Base64ed JSON string.", + "name": "TinyDBToBase64String", + "params": [{ + "name": "tinyDB", + "type": "component" + }], + "returnType": "text" + }, + { + "deprecated": "false", + "description": "Convert TinyDB's data to a JSON string.", + "name": "TinyDBToJson", + "params": [{ + "name": "tinyDB", + "type": "component" + }], + "returnType": "text" + } + ], + "nonVisible": "true", + "events": [], + "external": "true", + "helpString": "This component can convert TinyDB's data to a JSON string, or convert JSON string to a certain TinyDB.
It can also en/decode from/to Base-64.", + "properties": [], + "type": "cn.guyutongxue.aix.TinyDBConverter.TinyDBConverter", + "showOnPalette": "true", + "version": "1", + "name": "TinyDBConverter", + "helpUrl": "", + "iconName": "images/extension.png", + "blockProperties": [], + "categoryString": "EXTENSION" +}] \ No newline at end of file diff --git a/library/assets/external_comps/cn.guyutongxue.aix.TinyDBConverter/extension.properties b/library/assets/external_comps/cn.guyutongxue.aix.TinyDBConverter/extension.properties new file mode 100755 index 0000000..33c825e --- /dev/null +++ b/library/assets/external_comps/cn.guyutongxue.aix.TinyDBConverter/extension.properties @@ -0,0 +1 @@ +type=external diff --git a/library/assets/external_comps/cn.guyutongxue.aix.TinyDBConverter/files/AndroidRuntime.jar b/library/assets/external_comps/cn.guyutongxue.aix.TinyDBConverter/files/AndroidRuntime.jar new file mode 100755 index 0000000..9106e16 Binary files /dev/null and b/library/assets/external_comps/cn.guyutongxue.aix.TinyDBConverter/files/AndroidRuntime.jar differ diff --git a/library/assets/external_comps/cn.guyutongxue.aix.TinyDBConverter/files/component_build_infos.json b/library/assets/external_comps/cn.guyutongxue.aix.TinyDBConverter/files/component_build_infos.json new file mode 100755 index 0000000..9386d8c --- /dev/null +++ b/library/assets/external_comps/cn.guyutongxue.aix.TinyDBConverter/files/component_build_infos.json @@ -0,0 +1 @@ +[{"libraries":[],"assets":[],"native":[],"broadcastReceivers":[],"permissions":[],"broadcastReceiver":[],"activities":[],"type":"cn.guyutongxue.aix.TinyDBConverter.TinyDBConverter"}] \ No newline at end of file diff --git a/library/src/appinventor/ai_test/SorA/About.bky b/library/src/appinventor/ai_test/SorA/About.bky index 926472d..cb46501 100755 --- a/library/src/appinventor/ai_test/SorA/About.bky +++ b/library/src/appinventor/ai_test/SorA/About.bky @@ -135,7 +135,7 @@ Text - SorA\nSorA: a Homework Tracking App\n可记录历史的作业管理工具\n版本 RC_0.6.0.1 + SorA\nSorA: a Homework Tracking App\n可记录历史的作业管理工具\n版本 RC_0.6.1 @@ -206,7 +206,7 @@ Text - SorA Copyright © 2017 Guyutongxue \n本应用程序源码开放于GitHub:https://github.com/Guyutongxue/SorA 。\n关于 GPL 参见 http://www.gnu.org/licenses/gpl-3.0.en.html + SorA Copyright © 2017 - 2018 Guyutongxue \n本应用程序源码开放于GitHub:https://github.com/Guyutongxue/SorA 。\n关于 GPL 参见 http://www.gnu.org/licenses/gpl-3.0.en.html diff --git a/library/src/appinventor/ai_test/SorA/DataPort.bky b/library/src/appinventor/ai_test/SorA/DataPort.bky new file mode 100755 index 0000000..6233cc1 --- /dev/null +++ b/library/src/appinventor/ai_test/SorA/DataPort.bky @@ -0,0 +1,282 @@ + + + + btnBack + + + + + + + DataPort + + + + DataPort + BackgroundColor + + + + + + + + 227 + + + + + 227 + + + + + 227 + + + + + + + + + + lbInstruct + Text + + + 您可以将数据导出在下方的文本框中,\n或者输入数据到下方的文本框并导入 SorA 。 + + + + + + + + + + btnExport + + + + + + + cbBase64 + Checked + + + + + + tbData + Text + + + + DBC + + + + DB + + + + + + + + + + tbData + Text + + + + DBC + + + + DB + + + + + + + + + + + + btnImport + + + + nDefault + + + 将导入文本框中的数据。如果数据出错,有可能导致程序崩溃。请确保导入数据的完整性。 + + + + + 警告 + + + + + 确认 + + + + + 取消 + + + + + FALSE + + + + + + + + nDefault + + + + + EQ + + + + + + choice + + + + + 确认 + + + + + + + + + + data + + + + tbData + Text + + + + + + + + NEQ + + + data + + + + + + + + + + + + + + + + + data + + + + + { + + + + + + + + DBC + + + data + + + + + + DB + + + + + + + + DBC + + + data + + + + + + DB + + + + + + + + nDefault + + + 完毕。 + + + + + + + + + + nDefault + + + 导入数据不能为空。 + + + + + + + + + + + + + \ No newline at end of file diff --git a/library/src/appinventor/ai_test/SorA/DataPort.scm b/library/src/appinventor/ai_test/SorA/DataPort.scm new file mode 100755 index 0000000..d4a4cb0 --- /dev/null +++ b/library/src/appinventor/ai_test/SorA/DataPort.scm @@ -0,0 +1,4 @@ +#| +$JSON +{"authURL":["localhost"],"YaVersion":"159","Source":"Form","Properties":{"$Name":"DataPort","$Type":"Form","$Version":"20","AppName":"SorA","CloseScreenAnimation":"fade","OpenScreenAnimation":"fade","ShowListsAsJson":"True","Title":"DataPort","TitleVisible":"False","Uuid":"0","$Components":[{"$Name":"Navigator","$Type":"HorizontalArrangement","$Version":"3","AlignHorizontal":"3","AlignVertical":"2","BackgroundColor":"&HFFFFFFFF","Height":"35","Width":"-2","Uuid":"520199721","$Components":[{"$Name":"divBack","$Type":"HorizontalArrangement","$Version":"3","AlignVertical":"2","Width":"-1020","Uuid":"-298920229","$Components":[{"$Name":"btnBack","$Type":"Button","$Version":"6","Height":"25","Width":"25","Image":"Back.png","Uuid":"-816829193"}]},{"$Name":"divTitle","$Type":"HorizontalArrangement","$Version":"3","AlignHorizontal":"3","AlignVertical":"2","Width":"-1050","Uuid":"331238307","$Components":[{"$Name":"lbTitle","$Type":"Label","$Version":"4","FontSize":"20","Text":"\u6570\u636e\u5bfc\u5165\u5bfc\u51fa","Uuid":"-2033547621"}]},{"$Name":"DivRight","$Type":"HorizontalArrangement","$Version":"3","AlignHorizontal":"2","AlignVertical":"2","Width":"-1020","Uuid":"10667182"}]},{"$Name":"divMain","$Type":"VerticalArrangement","$Version":"3","AlignHorizontal":"3","Height":"-2","Width":"-2","Uuid":"717743701","$Components":[{"$Name":"lbInstruct","$Type":"Label","$Version":"4","FontSize":"15.0","Uuid":"-1725752264"},{"$Name":"cbBase64","$Type":"CheckBox","$Version":"2","Checked":"True","FontSize":"15.0","Text":"\u4f7f\u7528Base64\u683c\u5f0f\u5bfc\u51fa\u6570\u636e\uff08\u9ed8\u8ba4\u5f00\u542f\uff09","Uuid":"-1057627582"},{"$Name":"tbData","$Type":"TextBox","$Version":"5","Height":"-1040","Width":"-2","Hint":"\u8fd9\u91cc\u5c06\u663e\u793a\u5bfc\u51fa\u7684\u6570\u636e\uff0c\u6216\u8005\u5728\u8fd9\u91cc\u8f93\u5165\u51c6\u5907\u5bfc\u5165\u7684\u6570\u636e\u3002","MultiLine":"True","Uuid":"-2048801649"},{"$Name":"divOperate","$Type":"HorizontalArrangement","$Version":"3","AlignHorizontal":"3","AlignVertical":"2","Height":"35","Width":"-2","Uuid":"1376139225","$Components":[{"$Name":"btnExport","$Type":"Button","$Version":"6","Height":"25","Width":"83","Image":"Export.png","Uuid":"863596520"},{"$Name":"divSub1","$Type":"HorizontalArrangement","$Version":"3","Width":"30","Uuid":"-2040289284"},{"$Name":"btnImport","$Type":"Button","$Version":"6","Height":"25","Width":"83","Image":"Import.png","Uuid":"-2036359038"}]},{"$Name":"divDatabase","$Type":"HorizontalArrangement","$Version":"3","AlignHorizontal":"3","AlignVertical":"2","BackgroundColor":"&HFFFFFFFF","Height":"100","Width":"-2","Uuid":"1363458714","$Components":[{"$Name":"imgDatabase","$Type":"Image","$Version":"3","Height":"80","Width":"60","Picture":"Database.png","Uuid":"1327642799"}]}]},{"$Name":"DBC","$Type":"TinyDBConverter","$Version":"1","Uuid":"-1190792281"},{"$Name":"DB","$Type":"TinyDB","$Version":"1","Uuid":"1196781846"},{"$Name":"nDefault","$Type":"Notifier","$Version":"4","Uuid":"2102882195"}]}} +|# \ No newline at end of file diff --git a/library/src/appinventor/ai_test/SorA/More.bky b/library/src/appinventor/ai_test/SorA/More.bky index fe77e2e..642a85f 100755 --- a/library/src/appinventor/ai_test/SorA/More.bky +++ b/library/src/appinventor/ai_test/SorA/More.bky @@ -146,6 +146,19 @@ + + + btnData + + + + + DataPort + + + + + nDebug diff --git a/library/src/appinventor/ai_test/SorA/More.scm b/library/src/appinventor/ai_test/SorA/More.scm index bf297cd..760f768 100755 --- a/library/src/appinventor/ai_test/SorA/More.scm +++ b/library/src/appinventor/ai_test/SorA/More.scm @@ -1,4 +1,4 @@ #| $JSON -{"authURL":["localhost"],"YaVersion":"159","Source":"Form","Properties":{"$Name":"More","$Type":"Form","$Version":"20","AlignVertical":"3","AppName":"SorA","BackgroundColor":"&HFFCCCCCC","CloseScreenAnimation":"fade","OpenScreenAnimation":"fade","ScreenOrientation":"portrait","Title":"More","TitleVisible":"False","Uuid":"0","$Components":[{"$Name":"Navigator","$Type":"HorizontalArrangement","$Version":"3","AlignHorizontal":"3","AlignVertical":"2","BackgroundColor":"&HFFFFFFFF","Height":"35","Width":"-2","Uuid":"690337796","$Components":[{"$Name":"lbTitle","$Type":"Label","$Version":"4","FontSize":"20","Text":"\u66f4\u591a","Uuid":"-799105153"}]},{"$Name":"divMain","$Type":"VerticalScrollArrangement","$Version":"1","Height":"-2","Width":"-2","Uuid":"-484831556","$Components":[{"$Name":"lbSetting","$Type":"Label","$Version":"4","Text":"\u8bbe\u7f6e","Uuid":"-1947669581"},{"$Name":"btnSubSet","$Type":"Button","$Version":"6","Height":"35","Width":"-2","Image":"Bar.png","Text":"\u79d1\u76ee\u8bbe\u7f6e","TextAlignment":"0","Uuid":"-1926298427"},{"$Name":"btnTagSet","$Type":"Button","$Version":"6","Height":"35","Width":"-2","Image":"Bar.png","Text":"\u6807\u7b7e\u8bbe\u7f6e","TextAlignment":"0","Uuid":"1856813125"},{"$Name":"btnClrData","$Type":"Button","$Version":"6","Height":"35","Width":"-2","Image":"Bar.png","Text":"\u6e05\u9664\u6570\u636e","TextAlignment":"0","TextColor":"&HFFFF0000","Uuid":"86892999"},{"$Name":"lbAbout","$Type":"Label","$Version":"4","Text":"\u5173\u4e8e","Uuid":"-1348910456"},{"$Name":"btnApp","$Type":"Button","$Version":"6","Height":"35","Width":"-2","Image":"Bar.png","Text":"\u5173\u4e8e\u5e94\u7528","TextAlignment":"0","Uuid":"-812022410"},{"$Name":"btnAuthor","$Type":"Button","$Version":"6","Height":"35","Width":"-2","Image":"Bar.png","Text":"\u5173\u4e8e\u4f5c\u8005","TextAlignment":"0","Uuid":"-1058273757"},{"$Name":"btnLicense","$Type":"Button","$Version":"6","Height":"35","Width":"-2","Image":"Bar.png","Text":"\u5f00\u6e90\u8bb8\u53ef\u534f\u8bae","TextAlignment":"0","Uuid":"-726103323"},{"$Name":"btnLog","$Type":"Button","$Version":"6","Height":"35","Width":"-2","Image":"Bar.png","Text":"\u5f00\u53d1\/\u66f4\u65b0\u65e5\u5fd7","TextAlignment":"0","Uuid":"-340191305"}]},{"$Name":"Dock","$Type":"HorizontalArrangement","$Version":"3","AlignHorizontal":"3","AlignVertical":"2","BackgroundColor":"&HFFFFFFFF","Height":"35","Width":"-2","Uuid":"1514232352","$Components":[{"$Name":"divToday","$Type":"HorizontalArrangement","$Version":"3","AlignHorizontal":"3","AlignVertical":"2","Width":"-1031","Uuid":"-1449294828","$Components":[{"$Name":"btnToday","$Type":"Button","$Version":"6","Height":"35","Width":"35","Image":"Today.png","Uuid":"-789200860"}]},{"$Name":"divHistory","$Type":"HorizontalArrangement","$Version":"3","AlignHorizontal":"3","AlignVertical":"2","Width":"-1031","Uuid":"-1484983391","$Components":[{"$Name":"btnHistory","$Type":"Button","$Version":"6","Height":"35","Width":"35","Image":"History.png","Uuid":"-1554261090"}]},{"$Name":"divMore","$Type":"HorizontalArrangement","$Version":"3","AlignHorizontal":"3","AlignVertical":"2","Width":"-1031","Uuid":"-1195400598","$Components":[{"$Name":"btnMore","$Type":"Button","$Version":"6","Height":"35","Width":"35","Image":"MoreSelected.png","Uuid":"415708494"}]}]},{"$Name":"nDebug","$Type":"Notifier","$Version":"4","Uuid":"-1642967095"},{"$Name":"DB","$Type":"TinyDB","$Version":"1","Uuid":"1892139952"}]}} +{"authURL":["localhost"],"YaVersion":"159","Source":"Form","Properties":{"$Name":"More","$Type":"Form","$Version":"20","AlignVertical":"3","AppName":"SorA","BackgroundColor":"&HFFCCCCCC","CloseScreenAnimation":"fade","OpenScreenAnimation":"fade","ScreenOrientation":"portrait","ShowListsAsJson":"True","Title":"More","TitleVisible":"False","Uuid":"0","$Components":[{"$Name":"Navigator","$Type":"HorizontalArrangement","$Version":"3","AlignHorizontal":"3","AlignVertical":"2","BackgroundColor":"&HFFFFFFFF","Height":"35","Width":"-2","Uuid":"690337796","$Components":[{"$Name":"lbTitle","$Type":"Label","$Version":"4","FontSize":"20","Text":"\u66f4\u591a","Uuid":"-799105153"}]},{"$Name":"divMain","$Type":"VerticalScrollArrangement","$Version":"1","Height":"-2","Width":"-2","Uuid":"-484831556","$Components":[{"$Name":"lbSetting","$Type":"Label","$Version":"4","Text":"\u8bbe\u7f6e","Uuid":"-1947669581"},{"$Name":"btnSubSet","$Type":"Button","$Version":"6","Height":"35","Width":"-2","Image":"Bar.png","Text":"\u79d1\u76ee\u8bbe\u7f6e","TextAlignment":"0","Uuid":"-1926298427"},{"$Name":"btnTagSet","$Type":"Button","$Version":"6","Height":"35","Width":"-2","Image":"Bar.png","Text":"\u6807\u7b7e\u8bbe\u7f6e","TextAlignment":"0","Uuid":"1856813125"},{"$Name":"btnData","$Type":"Button","$Version":"6","Height":"35","Width":"-2","Image":"Bar.png","Text":"\u6570\u636e\u5bfc\u5165\u5bfc\u51fa","TextAlignment":"0","Uuid":"309157223"},{"$Name":"btnClrData","$Type":"Button","$Version":"6","Height":"35","Width":"-2","Image":"Bar.png","Text":"\u6e05\u9664\u6570\u636e","TextAlignment":"0","TextColor":"&HFFFF0000","Uuid":"86892999"},{"$Name":"lbAbout","$Type":"Label","$Version":"4","Text":"\u5173\u4e8e","Uuid":"-1348910456"},{"$Name":"btnApp","$Type":"Button","$Version":"6","Height":"35","Width":"-2","Image":"Bar.png","Text":"\u5173\u4e8e\u5e94\u7528","TextAlignment":"0","Uuid":"-812022410"},{"$Name":"btnAuthor","$Type":"Button","$Version":"6","Height":"35","Width":"-2","Image":"Bar.png","Text":"\u5173\u4e8e\u4f5c\u8005","TextAlignment":"0","Uuid":"-1058273757"},{"$Name":"btnLicense","$Type":"Button","$Version":"6","Height":"35","Width":"-2","Image":"Bar.png","Text":"\u5f00\u6e90\u8bb8\u53ef\u534f\u8bae","TextAlignment":"0","Uuid":"-726103323"},{"$Name":"btnLog","$Type":"Button","$Version":"6","Height":"35","Width":"-2","Image":"Bar.png","Text":"\u5f00\u53d1\/\u66f4\u65b0\u65e5\u5fd7","TextAlignment":"0","Uuid":"-340191305"}]},{"$Name":"Dock","$Type":"HorizontalArrangement","$Version":"3","AlignHorizontal":"3","AlignVertical":"2","BackgroundColor":"&HFFFFFFFF","Height":"35","Width":"-2","Uuid":"1514232352","$Components":[{"$Name":"divToday","$Type":"HorizontalArrangement","$Version":"3","AlignHorizontal":"3","AlignVertical":"2","Width":"-1031","Uuid":"-1449294828","$Components":[{"$Name":"btnToday","$Type":"Button","$Version":"6","Height":"35","Width":"35","Image":"Today.png","Uuid":"-789200860"}]},{"$Name":"divHistory","$Type":"HorizontalArrangement","$Version":"3","AlignHorizontal":"3","AlignVertical":"2","Width":"-1031","Uuid":"-1484983391","$Components":[{"$Name":"btnHistory","$Type":"Button","$Version":"6","Height":"35","Width":"35","Image":"History.png","Uuid":"-1554261090"}]},{"$Name":"divMore","$Type":"HorizontalArrangement","$Version":"3","AlignHorizontal":"3","AlignVertical":"2","Width":"-1031","Uuid":"-1195400598","$Components":[{"$Name":"btnMore","$Type":"Button","$Version":"6","Height":"35","Width":"35","Image":"MoreSelected.png","Uuid":"415708494"}]}]},{"$Name":"nDebug","$Type":"Notifier","$Version":"4","Uuid":"-1642967095"},{"$Name":"DB","$Type":"TinyDB","$Version":"1","Uuid":"1892139952"}]}} |# \ No newline at end of file diff --git a/library/src/appinventor/ai_test/SorA/Screen1.scm b/library/src/appinventor/ai_test/SorA/Screen1.scm index be2a2d7..774006e 100755 --- a/library/src/appinventor/ai_test/SorA/Screen1.scm +++ b/library/src/appinventor/ai_test/SorA/Screen1.scm @@ -1,4 +1,4 @@ #| $JSON -{"authURL":["localhost"],"YaVersion":"159","Source":"Form","Properties":{"$Name":"Screen1","$Type":"Form","$Version":"20","AboutScreen":"SorA (SorA: A Homework Tracking App) by Guyutongxue","AppName":"SorA","CloseScreenAnimation":"fade","Icon":"AppIcon~1000x1000.png","OpenScreenAnimation":"fade","ScreenOrientation":"portrait","Title":"Screen1","TitleVisible":"False","Uuid":"0","VersionCode":"20171214","VersionName":"RC_0.6.0.1","$Components":[{"$Name":"DB","$Type":"TinyDB","$Version":"1","Uuid":"539694209"}]}} +{"authURL":["localhost"],"YaVersion":"159","Source":"Form","Properties":{"$Name":"Screen1","$Type":"Form","$Version":"20","AboutScreen":"SorA (SorA: A Homework Tracking App) by Guyutongxue","AppName":"SorA","CloseScreenAnimation":"fade","Icon":"AppIcon~1000x1000.png","OpenScreenAnimation":"fade","ScreenOrientation":"portrait","ShowListsAsJson":"True","Title":"Screen1","TitleVisible":"False","Uuid":"0","VersionCode":"20180120","VersionName":"RC_0.6.1","$Components":[{"$Name":"DB","$Type":"TinyDB","$Version":"1","Uuid":"539694209"}]}} |# \ No newline at end of file diff --git a/library/youngandroidproject/project.properties b/library/youngandroidproject/project.properties index 0294d01..d3e268c 100755 --- a/library/youngandroidproject/project.properties +++ b/library/youngandroidproject/project.properties @@ -4,9 +4,9 @@ assets=../assets source=../src build=../build icon=AppIcon~1000x1000.png -versioncode=20171214 -versionname=RC_0.6.0.1 +versioncode=20180120 +versionname=RC_0.6.1 useslocation=False aname=SorA sizing=Fixed -showlistsasjson=False +showlistsasjson=True diff --git a/log.html b/log.html index efa6cda..b301dbe 100755 --- a/log.html +++ b/log.html @@ -473,8 +473,13 @@

SorA 开发/更新日志

RC

+

RC_0.6.1

+

1月20日

+

RC_0.6.0 ~ RC_0.6.0.1

-

12月13日 - 12月14日

+

(2017年)12月13日 - 12月14日