AIDE手机编程初级教程(零基础向) 3.2.1 设计欢迎页(主体)

第三章 优化小游戏

系列教程导航


3.2 设计欢迎页

3.2.1 主体部分


文章目录




封装

    这一部分和本节内容其实关系不大。不过,我在之后的文章中,也许都会安排这样的一个部分。安排它的目的,是慢慢地讲解小游戏的代码中大家不明白的地方,这样相比于专门拿一篇文章来讲会轻松一些。

    大家也许发现了,我在写小游戏的时候,一些函数前面加了修饰符private。private的意思是私有。那么,我为什么要加上这个呢?

    这个问题涉及到Java中封装的知识。封装,其实就是把一个对象的属性和各种细节全部隐藏,对外只提供一些公共的访问方式。这就好比一辆车(它就是一个对象),它内部的零件基本上都是隐藏起来的,我们只能通过方向盘、油门这些公共的访问方式来对它进行操作。

    那么,封装有什么好处呢?还是想想那辆车吧。假设车的内部结构是完全暴露的,那么当我们开车的时候,就会看到下面的气缸在不断上下滑动等等景象……这是多么可怕的景象。所以,封装可以将变化隔离。比如一个对象,里面可能有很多属性,并且在不断变化,而这些有时没有必要让其他人知道。但是,我们可以把它们私有化,这样别人就无法查看了。

    其次,假设一辆车的内部结构真的是完全暴露的,我们使用起来不仅会很不方便(你需要操控这众多的零件),而且会很不安全。因为零件是完全暴露的,所以一不小心就可能把某个核心零件给弄坏了。所以说封装还可以使对象便于使用,并提高安全性

    事实上,函数也有封装的功能。其实在2.4那一节我提到过,大家可以再去回顾一下。函数的重要作用之一就是可以实现代码的复用。也就是说,一段代码可以随意地多次重复调用。这就体现了封装的又一作用:提高重用性

    所以,我们使用封装,就是为了把不需要对外提供的内容隐藏起来。很多时候,我们会把属性隐藏,如果需要外部操作这些属性的话,我们就提供一些公共的函数来访问它们。




欢迎页

    说完了封装,我们进入今天的正题。很多软件刚打开的时候,并不是立马转到程序的主页,而是先在某个欢迎页停留一小会,然后再跳转到程序的主页。这样的话,程序就可以利用这段时间进行初始化,并且向用户展示一些内容。

    今天,我们就来为我们的小游戏实现欢迎页面。为了更好地讲解,我首先介绍一下activity

    activity,意为“活动”,是Android应用的重要组件之一。它就像是一个容器,里面可以装各种组件,然后和用户进行交互。举个例子,如果我们来开发一个“QQ”,就可以编写很多个activity。欢迎页是一个activity;进入了主页,是另一个activity;打开了空间,又是另一个activity……不同的activity有相当不同的内容,这样就可以实现不同页面的切换。

    猜数字小游戏里面,有一个MainActivity.java。事实上,它就是一个activity。我们之前编写的内容都是在这个activity上面展现的。

    了解了activity之后,我们就可以开始着手设计一个欢迎页了。只需要新建一个activity,作为欢迎页,然后使程序打开之后首先进入这个activity,等待几秒钟过后再跳转到游戏界面的activity。

    创建一个activity的过程如下:首先,新建一个java文件,注意首字母需要大写。

在这里插入图片描述



在这里插入图片描述



在这里插入图片描述

    接着,我们在类名后面加上这么两个词:

在这里插入图片描述



在这里插入图片描述

    这样,Welcome类就变成了一个activity。至于原因,这里涉及到了java中继承的知识,我将会在之后的文章进行讲解,此处不必深究。

    由于activity是Android应用的重要组件之一,我们在添加新的activity的时候,需要到Manifest.xml文件进行注册。(关于Manifest.xml文件,我在这篇文章大致提到过。)

在这里插入图片描述




在这里插入图片描述

    其中,下面这几行代码就定义了一个activity。这个activity是程序第一个执行的activity,也就是游戏主页的activity。为了实现程序首先打开的是欢迎页的activity,我们把它的名字进行修改,具体地说就是改android:name这一行

在这里插入图片描述

    最后,我们新建一个activity,也就是游戏主页的activity。

在这里插入图片描述

    完成activity的注册之后,我们回到Welcome.java。我们需要写下这样的一个函数:

在这里插入图片描述



