最近在公司打算做一个可以在手机上处理文件解密申请的APP,功能实现就很简单:
- 访问个人加密系统账号的管理网址,找出需要解密的文件列表和id,APP列出来;
- 点击申请的文件,post发送对应文件的id到管理网址实现解密。
本来简简单单打算用在线的App Inventor(可以在线开发简单APP,以前用过),不过发现居然不能访问没有证书HTTS,而我们的加密系统管理网址就是这种坑。只能转到自己熟悉的Python,python啥都能做,手机APP也是有现成的框架的,比较成熟的Kivy和新出来的BeeWare,它们两个最大区别是:
- Kivy的控件的是自己做的,所有平台都能用,但界面比较丑
- BeeWare的控件使用本机UI工具包,界面漂亮,比较有原生感觉。
最后还是决定用Kivy,无他,Kivy教程好找,官方文档也有人做了中文翻译,BeeWare就太新了,百度压根也没有找到几个结果,更不用说教程了。不过,Kivy也是各种难学,中途各种想放弃,磕磕碰碰最后还是做个APP出来,迭代两次后就上线使用了。这里后补一些笔记,或者以后还能用得到呢。
安装kivy库
pip install kivy
最简单的Kivy示例:
import kivy kivy.require('1.0.6') # Kivy版本号! 不加也可以 from kivy.app import App # 从kivy.app包里面导入App类 from kivy.uix.label import Label # 从kivy.uix.label包中导入Label控件,这里都注意开头字母要大写 class MyApp(App): def build(self): # 实现build()方法 return Label(text='Hello world') # 使用了Label控件 if __name__ == '__main__': MyApp().run() # 运行应用
实现的界面:
Kivy资料留底:
官方文档:
https://kivy.org/doc/stable/guide/basic.html
中文翻译文档:
https://www.bookstack.cn/read/Kivy-CN/README.md
简单入门教程(英文,一步一步做成APP):
https://www.techwithtim.net/tutorials/kivy-tutorial/setup/
教程2(几乎所有控件都演示一遍)
https://www.edureka.co/blog/kivy-tutorial/
打包成安卓应用APK的虚拟环境:
https://github.com/nkiiiiid/kivy-apk
应用在手机闪退的处理方法:
https://blog.csdn.net/weixin_42269667/article/details/106517353