python可以开发Android应用。
Python是一种解释型脚本语言,可以应用于以下领域:
1、Web 和 Internet开发;
2、科学计算和统计;
3、人工智能;
4、教育;
5、桌面界面开发;
6、软件开发;
7、后端开发。
操作系统与应用程序的沟通桥梁,应用分为两层:函数层(Library)和虚拟机(Virtual Machine)。 Bionic是 Android 改良libc的版本。
Android 同时包含了Webkit,所谓的Webkit 就是Apple Safari 浏览器背后的引擎。Surface flinger 是就2D或3D的内容显示到屏幕上。Android使用工具链(Toolchain)为Google自制的Bionic Libc。
Android采用OpenCORE作为基础多媒体框架。
Open CORE可分7大块:PVPlayer、PVAuthor、Codec、PacketVideo Multimedia Framework(PVMF)、Operating System Compatibility Library(OSCL)、Common、OpenMAX。
Android 使用skia 为核心图形引擎,搭配OpenGL/ES。skia与linux Cairo功能相当,但相较于Linux Cairo, skia 功能还只是雏形的。
2005年Skia公司被Google收购,2007年初,Skia GL源码被公开,Skia 也是Google Chrome 的图形引擎。
Android的多媒体数据库采用SQLite数据库系统。数据库又分为共用数据库及私用数据库。用户可通过ContentResolver类(Column)取得共用数据库。
Android的中间层多以java 实现,并且采用特殊的Dalvik 虚拟机(Dalvik Virtual Machine)。Dalvik虚拟机是一种“暂存器型态”(Register Based)的Java虚拟机,变量皆存放于暂存器中,虚拟机的指令相对减少。
Dalvik虚拟机可以有多个实例(Instance), 每个Android应用程序都用一个自属的Dalvik虚拟机来运行,让系统在运行程序时可达到优化。Dalvik 虚拟机并非运行Java字节码(Bytecode),而是运行一种称为.dex格式的文件。
参考资料:网络-Android
B. 如何选择编程语言
很多语言,像C、Java、Python和JavaScript在几十年来一直持续支配着他们的各自的领域。另一方面,也要看到近期流行的需求语言,像Swift、Google Go 和 Rust。
怎样选择学习哪一种编程语言,其答案取决于学习之后用它来做什么。许多人的选择标准仅仅是“学习一门语言最大的需求就是能找到一份高收入的工作”。但这个标准并非人人都适用,还有很多其它的方面要考虑。例如,在大学里使用Python这门语言给学生讲授编程,其主要原因在于Python功能强大,学生们能够很容易地掌握编程概念。对于初学编程的人来说,使用Python是一个不错的选择;对于想从事移动程序开发的人来说,学习Swift、C#、Java和JavaScript是很好的选择;对于web开发来说,在CSS、HTML、JavaScript这样的前端技术支持下,使用PHP、Java、Python和Ruby on Rails是第一选择。
如果要完成像访问关系数据库这样的更加具体化的任务,可以学习SQL编程语言。SQL语言并非是用来开发应用程序的,而是用来支持应用程序和数据库之间的连接。更何况,很多数据驱动应用都在广泛地使用SQL,如今,对SQL的需求已经超越了对许多工作表的需求。
如果你对硬件编程感兴趣,想要开发嵌入式系统、操作系统、通信设备或者复杂的游戏引擎等,那么选择的语言依然是C/C++(主要是C)。
1.JavaScript——多用途编程语言
时至今日,对JavaScript的需求依然巨大,招聘网站上充斥着有关JavaScript及其相关技术的招聘信息。JavaScript由Brendan Eich设计,运行在Netscape浏览器中。那时,他或许做梦也没有想到JavaScript会有如此超乎寻常的发展。
JavaScript是WWW的默认语言,并且几乎每个web浏览器都支持JavaScript,它已经成为了web前端开发的世界标准。随着Node.js的发展,JavaScript的应用领域又扩展到了服务器端开发,如今和java、.Net、PHP、Ruby on Rails以及其它的服务器端技术展开了竞争。
JavaScript除了应用于前端和服务器端开发外,它也快速地发展成为移动应用开发的选择。开发者可以使用许多流行的JavaScript框架来构建混合移动应用程序,比如ionic、kendo UI和Sencha touch等。
后来,随着React native框架的兴起(由Facebook提出),JavaScript又出现在了Android和iOS原生应用开发领域。
JavaScript无处不在!然而,JavaScript本身不会让你拥有最高薪酬的开发工作,你还需要学习基于JavaScript的技术、框架和库(比如Node.js、React、React Native、ionic、jQuery、D3.js和Kendo UI等等)。相关技术的选择完全取决于你要从事的工作。
说到学习JavaScript,它是一种动态编程语言,并且非常容易入门。熟悉了JavaScript基础知识之后,你就可以很容易地学习相关的技术,比如 jQuery、Node.js、Angular或React。
2.Python——最好的编程语言
Python是另一种编程语言,目前世界各地的开发者正在使用它进行快速应用程序开发。Python是一种模块化的、易于学习的、面向对象以及注重可读性的高级语言。
Python广泛地应用于教育领域、web与internet开发、科学与数值计算以及大数据、机器学习算法开发。
Python的深度和广度使得它成为教育和研究领域的首选语言,世界各地的学生正使用Python来学习编程和构建研究项目。如今很多进行计算机编程的学生把Python作为他们学习的第一门语言。
Python已经广泛地用于web和internet开发,并且有许多流行的框架,比如Django、Pyramid、Flask和Bottle。Django CMS和Plone是两种广泛使用的基于Python的内容管理系统,许多流行网站和web应用程序都在使用它们。
最近,由于对大数据分析和机器学习算法的需求急速增长,对Python的需求也在快速增长。用Python编写的许多开源库能够实现数据科学广泛使用的一些核心的机器学习算法。R是统计与数据科学领域广泛使用的另一种语言,但是学习曲线比较陡峭。
库方面,一些流行的Python库例如用于数学、工程和科学领域的scipy、用于库建模和数据分析领域的“pandas”,以及其它一些有用的库,比如iPython、kivy、pyqt和pyside。
3.Java——大众化的编程语言
Java是大众化的编程语言,它也是一种永葆青春的语言,多年来一直是各个招聘板块的宠儿。Java于1990年由 Sun Microsystems公司发布,后来被Oracle公司收购,Java的哲学理念是“编写一次,到处运行”。
Java广泛地应用于web开发、企业软件开发和Android app开发。随着对运行在Android平台上的移动app的需求不断增长,对java的应用也达到一个新高度,这也是为什么全球范围内对java的需求依然第一的原因。
Java是高级的面向对象的编程语言,学习起来比C++更容易,但是程序的性能要比C或C++差一些。因此,一般不用java构建核心引擎、操作系统或嵌入式系统开发。
4.SQL——结构化查询语言
SQL结构化查询语言是一种能被数据库理解的语言。SQL是由IBM工程师于1970年开发的,用来创建、更新和检索“System R”这个数据库管理系统中的数据。从那时起,SQL已经走过了很长的路,时至今日,它仍然是市场最需要的一种技能。
近年来,使用非SQL数据库来处理大数据的这种需求给SQL蒙上了阴影,但持续的时间不会太长。不久人们就会认识到SQL提供的大数据分析方法更好,它是一种更具有扩展性、可验证性和经得起时间检验的技术。
SQL语言用以辅助进行数据驱动网站、web应用程序、桌面应用程序以及移动应用程序的开发。SQL在任何应用领域都有应用。从学习的角度看,SQL比较容易掌握,并且由于有很高的市场需求,你可以仅仅通过SQL就能找到第一份工作。
然而,要找到一份高薪酬工作,还需要拥有设计、管理和维护多种数据库,比如Oracle、MySQL、PostgreSQL、IBM DB2和Microsoft SQL Server等的经验。
5.C#——排名第一的微软技术
C#是最通用的语言之一,它使得编程像Java语言一样简单。C#是类型安全的、面向对象的编程语言,运行在.NET框架运行时环境中。C#代码被编译成符合CLI规范的IL语言(中间语言)。
C#语言正迅速成为构建微软家族各种应用的首选,你可以用来构建客户端—服务器应用程序、数据库应用程序、web服务、移动应用程序、游戏等等。
C#在游戏开发中也有很好的应用(高级的但并非是硬核心),顶级游戏引擎Unity 3D就把C#作为支持的语言之一,除此外只有JavaScript语言被支持。C#还是许多交叉平台应用程序构建工具(如Xamarin)所采用的编码语言。你可以使用Xamarin产品套件构建交叉平台移动应用程序。
尽管汇编语言是首选的游戏引擎开发工具,要进行硬核心终端游戏开发,仍然可以使用C或C++,Rust语言也可以应用在该领域。
6.C/C++——古老而金贵的编程语言
有人说C++很古老,但却一致被认为依然金贵。当涉及更注重性能的硬核心系统编程时,C/C++ 仍然是首选的编程语言。C比C++更接近硬件,并且能提供更好的性能。
许多开发者转向Java,是因为和C++(&C)相比,使用Java更便于开发,而且在很多情况下性能可以通过对硬件部分进行更多的投资而抵消。但并非总是如此,比如对于嵌入式系统,你就只需要管理最少的硬件组件。
C和C++仍然属于高级编程语言吗?
C/C++拥有最好的编译器、开发环境、库和核心开发部件,还拥有一个在未来也不可能被替换的巨大的生态系统。现有的生态系统和高性能应用程序的需要,使得对C/C++的需求一直很高,而且C/C++开发人员的工资档次也比较高。
7.Swift——第一个工业质量级的系统编程语言
Swift是相对较新的语言,并且正快速地流行起来。Swift是完全用于Apple的开发语言,例如iOS应用程序、OS X应用程序、watchOS应用程序和tvOS应用程序。Swift引入了C和Objective-c的优点,并且能和cocoa以及cocoa touch框架很好地协同工作。
Apple拥有自己的巨大生态系统,毫无疑问,Swift将成为在未来几年中引领其发展的语言。如果你想进入Apple生态系统,Swift正是要学习的语言。
Swift学起来很容易,用起来很有趣,究其原因在于它引入了严格类型语言(如C、Java、C++)的所有特性,而使用起来和任何脚本语言(如 Ruby或Python)一样容易和有趣。你可以通过Swift playgrounds尝试使用Swift,并且可以马上看到结果,无需担忧程序的编译和运行。
Apple声称Swift是第一个工业质量级的系统编程语言,它提供了类似脚本的语法,能使开发变得绝对轻松。
8.PHP——基础的编程语言
许多人认为PHP不是程序设计的未来,但PHP巨大的生态系统使得在未来几年里全世界需要大量的开发人员对其提供支持。排名前三的内容管理系统——WordPress、Drupal和Joomla都是使用PHP构建的,而且迄今大概有80%的网站运行在PHP之上。所以,它是巨大的!
PHP是容易学习的语言,它可以作为你进入编程世界的入门语言。PHP属于就业市场中炙手可热的语言,你可以找到大量的需要PHP技能的工作机会。PHP开发者的薪资水平和Java、C++、Python或Swift开发者相比,通常偏低。
PHP生态系统包括上述顶尖的内容管理系统(如WordPress、Drupal和Joomla等 )和PHP框架(如Laravel、Symfony、Yii和FuelPHP等)。这些内容管理系统和框架能使开发者在几天内就构建出可以投入使用的网站和web应用程序。
近年来随着 Node.js、Django和Ruby on Rails的出现,PHP蒙上了一层阴影,但是PHP正在改进,更新的版本完全可以和新兴的语言与技术展开竞争。
9.Ruby——适合学习的编程语言
Ruby是另外一种开源的、面向对象的、通用的编程语言,这是一种简单的、有助于快速应用开发的语言。Ruby最有名的框架是Rails(Ruby on Rails),这主要被用来web开发。
它在服务器端开发是很有用的,有很多公司都使用它,如:Bloomberg、Airbnb、Shopify、Hulu和Slideshare等等,且被用在一个或多个项目之中。
Ruby是用来学习的最好的编程语言吗?
Ruby常常被用来与Python的可读性进行比较,它提供类英语的语法,这让 Ruby 成为一个完美的候选者,最适合作为第一个编程语言来学习。
10.Rust——发展迅速的新一代编程语言
Rust是后起之秀,并且承诺要成为新一代的热门技术。它快速地成为硬核心开发人员所痴迷的技术,并且以非常快的速度发展着。Rust语言还在发展之中,还是一门新语言,因此,Rust的就业市场尚未形成,传播的深度与广度还不够。
Rust语言由Mozilla公司于2010年开发,它是Graydon Hoare所负责的一个研究项目。而现在开发者社区喜爱它并负责对其维护,他们决心将Rust推向一个新的高度。
Rust是一种低级的系统编程语言,其目标是提供高性能、安全性和并发性,它是一个不错的C/C++的替代语言。过去,C开发人员努力使用Rust编写操作系统、数据库、嵌入式程序、内核以及各种系统程序。
Rust是一种现代语言,它拥有高级语言的灵活性和C这样的低级语言才有的高性能以及对硬件的可控性。
11.其他
下面是另外的一些很受欢迎的编程语言,它们和排名靠前的那些语言进行着激烈的竞争。
GO——Go是谷歌公司推出的一款相对较新的语言,对于web服务器开发、网络开发以及命令行程序开发来说,它是又一个比较优秀的选择。
R——当要进行数据分析和统计软件开发时,你可以选择R语言。随着大数据和机器学习的兴起,R得以不断发展并和Python和Matlab展开了激烈竞争。
Perl——最古老的语言之一,但它正越来越受欢迎并显示出伟大复苏的迹象。DevOps是新生事物, Perl正发展成为用于DevOps的深受欢迎的语言,它或许会成为像Python语言那样的下一个重要语言。
VisualBasic .Net——微软公司推出的一种面向对象编程语言,对于开发.Net程序以及web程序和XML web服务这样的专业领域程序来说,这是一个很好的选择。
Haskell——统治着函数式编程的世界。和面向对象编程相比,函数式编程具有完全不同的哲学理念。函数式编程在分布式系统开发中应用广泛,分布式系统开发的关键需求是并行执行和并发性。人工智能和数学计算是函数式编程的又一应用领域,Haskell的应用同样如此。
C. 用Python编程需要哪些软件
一、终端:Upterm:简略好用,是一个全渠道终端,能够说是终端里的IDE,有着强壮的自动补全功能。
二、交互式解说器:PtPython:支持语法高亮、提示乃至是Vim和emacs的键入模式。
三、包管理:Anaconda:能帮你装置好许多麻烦的软件,包括:Python环境、pip包管理东西、常用的库、配置好环境路径等。用Python高数据方面的工作,就装置Anaconda,它乃至开发了一套JIT的解说器Numba。
四、脚本引擎:QPython:QPython是一个能够在安卓体系上运行Python脚本引擎,整合了Python解说器、Console、编辑器和SL4A库,在安卓设备上你照样可以玩转Python。
五、编辑器:Sublime3:配合装置Anaconda或Codelntel插件,就能够让Sublime具有近乎IDE的体会。
六、IPython:一个根据Python shell的交互式解说器。它的自动补全非常好用,乃至用了它之后,很多程序员小伙伴们就不想再用自带的Python shell啦。
D. 安卓手机python编辑器哪个好
pydroid 3
这个编辑器相比于QPython
对于解释器和命令行终端的支持更好
支持在命令行终端运行pip命令
为pip命令提供了良好的图形化管理界面
自动检测代码导入的库如果没有安装会自动提示安装
支持kivy、matplotlib等推行库
手机+一个蓝牙键盘,随时随地可以练习编程,手机变身python学习利器,不要买树莓派了都
image
能够导入现在教育教学中常用的库
image
交互式命令行初级和高级应用
image
支持pyqt5和kivy多种跨平台gui库
image
如果默认c编译器不够快可以自定义pip库
image
代码提示和语法检测
image
通过PyQt5原生支持Matplotlib
image
用qt和kivy对手机编程,APP inventor过时了
E. python开发的gui漂亮吗
简单一点的,玩tkinter
你要做产品,pyQT(pySide)
其他的虽然也有一些,但靠谱的并不多.
如果说好看 当然是pyQT的好看
F. python语言的特点是什么
Python 特点:简单易学
Python 是一种代表简单注意思想的语言,阅读一个良好的 Python 程序,即使是在 Python 语法要求非常严格的大环境下,给人的感觉也像是在读英语段落一样。
换句话说,Python 编程语言最大的优点之一,是其具有伪代码的特质,它可以让我们在开发 Python 程序时,专注于解决问题,而不是搞明白语言本身。
Python 特点:开源
Python 是 FLOSS(自由/开源源码软件)之一,简单地理解就是,用户使用 Python 进行开发和发布自己编写的程序,不需要支付任何费用,也不用担心版权问题,即使作为商业用途,Python 也是免费的。
开源正在成为软件行业的一种发展趋势,现在有很多商业软件公司都开始将自己的产品变成开源的(例如 Java)。也许,Python 的开源正是它如此优秀的原因之一,因为会有这么一群人,他们希望看到一个更加优秀的 Python,从而为了这个目标,不断地对 Python 进行创造,不断地改进。
Python 特点:高级语言
Python 是高级语言,因此当使用 Python 语言编写程序时,我们无需再考虑一些底层细节方面的问题。例如,如何管理程序使用的内存等等。
Python 特点:解释型语言
一个用编译型语言(如 C 或 C++)写的程序,可以从源文件转换到一个计算机使用的语言。这个过程主要通过编译器完成。当运行程序的时候,我们可以把程序从硬盘复制到内存中并且运行。
而 Python 语言写的程序,则不需要编译成二进制代码,可以直接从源代码运行程序。在计算机内部,由 Python 解释器把源代码转换成字节码的中间形式,然后再把它翻译成计算机使用的机器语言并运行。
事实上,由于不再担心如何编译程序,使得使用 Python 变得更加简单,我们只需要将 Python 程序复制到另外一台计算机上,它就可以工作了。因此,Python 程序更加易于移植。
Python 特点:可移植性
由于 Python 是开源的,它已经被移植到许多平台上。如果能够避免使用依赖系统的特性,那就意味着,所有 Python 程序都无需修改就可以在好多平台上运行,包括 Linux 、Windows、FreeBSD、Solaris 等等,甚至还有 PocketPC、Symbian 以及 Google 基于 Linux 开发的 Android 平台。
解释型语言几乎天生就是跨平台的。Python 作为一门解释型的语言,它天生具有跨平台的特征,只要为平台提供了相应的 Python 解释器,Python 就可以在该平台上运行。
Python 特点:面向对象
Python 既支持面向过程编程,也支持面向对象编程。在“面向过程”的语言中(如 C 语言),程序仅仅是由可重用代码的函数构建起来的;而在“面向对象”的语言(如 C++)中,程序是由数据和功能组合而成的对象构建起来的。
与其他编程语言(如 C++ 和 Java)相比,Python 是以一种非常强大,而又简单的方式实现的面向对象编程。
Python 特点:强大的功能
Python 强大的功能也许才是很多用户支持 Python 的最重要的原因,从字符串处理到复杂的 3D 图形编程,Python 借助扩展模块都可以轻松完成。
实际上,Python 的核心模块已经提供了足够强大的功能,使用 Python 精心设计的内置对象可以完成许多功能强大的操作。
此外,Python 的社区也很发达,即使一些小众的应用场景,Python 往往也有对应的开源模块来提供解决方案。
Python 特点:可扩展性
Python 的可扩展性体现为它的模块,Python 具有脚本语言中最丰富和强大的类库,这些类库覆盖了文件 I/O、GUI、网络编程、数据库访问、文本操作等绝大部分应用场景。
Python 可扩展性一个最好的体现是,当我们需要一段关键代码运行的更快时,可以将其用 C 或 C++ 语言编写,然后在 Python 程序中使用它们即可。
除了以上几个特点(也可称之为优点)之外,作为一个解释型语言,Python 自然也有一些弱点,比如:
速度慢:Python 程序比 Java、C、C++ 等程序的运行效率都要慢。
源代码加密困难:不像编译型语言的源程序会被编译成目标程序,Python 直接运行源程序,因此对源代码加密比较困难。
其实,这两个缺点并不是什么大问题,首先,由于目前计算机的硬件速度越来越快,软件工程往往更关注开发过程的效率和可靠性,而不是软件的运行效率;至于第二个问题就更不是问题了,现在软件行业的大势本就是开源,就像 Java 程序同样很容易反编译,但丝毫不会影响它的流行。
G. python可以写软件么怎么写
22点24分准时推送,第一时间送达
编辑:技术君 | 来源:youerning
上一篇:
正文
前言
用 Python 写安卓 APP 肯定不是最好的选择,目前用Java和 kotlin 写的居多,但是肯定也是一个很偷懒的选择,而且实在不想学习 Java,再者,就编程而言已经会的就 Python与Golang(注:Python,Golang水平都一般),那么久Google了一下Python 写安卓的 APP 的可能性,还真行。
既然要写个APP,那么总得要有个想法吧。其实想做两个APP来着,一个是自己写着好玩的,一个是关于运维的。关于运维的APP,设计应该如下
可能长这样
然后设计应该是这样。
如果觉得可行的话,评论留言一下你觉得应该写进这个APP的运维常用命令吧^_^,笔者暂时想到的是top,free -m,df –h,uptime,iftop,iotop,如果有什么好的想法就狠狠的砸过来吧,笔者到时应该也会把这个写成一个项目放到github上,大家一起用嘛,开源才是王道,哈哈。
开发安卓APP
我们使用kivy开发安卓APP,Kivy是一套专门用于跨平台快速应用开发的开源框架,使用Python和Cython编写,对于多点触控有着非常良好的支持,不仅能让开发者快速完成简洁的交互原型设计,还支持代码重用和部署,绝对是一款颇让人惊艳的NUI框架。
因为跨平台的,所以只写一遍代码,就可以同时生成安卓及IOS的APP,很酷吧。
本文会带大家写一个Hello world并瞧一瞧 Python 版的2048的代码
kivy安装
环境说明:笔者在用的是Python2.7.10
这里仅介绍windows平台安装
所有平台参考: https://kivy.org/#download
更新pip,setuptools
python -m pip install --upgrade pip wheel setuptools
然后是安装所需要的依赖
python -m pip install docutils pygmentspypiwin32 kivy.deps.sdl2 kivy.deps.glew
kivy.deps.gstreamer --extra-index-url https://kivy.org/downloads/packages/simple/
值得注意的是,上面的安卓需要访问Google,所以请自备梯子,而且kivy.deps.gstreamer这个包比较大(95MB),可以单独本地安装,http://pan..com/s/1o7mlxNk
然后就是安装kivy了
python -m pip install kivy
至此,安装就已经完毕了,值得注意的是64位系统没有开启虚拟化支持,在导入kivy的时候会报错,如果是64位系统就设置一下机器的BIOS,开启虚拟化支持吧。
注:这里只是kivy的运行环境,这样我就能直接在windows机器上直接调试了,怎么将代码编译成APK文件我们会在后面讲到。
如果kivy在python中应该就能导入了。
按照世界惯例,我们”hello”一下吧。
新建一个.py文件
from kivy.app import Appfrom kivy.uix.button importButton
class TestApp(App):
def build(self):
return Button(text='Hello,kivy')
TestApp().run()
运行
然后会弹出一个框,大概如下,点击”hello,kivy”会变颜色
点击窗口并按“F1”会这个窗口的一些属性
然后我们回过头看一看代码。
##导入App,然后让TestApp这个类继承
from kivy.app import App##导入一个Button,运维有这个button,当你点击的时候才会有所反应
from kivy.uix.button
importButton
###定义类,名字必须是xxxAppclass TestApp(App):
###build一个Button
def build(self):
###返回一个Button,文字内容是“Hello,kivy”
return Button(text='Hello,kivy')
##运行,因为继承了App,所以才有的run这个方法TestApp().run()
上面就是我们的Hello了
在windows上运行当然没有什么太大的意义,怎么在安卓手机上运行才是我们想要的,
这时我们需要一个编译环境。
官方说明的环境,如下:
You’ll need:
A linux computer or a virtual machine
Java
Python 2.7 (not 2.6.)
Jinja2 (python mole)
Apache ant
Android SDK
虽然官方提供了一个似乎还不错的虚拟机镜像,但是还是有很多内容需要翻出去,所以笔者在这里提供相对而言更加完善的镜像
下载地址:http://pan..com/s/1geyAY7x
注:virtualbox,vmware需自行下载
root密码:kivy
默认使用账户kivy,密码:kivy123
当然你也可以下载官方镜像,因为第一次编译需要去国外下一大堆东西,所以请自行去下载。
Virtual Machine
A Virtual Machine with Android SDK and NDK and all otherpre-requisites pre installed to ease apk generation:
Kivy Buildozer VM
Or select the Torrent
在笔者提供的镜像里,桌面上有一个dev_and,只要将上面写的代码,放入这个文件夹即可(当然也可以在其他目录,后面会讲到)。
在公众号Python人工智能技术后台回复“面试”,获取腾讯Python面试题和答案。
cd Desktop/dev_and/
初始化会在当前目录生成一个buildozer.spec文件 用于配置生成的apk相关信息
buildozer init
###修改buildozer.spec文件
vi buildozer.spec
至少修改下面三项
# (str) Title of your applicationtitle = helloworld
# (str) Package namepackage.name = helloapp
# (str) Package domain (needed for android/ios packaging)package.domain = youer.com
然后注释
# (str) Application versioning (method 1)#version.regex = __version__ = ['"](.*)['"]#version.filename = %(source.dir)s/main.py
下面这行改为非注释
version = 1.2.0
最后我们生成我们需要的apk文件
buildozer -v android debug
buildozer.spec更详细的相关参数配置参考:
http://buildozer.readthedocs.org/en/latest/specifications.html
buildozer命令会在当前文件夹创建一个bin,该文件夹里面有我们想要的apk文件
helloapp-1.2.0-debug.apk
helloapp-1.2.0-debug.apk
安装以后是这样:
话说在编译的时候可能出现空间不足的情况,根据虚拟机的不同(vmware或virtualbox)自行扩容吧。
最后我们来瞧瞧简易版Python开发的2048这个游戏的源代码。
代码:
https://github.com/mvasilkov/kb/tree/master/6_2048
先看效果图:
试玩了一下,还是蛮流畅的,有兴趣的可以下载玩一下
下载地址:http://pan..com/s/1eQZACDW
这个游戏代码虽然不长,但是还是蛮占篇幅的,所以简要的说明一下流程。
主要由三部分组成,一是素材,图片音频之类的文件,二是Python代码,三是kv文件,这个kv文件有点像 html 中的css。
Python代码的文件名一般命名为 main.py
然后一定有一个叫做 XXXApp 的类,并继承 App。
比如该类叫做GameApp,那么该目录下的kv文件则必须为Game,如上图所示,如果不是,那么kv文件中的一些设定就不会生效。
比如设定一个标签
Label:
id: time
text: 'xxxx'
font_size: 60
id为time,text文本内容为'xxxx',然后字体为60
好吧,点到为止吧,不过似乎什么都没点到~~~
你还有什么想要补充的吗?
你在看吗?一起成长