AIDE手机编程初级教程(零基础向) 2(1)

这个函数应该写在哪里呢?我们想一想这个函数何时会被调用:当我们在下面的编辑框里面输入一些内容之后,再点击按钮,程序就会执行这个函数。然后这个函数获取到编辑框的内容,再经过处理,把结果显示在上方的文本框里面。

很明显,这个函数和按钮有很大的关联。因为只有按钮被按下的时候,这个函数才会执行。

为了更好地理解接下来的知识,我给大家举个例子:假设有一个千金小姐,琴棋书画样样精通 ,老爷视她为掌上明珠。老爷为了是她有自保的能力,特地安排了一个贴身保镖。老爷分配给保镖的任务很简单,只要有陌生人接近了小姐,他就立马给陌生人拦住。有一天,一个社会青年看到了小姐的美貌,想要图谋不轨,于是悄悄地靠近了小姐。保镖立马就看到了这一幕啊,然后想起了自己的任务,拦住了社会青年。

接下来,我们来学习事件监听机制。首先,我们(老爷)有一个按钮(小姐)。为了使按钮具有某个功能(自保),就需要给它安排一个监听器(保镖)。我们给监听器添加事件处理的方式(任务:陌生人接近 —> 拦住他),然后把监听器绑定到按钮上(安排贴身保镖)。在我们的小游戏里面,这个事件当然就是按下按钮了。然后,按钮被按下的时候(社会青年接近小姐),监听器检测到这个动作,并调用之前添加的方式进行处理(想起任务,拦住社会青年)。

上面的过程概括一下就是:给监听器添加事件的处理方式;监听器绑定到按钮;事件发生;监听器处理事件。了解了这个之后,我们终于明白了:我们想要写的核心部分函数,其实就是监听器对按钮被点击这一事件的处理方式。为此,在写核心部分之前,我们首先给按钮绑定一个监听器。

2.6.3中,我们已经获取到了控件的对象,包括按钮。所以,我们可以直接使用按钮对象的相关函数来给它添加监听器。具体地说,就是setOnClickListener函数。注意绑定监听器的代码应该写在onCreate函数里面。

在这里插入图片描述

setOnClickListener函数需要一个监听器对象作为参数。为此,我们需要创建一个监听器对象。(还记得new关键字的用法吗?点击复习)这里我们可以不用另外定义一个变量来临时“存储”监听器对象,如下:

在这里插入图片描述

在这里插入图片描述

由于监听器对象的创建需要指定事件的处理方式,所以我们加入花括号,里面写一个onClick方法:

在这里插入图片描述

在这里插入图片描述

到此为止,我们已经完成了监听器的创建和绑定。之后,只要按钮被点击,它对应的监听器的onClick方法就会立马被执行。


核心部分

当玩家点下按钮的时候,首先应该获取编辑框中的内容,并转换为字符串(使用任何对象都有的toString方法)。为此,我们可以使用编辑框对象的getText方法。具体代码如下:

在这里插入图片描述

综述篇里提到过,玩家的输入大概有四种情况:

开始游戏
什么都没输入
某个四位数字
其他内容

我们依次处理这几种情况。首先是开始游戏。当玩家输入“开始游戏”,并按下按钮之后,首先把上面的文本框和下面编辑框中的内容清除(事实上,无论输入什么,都应该把编辑框清空),然后调用产生随机数的函数,产生一个随机数,存储到某个变量中,最后在文本框里面添加文本,比如“新的一轮游戏已开始!你还有6次机会”。

在这里插入图片描述

仔细一想,我们还没有定义存储随机数和存储游戏剩余次数的变量呢!考虑到这些变量应该一直存在,我们把它也定义在onCreate函数外面。

在这里插入图片描述

最后一步,在文本框里面添加提示文本:

在这里插入图片描述

我们不妨运行,测试一下:

在这里插入图片描述

在这里插入图片描述

结果失败了。文本框里面并没有显示消息。这个问题的原因比较复杂,大概来讲就是if(text == “开始游戏”)这一句中,==的两边不是同一个对象,所以结果是false。我们这里其实是希望比较两个字符串对象的内容,所以应该使用equals方法,之后字符串的比较同样需要注意这一点。如下:

在这里插入图片描述

我们重新运行应用:

在这里插入图片描述

现在就好了。至此,我们完成了“开始游戏”的处理。下一个是什么也没有输入的处理。这是为了防止玩家不小心误点了按钮。为此,我们把它写在函数的前面。注意即使什么也没有输入,编辑框里面还是有一个空字符串。

在这里插入图片描述

