RELATEED CONSULTING
相关咨询
选择下列产品马上在线沟通
服务时间:8:30-17:00
你可能遇到了下面的问题
关闭右侧工具栏

新闻中心

这里有您想知道的互联网营销解决方案
python开发android应用,python 开发android

python开发安卓app可行吗

用Python写安卓APP肯定不是最好的选择,但是肯定是一个很偷懒的选择。我们使用kivy开发安卓APP,Kivy是一套专门用于跨平台快速应用开发的开源框架,使用Python和Cython编写,对于多点触控有着非常良好的支持,不仅能让开发者快速完成简洁的交互原型设计,还支持代码重用和部署,绝对是一款颇让人惊艳的NUI框架。 (推荐学习:Python视频教程)

十余年的东昌网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。全网营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整东昌建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联公司从事“东昌网站设计”,“东昌网站推广”以来,每个客户项目都认真落实执行。

因为跨平台的,所以只写一遍代码,就可以同时生成安卓及IOS的APP,很酷吧。

新建一个.py文件

运行:

然后会弹出一个框,大概如下,点击”hello,kivy”会变颜色

以上就是小编分享的关于python开发安卓app可行吗的详细内容希望对大家有所帮助,更多有关python教程请关注环球青藤其它相关文章!

python可以开发手机app吗?

python可以开发手机app,因为这也是一款编程的软件,如果你用这款软件去开发手机APP的话,就有一点大材小用的感觉了。这也说明这款软件的强大性。

如何Python写一个安卓APP

开发一个完整app需要掌握哪些知识

1、前期需求规划与信息——你需要制定出一个完整的需求文档,功能文档,流程图,时序图。

2、交互设计、UI设计——设计出基本且完善的原型图和app基础的交互设计效果,之后再根据这些设计出完整的UI界面并学会切图,一些需要做自适应的素材图片需要做点9patch。 这里还需要你懂得px,pt和dp之间的换算,屏幕密度的换算和相互之间的系数,以便你的app能完美适应不同分辨率设备。其中交互设计需要你懂得很多人机操作的技巧经验,掌握Axure等交互工具的使用,UI设计需要你掌握Photoshop和Illustrator等操作。

3、使用ADT之类的开发环境进行app软件开发,你最基本的也得掌握java语言,熟悉android环境和机制。

4、如果不是单机版的app,需要用到服务器,那你还得掌握WebService相关知识和开发语

言,常用的有ASP.Net,PHP,JSP等。

5、熟悉并能开发数据库。

6、某些功能需要做算法,这还需要一定得专业知识,尤其是数学基础。

7、熟悉API接口开发,这里包括你自行开发API的能力以及调用第三方API的经验。

8、熟悉TCP/IP,socket等网络协议和相关知识。

9、熟练掌握App发布的流程,真机调试技巧,证书,打包,上架。 App开发其实不一定适合一个人搞,太费劲,除非是一个单机版的小应用,或者利用现成的app开发简单的第三方应用,否则还是让一个团队来完成各自擅长的领域。

如何使用QPython开发Android应用

QPython入门

QPython WebApp应用框架能够让具有Web开发背景的开发者快速构建Android本地应用. 作为开发者,充分掌握你手中的利器,才能做到庖丁解牛,游刃有余地推动项目,接下来,你只需要30分钟,即可掌握QPython以及WebApp应用框架.

QPython的使用

QPython是我们项目的运行容器,我们所开发的项目需要运行在QPython之上(当然QPython也提供其他不同定位的程序开发支持,可以在以后的Codelab教程中逐一展示),因此你需要掌握以下使用技巧:

了解QPython的基本功能,能使用开始按钮以及开发者工具面板

你需要知道如何把项目上传或更新到QPython中

你需要掌握如何使用QPython运行项目

程序运行出错,如何查看错误信息,这个是作为开发者必备的技能

有些小的改动,比起上传或者更新整个项目而言,使用自带的QEdit方便第修改源代码可能会更简单

如果你想使用第三方库,你需要知道如何使用QPython来安装第三方库

更多详情可以参考如何使用QPython,以及如何使用QPython开发第一个HelloWorld

QPython的WebApp框架

为了让Web开发者能够快速上手Android应用开发,QPython推出了WebApp框架,它包括两个部分 - 基于Bottle框架的可定制本地Web服务器 - 构建于Android系统的WebView容器,

实现上述两个特性,就我们能够轻松地让QPython运行本地WebApp,避免传统服务端WebApp的网络传输瓶颈问题,获得更佳用户体验,此外,通过让Python能作为Backend语言,拥有更强大的包括网络,图像,运算等多种处理能力. 再加上强大的Python第三方库支撑,拥有Python/Web开发经验的人即可轻松开发体验良好的WebApp

更多详情可以参考QPython WebApp帮助

应用设计

掌握了QPython基础使用以及其WebApp框架后,我们可以开始针对我们的项目目标设计应用系统

应用的使用流程分析

输入:输入部分及为根据用户地理位置

输出:用户所在城市的PM2.5数值以及对应的防护措施建议

