zoukankan      html  css  js  c++  java
  • 当Python遇到Andriod手机 万物皆可盘

    【摘要】今天不跟大家讲python知识,是不很失望?No,看过了今天的内容,你python的装13指数,至少上升1w+,并附带暴击、溅射、眩晕、致盲效果。

    当python遇到安卓手机

    我们日常的python学习和使用都是在电脑上的,会写Linux下的python脚本、搞一些爬虫的项目、开发几个好玩的web网站,用python做数据分析。可如果脱离了电脑,就成了零。

    如何让我们的python,随时随地的装13? 使用Qpython…

    Qpython介绍

    首先我需要说一下,公众号就几百个粉丝,我可没能力接广告,这个锅我可不背…

    Qpython是一款安卓免费的python模拟器,在安卓应用市场就可以下载到。

    当然你也可以访问它的官网进行下载:https://www.qpython.com/

    image.png

    点击下载python2或者python3,会跳转这项目的Github:

    20190716-172043(eSpace).png

    安装完成后,进入系统界面:

    image.png

    之所以说Qpython值得我们去学习,是因为它自带了pip可以像电脑一样下载我们所需要的模块,如下图:

    image.png

    手机端的python工具很多,比如之前我使用的Pydroid3等等。那为什么一定要选择Qpython?

    因为Qpython针对安卓手机,专门开发了androidhelper模块。此模块可以做什么?很多很多…

    androidhelper模块介绍

    Hello World

    先来看一段最简单的HelloWorld代码…

    import androidhelper
    droid = androidhelper.Android()
    droid.makeToast('Hello, Android!')
    print('Hello world!')

    droid.makeToast('Hello, Android!') 可以在手机界面显示类似悬浮的文本内容…

    有更高级的么?当然…

    语音播报

    import androidhelper
    droid = androidhelper.Android()
    message = droid.dialogGetInput('TTS', 'What would you like to say?').result
    droid.ttsSpeak(message)

    这段代码是干嘛的?首先,代码会弹框要求你输入一段文字,如下图:

    image.png

    之后,代码会调用安卓自身语音系统droid.ttsSpeak(message)来语音朗读你输入的文字。

    也就是说,在没有任何API接口的情况下,我们可以使用python将手机转化为一个播放器…

    有些人说,还不够帅,有没有更酷的?当然…

    # -*- coding: utf-8 -*-
    import androidhelper
    import time
    from math import radians
    droid = androidhelper.Android()
    droid.startSensingTimed(1, 250)
    droid.startLocating()
    while 1:
        gpsdata = droid.readLocation().result
        print(gpsdata)
        s6data = droid.sensorsReadOrientation().result
        if len(gpsdata)>0:
            print (gpsdata['gps']['bearing']) #取得Gps导向(bearing)(角度)
        if len(s6data)>0:
            print (s6data[0]) #取得罗盘方位角(azimuth)(弧度)
        time.sleep(5)
    droid.stopLocating()
    droid.stopSensing()

    python调用安卓的readLocation接口,获取到手机的地理位置经纬度,以及手机罗盘指针。

    这个有什么用?记得我和大家说的,自从开始搞公众号,每天晚上两三点,下班坐班车经常坐过站,苦逼的要死。

    而我现在用这段样例代码封装了语音播报,来后台定位经纬度,在我班车快到指定经纬度范围的时候,朗读语音叫我起床。酷不酷?

    还有最酷的…

    手机小说下载站!

    前天和大家分享了我写的小说下载器工具,然后打包成exe后分享给大家。但工具只能在电脑端使用,朋友是mac系统,我打包的exe就没办法使用了,而我几个笔记本都是windows的,没办法打包。那怎么办?没错,把代码拷贝到Qpython中执行!

    避坑指南

    Qpython的模块下载时,lxml这个模块遇到了Linux和Mac下同样的问题,安装失败…解决办法比较麻烦,但是我代码撸的快啊,所以讲之前使用的requests_html模块转为requests+beautifulsoup 配合html.parser进行解析,绕过lxml。最终手机端实现了小说下载,来看看效果吧:

    22.gif

    源代码我就不放出来了,主要是害怕网站投诉我,大家也看到了就一百多行的内容,按照我之前文章的思路,一会儿就搞定了…

    当然,之前封装的exe,加我微信获取的朋友们,也请留着自用就好,请勿用于非正当手段,谢谢。

    Flask的项目和一些其他的代码我都已经移动到手机,就不一一展示了…

    这么看起来,你觉得是不学习python更有动力了?

    The End

    今天的内容就展示到这里,希望大家喜欢,也希望能激发更多人对python这门语言的热爱。

    如果大家觉得文章不错,欢迎朋转发给你的朋友,更期待大家关注我的公众号:清风Python。

    关注博主不迷路,带你在娱乐中,收获更多的python知识!

    --------------------- 

    作者:清风Python

  • 相关阅读:
    数据库的规范和SQL优化技巧总结
    新版Intellij idea破解方法(插件IDE Eval Reset)
    容易遗忘的知识点总结
    Java如何搭建脚手架(自动生成通用代码),创建自定义的archetype(项目模板)
    阿里云服务器域名解析和ICP域名备案
    云服务器通过ip无法访问
    FirewallD is not running 远程服务器开启端口报错
    [prerender-spa-plugin] Unable to prerender all routes! 内网打包报错(Navigation Timeout Exceeded)
    vue-cli中的 mode模式、env环境文件,以及其中定义的环境变量
    绘制柱状图和横向条形图,带数据标签!!!
  • 原文地址:https://www.cnblogs.com/2020-zhy-jzoj/p/13165705.html
Copyright © 2011-2022 走看看