接下来,我们处理数字的情况。为了简化思路 ,我们假设玩家输入的内容除了"开始游戏"之外就是一个四位数字。于是,我们直接把text变量和answer作为参数,调用getSimilarity方法。即可获取到玩家猜测的数字和答案直接的相似度了。

在这里插入图片描述

接着向文本框里面添加玩家猜测的数字和程序的提示文本,使用文本框对象的append方法。注意添加换行符(也就是回车),否则添加的文本全都在同一行。Android的换行符是**\n**

在这里插入图片描述

玩家的剩余次数也需要跟着自减1,并跟在提示信息后面:

在这里插入图片描述

我们紧接着写胜负判断:如果相似度是4A0B的话,那么说明玩家猜中了;如果次数变为0,那么可以判定游戏失败。这个比较简单,所以我直接放出代码:

在这里插入图片描述

事实上,我们的小游戏到此为止已经开发结束了,大体的流程已经全部实现。为了简化开发过程,我就不再做其他的优化了,大家可以根据自己的喜好添加别的功能。


尾声

面试成功其实都是必然发生的事情,因为在此之前我做足了充分的准备工作,不单单是纯粹的刷题,更多的还会去刷一些Android核心架构进阶知识点,比如:JVM、高并发、多线程、缓存、热修复设计、插件化框架解读、组件化框架设计、图片加载框架、网络、设计模式、设计思想与代码质量优化、程序性能优化、开发效率优化、设计模式、负载均衡、算法、数据结构、高级UI晋升、Framework内核解析、Android组件内核等。

不仅有学习文档,视频+笔记提高学习效率,还能稳固你的知识,形成良好的系统的知识体系。这里,笔者分享一份从架构哲学的层面来剖析的视频及资料分享给大家梳理了多年的架构经验,筹备近6个月最新录制的,相信这份视频能给你带来不一样的启发、收获。

Android进阶学习资料库

一共十个专题,包括了Android进阶所有学习资料,Android进阶视频,Flutter,java基础,kotlin,NDK模块,计算机网络,数据结构与算法,微信小程序,面试题解析,framework源码!

image

大厂面试真题

PS:之前因为秋招收集的二十套一二线互联网公司Android面试真题 (含BAT、小米、华为、美团、滴滴)和我自己整理Android复习笔记(包含Android基础知识点、Android扩展知识点、Android源码解析、设计模式汇总、Gradle知识点、常见算法题汇总。)

《2017-2021字节跳动Android面试历年真题解析》

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

那么很难做到真正的技术提升。**

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

了解AIDE(3课) 本来以前做PyS60教程是没有介绍开发工具这一节的,由于AIDE专业名词很多,且无可用汉化版(其实汉化版在论坛上是有的,但汉化组们汉化的AIDE由于破坏了软件原有的签名,虽然安装之后可以打开,但写的程序无法run运行,这个大家可以去试试。。) 这里,我开始向大家介绍AIDE的使用和功能,有些截图是截的汉化版的,方便大家对照。 进入主界面如下图: 有的手机第一次打开AIDE时会提示新建一个android项目,可以点不。如上图,点击电脑图标后,会弹出出AIDE的工作区,如下图: 默认工作区弹出的内容是AIDE的项目文件管理器,值得一提是AIDE的项目文件管理器的默认文件目录是在sd卡下的AppProjects目录下的,新建安卓项目最好新建在这个目录下。 工作区里的内容或者说功能可以通过手机菜单键>More(更多)进行切换,More(更多)的内容如下图: 为了防止AIDE以后有更多功能,图片不好对照。下面我给出常用的英文翻译对照: 1、主菜单 Files-->文件夹 GoTo-->跳转 Forward-->前进 Save-->保存 Run-->运行 More-->更多 . 2、More(更多) Go Premium!-->无用的,不管 Show Errors -->显示错误 Show Search Results-->显示搜索结果 Show LogCat-->显示LogCat Show File Location-->显示文件位置 Show Open Files-->显示打开的文件夹 Search in Files-->在文件中搜索 GoTo Class-->跳转到类 GoTo Line-->跳转到行 Export APK-->导出APK Refresh Build-->刷新工程 Refresh Code Analysis-->刷新代码分析 Close Project-->关闭工程 Community-->社区(跳转网页)SDK Help-->社区(跳转到android官方开发帮助) Settings-->设置 Exit-->退出 . 我希望大家在编写第一程序之前先好好的了解一下的我们的开发工具AIDE,还好很多没翻译到的地方可以自己摸索一下,好了,这一节就到这里。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值