![Android项目实战:手机安全卫士](https://wfqqreader-1252317822.image.myqcloud.com/cover/676/31728676/b_31728676.jpg)
1.3 主界面
当打开一个应用时,首先会显示欢迎界面,然后跳转到程序主界面。主界面的作用就是展示当前应用的基本功能以及界面风格。本小节将针对程序主界面的开发进行详细讲解。
1.3.1 主界面UI
从功能展示界面可以看出,主界面分为上下两部分:上部分放置一个安仔图标以及一行文字;下部分用GridView(九宫格的形式)放置9个功能图标及功能文字。主界面的图形化界面如图1-17所示。
图1-17所示主界面对应的布局文件如【文件1-7】所示。
【文件1-7】activity_home.xml
![](https://epubservercos.yuewen.com/42DD75/17180239704450606/epubprivate/OEBPS/Images/img00032003.jpg?sign=1739528763-ITjgYNI3pzIIAObYNzcwSN55O4TDSGZJ-0-3dbde7fda90384c9eb28ab713985a2dd)
![](https://epubservercos.yuewen.com/42DD75/17180239704450606/epubprivate/OEBPS/Images/img00032004.jpg?sign=1739528763-T4tE4zNntIdkP8TwNWRsNXSfnk4UYUuY-0-dbd98219b199f14cf27ad5fe5cd85d4c)
图1-17 主界面
![](https://epubservercos.yuewen.com/42DD75/17180239704450606/epubprivate/OEBPS/Images/img00033001.jpg?sign=1739528763-F1N7UV7mXh1TNxn3Sg5w3oGvVt5eTHzo-0-2762bfddc9cba00c4e334abe85c3b187)
![](https://epubservercos.yuewen.com/42DD75/17180239704450606/epubprivate/OEBPS/Images/img00034001.jpg?sign=1739528763-zTqFd1NxaqHpclGAhoTL4BwldqKE37wq-0-232681ceb27944ada4eae170faa3625f)
在上述布局文件中,使用了一个GridView控件,该控件是一个二维的ViewGroup,通过它可以在界面中展示九宫格效果。
1.3.2 主界面Item布局
由于主界面的GridView有9个Item,每个Item的格式都是一样的,都由一张图片和一个标题组成,因此可以创建一个Item布局为GridView设置每个条目数据,Item布局的图形化界面如图1-18所示。
图1-18中Item所对应的布局文件如【文件1-8】所示。
![](https://epubservercos.yuewen.com/42DD75/17180239704450606/epubprivate/OEBPS/Images/img00034002.jpg?sign=1739528763-gXMxojdWCTIzvYdqDyXDSElPFKuyWIZ7-0-c6ba65f508abb97c67c270fb25fb1453)
图1-18 Item布局
【文件1-8】item_home.xml
![](https://epubservercos.yuewen.com/42DD75/17180239704450606/epubprivate/OEBPS/Images/img00034003.jpg?sign=1739528763-b2F85NJSqvpeAqgKip3oGFmiLZhmzKyI-0-19d8fe392d55b153dff70fa702e38416)
1.3.3 数据适配器
主界面的Item布局创建好之后,要想将这个Item中的功能图标以及文字填充到主界面中,还需要创建一个布局填充器HomeAdapter,具体代码如【文件1-9】所示。
【文件1-9】HomeAdapter.java
![](https://epubservercos.yuewen.com/42DD75/17180239704450606/epubprivate/OEBPS/Images/img00035001.jpg?sign=1739528763-WZj33mCGm6960HNRmHwzxi00KE9isCVU-0-177d6d4eb689dd6349ad5db5907b856d)
1.3.4 主界面逻辑
主界面中的Item布局以及HomeAdapter都已实现,接下来编写对应的HomeActivity。该程序用于加载主界面布局,并将功能图标及文字展示到主界面中,同时将跳转页面的点击事件实现。具体代码如【文件1-10】所示。
【文件1-10】HomeActivty.java
![](https://epubservercos.yuewen.com/42DD75/17180239704450606/epubprivate/OEBPS/Images/img00036001.jpg?sign=1739528763-tfq8xLWZZ2L3N5vkwTtMLaTUcIRTy389-0-ec0e6f58de1ed5a64818ab0613f0de1b)
![](https://epubservercos.yuewen.com/42DD75/17180239704450606/epubprivate/OEBPS/Images/img00037001.jpg?sign=1739528763-blpv47xWoU7dWatZq6o2toxcUdpJN20P-0-69883ada92c0d943245babe8f49b454d)
![](https://epubservercos.yuewen.com/42DD75/17180239704450606/epubprivate/OEBPS/Images/img00038001.jpg?sign=1739528763-KAoSlSbU5q2WOpQeT8ho1IsNh3dXoihn-0-944fdf3409df469b5189fd7576751a9b)
代码说明:
●第11~12行代码获取GridView控件,并为该控件设置Adapter填充数据。
●第14~55行代码为GridView控件注册条目点击的监听事件,当点击每个条目时,相应的模块会响应点击事件。暂不使用的功能可以将其注释,这里只是为了方便大家观察代码。
●第61~64行的startActivity()方法用于开启新的Activity,在点击每个功能图标进行界面跳转时调用。将这段代码单独作为一个方法,可以大大简化代码量,在页面跳转时直接传入相应的Activity即可。
●第69~80行的onKeyDown()方法用于实现按两次返回键退出程序,在Android应用中经常要判断用户对返回键的操作,一般为了防止误操作,都是在用户连续按两次返回键时才退出程序。通常情况下,实现该功能时先记录上次点击的时间,然后与本次点击的时间进行比较,当两次时间间隔小于某个值时,退出程序,否则提示“再按一次退出程序”,同时更新上次点击时间。
注意:在Android系统中,四大组件在使用时都需要在清单文件中进行注册,考虑到代码量的问题,在后面开发中关于Activity注册的代码将被省略,大家在编程时自行添加即可。