简单手机编程:几行代码让你的安卓手机自动整点报时
一人客
03-11 12:06科技达人
关注
既然是简单编程,那么肯定就不是用Android Studio大动干戈写工程文件做APP了,所以我们这里涉及到的是脚本语言Python。简单编程也只是用脚本语言在解释器里运行而已。而这,已经实现了程序正确运行的目的。
话说有一段时间,想买个表,这样可以看时间,但又一想,何不弄个自动整点报时的软件,于是在安卓手机上打开应用市场,找整点报时的APP,顺利下载了一个安装包小的APP,简单设置好时间后,默认后台运行,就可以了。
不过往往一段时间后,它会自动哑火。开启前一段时间好用,很准时很正常,但后来就没声响了。于是觉得不合适,又想别的办法,突然想到,何不编程写个整点报时的软件呢?于是想到脚本语言,为什么想到Python,因为它简单啊。但Python并不直接支持安卓手机,所以我们需要下载安装一个APP解释器。这个就是一人客在很早以前就介绍过的安卓的Python解释器QPython了。这里是3版本的。
这个解释器,也集成了大多数的安卓手机应用开发的接口。我们要实现的也很简单,就是通过不断的时间检测来决定是否用语音报时。当然核心是这个意思,但具体的代码就有一点点繁琐了。Python要用安卓手机的应用开发接口,就要用到androidhelper模块。而要用语音播报,那就要用droid.ttsSpeak(“这里就是你想要播报的字符串”)。而我们要正确地检测时间和播报时间,那不可避免要用time模块。而time模块出来的时间,不适合我们口语使用习惯,是需要根据年月日时等参数来用time.strftime转换的。
这里还有一个问题,就是语音播报的方式,比如23点11分钟,我们往往是这样表达:二十三点十一分钟。而用手机系统的语音播报则是这样:二三点一一分钟,所以这个也要注意,这里就要写一个转换函数了,也就是把数字正确地转变成汉字表达。
这个把数字转变成汉字的转换函数,大家可以自己写,也可以从网上找。而具体的实现代码,则很简单,这里是个人用的,每一分钟播报一次,每到半点或整点,继续播报,同时省略了转换函数_to_chinese4而直接写了实现代码,所以这里的代码仅供大家参考:
droid = androidhelper.Android()
xh=1 '''循环判断'''
while xh:
droid.ttsSpeak("现在是:"+"")
if (int(time.strftime("%M"))==30) or (int(time.strftime("%M"))==31):
droid.ttsSpeak("一人客,现在时间是:"+_to_chinese4(int(time.strftime("%H")))+"点半")
droid.ttsSpeak("一人客,现在时间是:"+_to_chinese4(int(time.strftime("%H")))+"点半")
else if (int(time.strftime("%M"))==00) or (int(time.strftime("%M"))==01):
droid.ttsSpeak("一人客,一人客,现在时间是:"+_to_chinese4(int(time.strftime("%H")))+"点钟啦")
droid.ttsSpeak("一人客,一人客,现在时间是:"+_to_chinese4(int(time.strftime("%H")))+"点钟啦")
time.sleep(59
这里介绍3种可以在手机上编程的app,分别是c语言编译器(c语言)、AIDE集成开发环境(java)、QPython3(python),都不需要root,可以直接编写程序并运行,下面我简单介绍一下这3个app的安装和简单使用,主要内容如下:
C语言编译器:这是一个很小巧的c编译器,大概13兆左右,界面简洁、朴素,使用起来很简单,下面我介绍一下这个app的安装和简单使用:
1.下载安装,这里以我的vivo手机为例,直接打开“应用商店”,搜索“C语言编译器”,如下,直接点击下载安装:
测试代码如下,这里编写了2个函数,分别是2数之和和2数只差,很简单:
程序运行截图如下,需要先输入2个数,才能正常运行:
AIDE集成开发环境:这个主要是用来写java代码(创建工程、写小游戏等),当然也可以写c++代码,只不过需要安装对应的插件才行,自带自动补全的功能,界面干净、整洁,使用起来不错,下面我介绍一下这个app的安装和简单使用:
1.下载安装,这直接在应用商店里搜素“AIDE”就行,直接下载安装,如下:
这里测试一下,主要代码如下,官方自带的例子:
程序运行截图如下:
QPython3:这个见名思意,主要用来在手机上写python3代码,使用起来也不错,下面我介绍一下这个app的安装和简单使用:
1.下载安装,这里直接在应用商店里搜索“QPython3”就行,直接下载安装,如下:
主界面如下,主要分为“终端”、“编辑器”、“程序”、“QPYPI”、“课程”、“社区”这6个模块,终端类似IDLE,编辑器类似记事本,QPYPI是第三方包和工具,程序存储官方自带的示例,课程是一些教学案例:
这里测试一下官方自带的例子—speaky.py,在“程序”这个模块下,代码如下:
点击运行按钮,程序运行截图如下:
至此,这3个app都介绍完毕。总的来说,使用起来都不错,各有各的功能,当然,还有许多其他的app也可以在手机上进行编程,像c4droid(c/c++),termux(高级终端,类似linux)等,这里我就不详细介绍了,感兴趣的可以在网上搜索一下,有相关教程和示例可供参考,希望以上分享的内容能对你有所帮助吧。
现在的智能手机可以做什么呢?打游戏,看电影,社交聊天,拍照,读资讯……除了这些,手机还可以用来写程序,没错,你没有听错,现在的智能手机还可以来写程序。区别于用电脑编程,手机编程的功能较小,但却胜在方便,随时随地,有什么想法便可以在手机上进行编程验证,这对初学者来说无疑一大神助。现在让我们来了解一下如何在手机进行编程吧。
网上有不少可以在手机上编程的软件,如c++编译器,C语言编译器,AIDE,高级终端Termux,各种软件有各自的特点。下面介绍一下c++编译器,也叫C4droid,是一款很不错的C/C++编译器,安装完GCC插件后,可以直接编辑运行C/C++代码,是一款很不错的手机编程软件。
1.安装的话可以直接在应用商店上下载,或者百度,其他网站上也行。
2.安装完成后,这里需要下载一个GCC插件(编译器),之后才能正常编译运行代码:
3.最后就可以开始动手编程啦。
先写代码,再点击run就可以运行了。
1.QPython3:这是一个在安卓手机上运行python3的脚本引擎,整合了python3解释器、控制台、QEdit编辑器和SLA4库,可以在安卓手机上运行python开发的程序,下面我简单介绍一下这个软件的...
2.Termux:这是一个功能强大的高级终端,可以运行shell命令(ssh等),在线安装python后,也可以编辑运行python代码,下面我简单介绍一下这个软件: 安装Termux,这个与上面的QPython...
使手机实现一般只有PC机才具有的功能--下载各种程序并运行,是目前手机发展的一个重要方向。为此,人们提出了各种各样的解决方案,其中基于JAVA的J2ME方案无疑是最引人注目的。JAVA语言由于其平台无关、开放、 *** 功能强、面向对象、安全等特点,一经SUN公司提出,就随着Internet的发展而风靡全世界,在国外已成为软件开发人员的必修语言。特别是他的"一次编写、到处运行"的跨平台优点,对于手机领域来说更具有重要的意义。因为目前手机的种类繁多,各种厂商都有自己的标准,如何使他们能运行同一种标准的程序成为必须要解决的问题。采用JAVA语言后,各种手机只要实现JAVA虚拟机(JVM)就可以运行JAVA程序,这种 *** 可以说是目前情况下最为理想的一种解决方案。J2ME(JAVA 2 Micro Edition)是用于嵌入式系统的JAVA,他是SUN公司对标准的JAVA版本J2SE做了更大程度的精简后得到的一种JAVA应用程序运行环境,在最简单的情况下他只有几十kB,特别适合在手机、PDA等设备中使用。手机厂商如果在自己的手机中实现了J2ME规范,就可以从 *** 下载并运行JAVA程序,从而大大扩展了手机的功能。鉴于JAVA在Internet上取得的巨大成功,我们有理由相信,J2ME能够把这种成功延伸到手持设备领域,为将来的手机和互联网融为一体提供有利的条件。本文对J2ME构架做一个简单的介绍,并通过一个具体的程序例子来说明JAVA手机程序的特点及开发过程。2 J2ME概述J2ME是一种新的、非常小的JAVA应用程序运行环境,他所定义的构架主要用于在手持式设备上推广使用JAVA技术。SUN公司将为各种硬件规模的设备提供合适的配置,这些配置包括虚拟机、核心类库及API。
Atlassian解决了其Jira Seraph软件中的一个严重漏洞,该漏洞编号为CVE-2022-0540(CVSS 评分 9.9),未经身份验证的攻击者可以利用该漏洞绕过身份验证。威胁参与者可以通过向易受攻击的软件发送特制的HTTP 请求来触发漏洞。 该漏洞会对Jira软件多版本产生影响,比如...
现在,不少新报告指出了跟俄罗斯对乌克兰采取的军事行动直接或间接有关的黑客行动。许多专家预测,俄罗斯将在乌克兰发动重大网络攻击,如关闭该国的电网。虽然大规模的行动还没有实现,但关于小规模攻击的报告已经开始出现。 当地时间周一,Google表示,它发现了针对乌克兰官员和波兰军队的广泛的网...
BHI是一种影响大多数英特尔和Arm CPU的新型投机执行漏洞,它攻击分支全局历史而不是分支目标预测。不幸的是,这些公司以前对Spectre V2的缓解措施也无法保护BHI的威胁,尽管AMD处理器大多是免疫的。消息传出后,供应商应该很快就会发布安全补丁,而最新得Linux内核已经打了补丁。...
在西方云计算供应商撤出俄罗斯后,俄罗斯面临严峻的IT存储危机,在数据存储耗尽之前,俄罗斯只剩下两个月的时间。这些解决方案是在数字转型部举行的一次会议上提出的,出席会议的有Sberbank、MTS、Oxygen、Rostelecom、Atom-Data、Croc和Yandex的代表。 据俄罗斯新闻媒...
近日,Nozomi Networks发出警告,uClibc库的域名系统 (DNS) 组件中存在一个高危漏洞,编号为CVE-2022-05-02,该漏洞将影响所有版本uClibc-ng库的域名系统(DNS),因此,数百万台使用uClibc库的物联网设备都也将受到影响。 资料显示,uClibc库专门为...
在最新活动中,恶意软件 Magniber 利用虚假的 Windows 10 更新实现传播。这款恶意软件非常善于紧跟最新时事进行传播,在 2021 年使用 PrintNightmare 漏洞来感染受害者;在 2022 年 1 月,它再次通过 Edge 和 Chrome 浏览器进行传播。 援引科...