首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >针对android应用程序的Kivy和Java之间的差异

针对android应用程序的Kivy和Java之间的差异
EN

Stack Overflow用户
提问于 2013-09-01 07:44:24
回答 2查看 11.8K关注 0票数 21

我是一个python开发人员,在java中创建android应用程序的经验很少,我想创建一个应用程序,它可以访问我的大学门户网站,检索一些数据并显示在视图上。

所以,在研究了Kivy之后,我有几个问题:

1)开发安卓应用哪个更容易、更快?

2) Kivy有什么安卓功能限制吗?

3),最后,使用kivy开发的安卓应用程序运行速度会和使用java开发的应用程序一样快吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-09-01 21:37:15

这是一个相当主观的问题。

1)开发安卓应用程序哪个更容易、更快?

我认为kivy有一个强有力的论据,但这并没有一个客观的答案。

Kivy对访问

的某些部分是否有限制(比如没有与其应用程序接口完全集成)?

kivy项目包括pyjnius,一个用于通过python访问java类的工具,原则上我认为这应该提供对java api的任意访问(编辑:基于反射,而不是任意,但可能不限于立即重要的方式)。

在实践中,预先构建的python包装器是一项正在进行中的工作,尽管正在迅速改进。android python库已经提供了对许多东西的简单访问(包括但不限于意图、振动、加速计等)。即使在还没有python包装器的情况下,也可以非常容易地完成必要的工作。

编辑:最近在Kivy的plyer项目上做了大量的工作,目的是为平台特定的工具提供一个透明的应用程序接口,这样你就可以调用它一次,并在不同的系统上获得相同的行为,而不需要知道细节。它包括对android api部分的有用支持。

3),最后,使用kivy开发的安卓应用程序的运行速度将与使用java开发的应用程序运行速度一样快?

归根结底,答案可能是否定的,但除非您正在做一些cpu限制很大的事情,否则这种差异不太可能很重要。你建议的任务不会以这种方式受到限制。

票数 18
EN

Stack Overflow用户

发布于 2013-09-02 06:17:59

为了完善克雷门特的回答,pyjnius确实允许访问很多android api。但这并不完美,调用现有的类并不总是足够的,而且android程序员经常需要创建将被android调用的代码来管理事件,有两种方法可以做到这一点,这两种方法都由android api使用。

  • 第一个是接口:你需要创建一个实现现有java接口的类,pyjnius可以做到这一点,你创建一个python类并声明它实现了哪个java接口,并有一个装饰器来声明你必须声明的方法。
  • 第二个是子类化,你需要子类化一个现有的java类并覆盖一些方法,而我们还没有办法用pyjnius做到这一点,所以对于这些,你必须创建一个java类并在你的程序中使用它(幸运的是你可以把它和kivy/pyjnius混合在一起,在这种情况下,它不可能是100%的python )。

因此,有必要事先查看一下api,看看您必须访问的android api部分是否需要这样做。

票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18553849

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档