业务处理:通过地理位置坐标获得所在城市,通过请求PM2.5接口数据源获得PM2.5数值,再根据等级区分展示对应的防护措施建议

关键数据来源

地理位置信息:通过QPython的SL4A接口可轻易获得

根据地理位置查询所在城市

PM2.5数据来源:根据PM2.5API可以查询到所在城市的PM2.5数值情况

了解QPython的地理位置的SL4A接口,掌握PM2.5的数据来源接口,Google的根据地理坐标查询所在城市

应用的交互设计

主要为根据不同的PM2.5展示做不同的预警展示,并能满足用户查看详情的需求

技术实现方面我们选定使用Bootstrap作为前端框架:Bootstrap能根据设备的宽度的不同提供适配的界面框架.

推进过程以及FAQ

如何开始

在开发机器上安装bootstrap, bottle,象Web开发一样去开发, 本地调试后

以上传到QPython运行目录/sdcard/com.hipipal.qpyplus/projects/

通过QPython的运行按钮运行查看效果

将在个人电脑上开发的项目上传到手机上有以下方法 - 启动QPython自带的FTP服务:在设置中可以看到FTP服务,开启FTP服务后会显示当前侦听的地址,端口以及帐号,你可以通过FTP客户端将项目目录上传到QPython运行目录 - 如果你的电脑安装了Android开发套件,你也可以连接手机到开发机后,执行 adb push 本地目录 /sdcard/com.hipipal.qpyplus/projects/PM2.5 来把项目上传到QPython的项目目录

用Web开发模式开发QPython WebApp

我们可以使用标准的本地Web开发流程去推进应用开发,左侧为浏览器, 中间为VIM窗口,右侧我们启动bottle开发的Web进程(QPython内建支持Bootle Web框架)

在你的开发机上下载Bootstrap, 并配置Python+bottle运行环境,按照QPython WebApp的规范建立项目目录

获得Bootstrap,获得Bottle

了解QPython中WebApp中文件的结构

上传到QPython运行

你可以将项目上传到手机的QPython项目目录

点击开始按钮即可看到PM2.5选项

启动后可以看到运行效果

功能开发

在UI开发的基础上进行能攻开发,即可得到我们最终的版本,下列为几个关键过程的参考代码:

获得地理坐标

Droid = androidhelper.Android()

location = Droid.getLastKnownLocation().result

location = location.get('network', location.get('gps'))

获得所在城市示范代码

ud  = urllib.urlopen(';sensor=true' % location)

json_result = ud.read()

ud.close()

""" process json_result """

获得所在城市PM2.5

ud = urllib.urlopen(';token=%s' % (city, token))

json_result = ud.read()

ud.close()

""" process json_result """

根据PM2.5数值给出建议

if pm25_quality == '优':

...

elif pm25_quality == '良好':

...

elif pm25_quality == '不好':

...

elif pm25_quality == '差劲':

...

else:

...

将关键代码实现后输出即可实现我们本次的目标

你可以获得PM2.5早知道项目源代码源代码

此外,你还想增加什么功能?天气预报, PM2.5变化趋势图以及预测 ?Just do IT !

用Python开发Android程序到底怎么样

Python是动态语言,比较简洁。Android不直接支持使用python开发应用,需要使用其它中间件或者库。PythonForAndroid提供了在android平台上对python语言的支持;CLE支持python和java之间的交互,同时提供了一个通用的接口,可用于其它多种语言。Wrapandroid project将android类封装为CLE对象,从而可以使多种语言可以调用android类。使用这三个组件,可以在android平台上直接使用python开发界面应用程序。Wrapandroid项目在进行中,目前的0.8.5版本已经提供了除SQlite,OpenGL之外大部分android类的封装。完全可以编写一个独立的python应用程序。

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平台安装

所有平台参考:

更新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

值得注意的是,上面的安卓需要访问Google,所以请自备梯子,而且kivy.deps.gstreamer这个包比较大(95MB),可以单独本地安装,

然后就是安装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 module)

Apache ant

Android SDK

虽然官方提供了一个似乎还不错的虚拟机镜像,但是还是有很多内容需要翻出去,所以笔者在这里提供相对而言更加完善的镜像

下载地址:

注: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更详细的相关参数配置参考:

buildozer命令会在当前文件夹创建一个bin,该文件夹里面有我们想要的apk文件

helloapp-1.2.0-debug.apk

helloapp-1.2.0-debug.apk

安装以后是这样:

话说在编译的时候可能出现空间不足的情况,根据虚拟机的不同(vmware或virtualbox)自行扩容吧。

最后我们来瞧瞧简易版Python开发的2048这个游戏的源代码。

代码:

先看效果图:

试玩了一下,还是蛮流畅的,有兴趣的可以下载玩一下

下载地址:

这个游戏代码虽然不长,但是还是蛮占篇幅的,所以简要的说明一下流程。

主要由三部分组成,一是素材,图片音频之类的文件,二是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

好吧,点到为止吧,不过似乎什么都没点到~~~

你还有什么想要补充的吗?

你在看吗?一起成长


本文标题:python开发android应用,python 开发android
链接URL:http://scyingshan.cn/article/phepco.html