在这里插入图片描述

    这个函数,就是大家曾经在MainActivity.java里面见过的onCreate()函数了。接下来,我们来设计欢迎页的界面。大家还记得吗?设计界面的话需要编写xml文件。所以,我们转到这个目录下:

在这里插入图片描述

    点击新建XML文件...,然后创建一个xml文件即可。文件名不必大写。

在这里插入图片描述

    然后,我们想一想需要在里面加上什么内容。简单起见,我们就放一张图片。我们不妨直接把这张图片设为LinearLayout的背景。

    图片文件需要放在drawable目录下。关于四个drawable文件夹的区别,大家可以回顾一下这篇文章,或者上网搜索。这里我随便选了一张图片,并放在了drawable-mdpi目录下。注意图片的大小要和屏幕相适应,不然的话,可能会出现比例不对的情况。

在这里插入图片描述

    然后,我们打开刚才创建的xml文件,然后点击右上角的有点像是图片的按钮,点中间的虚线框,找到Background

在这里插入图片描述

    选择之后,点击Drawable...

在这里插入图片描述

    然后,选择我们刚才添加的图片。

在这里插入图片描述

    成功添加背景:

在这里插入图片描述

    点击返回,我们发现xml文件中多了这样的一行:

在这里插入图片描述

    xml文件的编写就完成了。是不是特别简单!

    接下来,我们转到Welcome.java:

在这里插入图片描述

    仔细思考一下,我们现在需要写什么。首先,我们需要把刚刚的xml布局文件加载到这个activity里面;然后,我们需要计时,达到指定时间的时候,就跳转到游戏主页的activity。

    接下来,我们依次完成这几个目标。

    加载xml布局文件:

在这里插入图片描述



在这里插入图片描述

    计时的话,我们可以使用Handler对象。Handler对象有这样的一个方法(方法就是函数):postDelayed(),它接受一个Runable对象和一个数字(作为时间)。其中,Runnable对象就是一个线程,我们将会在日后学习,此处不是重点。现在大家可以这样理解:执行一个程序就像是给一个水池排水,为了让几股水同时排出,我们多开几个口子,这样就有多股水同时排出了。这里的多股水流就有点像是java中的多线程。

    postDelayed()函数的执行过程大概是这样的:首先根据接收的时间参数,暂时停止程序的执行,然后开启接收的线程。当然,我们会在这个新的线程里面写上跳转到游戏主页的代码。

    首先,创建一个Handler对象:

在这里插入图片描述

    然后调用handler对象的函数:

在这里插入图片描述

    这里需要注意,时间的单位是毫秒。所以说,3000其实代表的是3秒。

在这里插入图片描述

    这里,我们使用new关键字创建了一个Runnable对象,并在里面定义了一个函数。这和之前我们在给按钮绑定监听器的时候一样。其实,这种对象叫做匿名对象。我们并没有把这个对象“存储”到某个变量里面,而是将它直接当做一个参数传递给了一个函数。这其实是定义对象的一种简写格式,毕竟我们之后都不需要使用到这个对象了。大家了解即可。

    好了,现在我们已经完成计时的操作了。当程序执行到postDelayed()方法时,就会暂停3秒,然后执行run()方法。

    最后,我们来实现activity的跳转。为了达到目的,我们需要使用到Intent对象。更加具体地说,我们是用startActivity()方法来实现activity的跳转,而Intent对象只是记录了跳转前后的activity,这样程序才知道到底应该如何进行跳转。

在这里插入图片描述

    这里我们在创建对象的同时,向它传入了两个参数。我会在下一篇文章进行详细解释这么做的原因。

    最后一步,执行startActivity()方法进行activity的跳转。跳转之后我们需要把这个欢迎页的activity关闭,使用finish()方法。

在这里插入图片描述



在这里插入图片描述

    至此,我们的欢迎页就已经做好了。大家可以尝试运行一下自己的小游戏。

*




后记

    关于本节所讲的欢迎页设计,大家现在是不是已经学会了呢?是不是有点内味了!(。>∀<。)本篇文章虽然看起来很长,但是真正写成代码其实也就一点点而已。希望大家都可以好好地理解本节所讲的activity等知识!

感谢你的阅读!本教程会长期不定时更新。本人不是大神,也会犯错,如果有建议或者提问的话,欢迎评论留言!

作者头像

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
了解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,还好很多没翻译到的地方可以自己摸索一下,好了,这一节就到这里。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值