# 关于QPython OP
QPython是安卓上的Python引擎,它包含一些有趣的特性,比如Python解释器,运行欢迎,编辑器和QPYPI。它让你更容易地在安卓上使用Python。并且它完全免费。
QPython在全球范围内已经有了数百万的用户,它也是一个开源项目。
对于不同的使用场景,QPython有两个分支,QPython Ox和3x。
QPython 3x主要是给有经验的Python用户准备,它能提供一些高级特性。
当前版本是QPython OL, 主要定位于编程学习者,它为初学者提供了较友好的特性。
# 精彩特性
- 离线的Python 3, Python 2解释器:完全不需要联网运行Python程序
- 它支持运行多种类型的项目,包括:控制台程序,SL4A程序,WebApp项目等等
- 非常方便的QR码阅读器,能帮助你方便地将代码传到手机上
- QPYPI和一个自定义的仓库放了一些预编译的包,主要是加强科学计算库,比如numpy, scipy, matplotlib, scikit-learn, keras等等,方便你学习科学计算
- 方便使用的编辑器
- 内嵌QPyNotebook, 和junpyter notebook完全兼容
- 特别注意:整合和拓展了安卓库的脚本层(SL4A):它能让你用Python驱动安卓工作
- 良好的文档和客户支持
# SL4A特性
借助SL4A特性,你可以使用Python编程来进行安卓编程,包括:
- 安卓App接口,比如:Application, Activity, Intent & startActivity, SendBroadcast, PackageVersion, System, Toast, Notify, Settings, Preferences, GUI
- 安卓资源管理器:比如:Contact, Location, Phone, Sms, ToneGenerator, WakeLock, WifiLock, Clipboard, NetworkStatus, MediaPlayer
- 第三方应用整合,比如:Barcode, Browser, SpeechRecongition, SendEmail, TextToSpeech
- 硬件管理器:Carmer, Sensor, Ringer & Media Volume, Screen Brightness, Battery, Bluetooth, SignalStrength, WebCam, Vibrate, NFC, USB
[ API 文档链接 ]
https://github.com/qpython-android/qpysl4a/blob/master/README.md
[ API 例子 ]
https://github.com/qpython-android/qpysl4a/issues/1
[ 特别注意 ]
它可能会需要BLUETOOTH / LOCATION / READ_SMS / SEND_SMS / CALL_PHONE AND及其他权限,以便你可以使用这些特性进行编程,QPython不会在后台使用这些特性。
如果你在调用SL4A API时遇到了异常,请检查相对应的权限是否开启。
# 如何获得专业的用户支持
请根据这个向导获得支持 https://github.com/qpython-android/qpython/blob/master/README.md
[ QPython 社区 ]
https://www.facebook.com/groups/qpython
[ FAQ ]
A: 我为什么不能使用SL4A的短信接口?
Q: 因为Google Play和一些应用市场对于权限有很特殊的要求,在QPython Ox系列中,我们使用x来识别不同应用市场的不同分支,比如L代表着LIMITED,S代表SENSITIVE, P代表着PLUS。有失手你无法使用对应的SL4A APIs是因为你安装的版本没有相对应的权限,你可以考虑替换你已经安装的版本为正确的保本
你可以在这里找到其他版本:
https://github.com/qpython-android/qpython/releases
# 开放源码
它是一个开源项目,你可以从这里获得 https://github.com/qpython-android/qpython
v3.0.0
这是我们重启QPython项目后的第一个大更新
- 默认继承了Python 3, Python 2, QPyNotebook
- 增加了 qsl4ahelper 包,更方便UI开发
- 重新整理了权限
- 修正了ssl错误
- 改进了默认的scripts / projects / Notebooks,增加了一些有意思的例子