【问题标题】:Python programming from my phone? [closed]在我的手机上进行 Python 编程? [关闭]
【发布时间】:2013-11-18 23:57:27
【问题描述】:

我已经搜索到了混乱的地步,所以我需要一些指导。我想用 Python 在 Android 上制作游戏 - 只能使用我的 android 设备。

我对 Kivy 和 Sl4a 之间的区别以及我需要采取哪些步骤才能在手机上编程和运行我的游戏感到困惑。我似乎只能找到过时或误导性的信息,所以如果这很简单,我深表歉意。

非常感谢任何指导。谢谢!

【问题讨论】:

  • 你为什么要这样对自己?
  • 我怀疑你能否...
  • 我不知道是否有与 iOS 应用 Pythonista 相同的 Android 版本。但是,即使有,像 Pythonista 一样酷,在我的笔记本电脑上键入和编辑代码、使用交互式 shell、运行单元测试……比在我的 iPhone 上要容易得多,除非你的 Android 设备是一些奇怪的笔记本电脑,我相信你也一样。
  • 我的笔记本电脑刚刚下水,所以我需要临时修复。我知道使用 AIDE 是可能的,但我试图避免学习 java..
  • 不确定我的问题如何表明我正在寻找意见。他们是直接的,我收到了我的回答。我想,这里和那里都不是。感谢您的回复!

标签: android python pygame kivy sl4a


【解决方案1】:

我已经搜索到了混乱的地步,所以我需要一些指导。我想用 Python 在 Android 上制作游戏 - 只能使用我的 android 设备。

正如其他人所说,这介于“非常困难和烦人”和“不可能”之间。尤其是没有计算机来完成任何的过程!

我对 Kivy 和 Sl4a 之间的区别感到困惑

Kivy 是一个用于 python 的跨平台(linux、windows、osx、android、ios,也许更多)图形框架。相同的开发人员维护了一个 python-for-android 项目,可以让您非常轻松地将 kivy 程序编译为 android apk。您还可以使用 pyjnius 项目进行 java api 交互等,该项目也由相同的开发人员维护,并且一些 api(振动、加速度计等)已经抽象为 python 模块,因此您不必接触 java。

sl4a 最初(我认为)是一种在 android 上运行 python 脚本的方法。它有自己的方式来使用 android api 做一些事情,但我不知道细节或什么是可能的。还有一些方法可以打包为 apk 或进行某些图形工作,但我对此也不熟悉 - 我认为它们作为图形框架比 kivy 受到更多限制(不是它列出以同样的方式成为一个完整的框架),但我对此知之甚少,至少图形的工作方式完全不同,具有其自身的优势。

(编辑:注意上一段中的所有“我认为”?那是因为我真的不确定,也不想说错话。不要相信我的话,试试看! )

总体而言,kivy 和 sl4a(以及它们的两个相关项目)是独立的项目,具有不同的侧重点和技术能力。我个人认为 kivy 是除了基本脚本之外更明显的选择(尽管即使是简单的 sl4a 脚本也可用于制作任务脚本等),但虽然 kivy 的一些优势可以说是客观的,但我的一些观点是主观的。

我需要采取哪些步骤才能在手机上编程和运行我的游戏

这本身就是一个很大的话题。已经知道 kivy,我认为我可以拼凑一个流程来完成它,但我绝对不想这样做,因为它需要以一种不好的用户体验方式交互的其他工具的可怕混杂。从本质上讲,我会使用文本编辑器创建 android 文件以使用 kivy 的交互式启动器(在 play 商店中)运行,并且可能原则上可以使用 kivy 的在线 buildozer 工具编译为 apk。但是,我真的要强调,这只是原则上可能的,我不建议尝试 - 我认为 android 确实没有一套好的工具来进行这种通用编程,而且操作系统也不适合编码的多任务处理。

如果您只是想编写脚本并运行它们,您可能会有更多的运气。您可以查看 qpython 和 codepad2 lite 之类的应用程序,以及 sl4a 的东西(可能还有其他应用程序,这些只是我最近看到或尝试过的几个),这些应用程序可以让您编辑和运行这些类型的脚本。这可能对某些事情有用,但即便如此,如果您还需要在不同应用程序中阅读文档等之间切换,我认为这将不是一个有趣的体验。

所以总的来说...某些事情是可能的,但是使用(比如)kivy 构建完整的应用程序不太可能是使用当前工具的轻松或愉快的体验。既然你说你受到环境而不是选择的限制,我建议你玩 qpython 等看看会发生什么,但你不会错过一些可以消除所有痛苦的绝妙想法。

【讨论】:

  • 这是一个很好的回应,恶劣的。谢谢你,我现在更开明了。我有一个笔记 3,我希望把它变成一台电脑,以便继续我的学习之路。我什至考虑在上面加载 Linux 并尝试编写代码。我现在想知道我是否可以用 AIDE 和 Java 完成很多工作......或者我还有什么其他选择。
猜你喜欢
  • 1970-01-01
  • 2011-04-14
  • 1970-01-01
  • 1970-01-01
  • 2021-10-18
  • 2013-04-14
相关资源
最近更新 更多