第二章:Android 与 MVC 设计模式
MVC:
M 模型对象,存储着应用的数据和业务逻辑,模型对象不关心用户界面。Android应用里面的模型通常就是我们自己创建的定制类。
V 视图对象,知道如何在屏幕上绘制自己已经如何响应用户的输入和触摸(反正凡是能子啊屏幕上看见的对象,就是视图对象)
C 控制对象,是视图和模型的联系纽带,控制对象响应视图对象触发的各类事件,此外还管理者模型对象与视图间的数据流动。
C 通常是Activity、Fragment或Service的一个子类。
注意:模型对象与视图对象不直接交互,
使用MVC的好处:有助于我们设计和理解应用,我们就可以按照层而非一个个类来考虑设计开发了。也可以让类的复用更加容易,相对于多而全的类,功能单一的专用类更加有利于代码复用。
private Question[] mQuestionBank = new Question[] {
// 多次调用Question类的构造方法,来创建一个Question的对象数组
new Question(R.string.question_oceans, true),
new Question(R.string.question_mideast, false),
new Question(R.string.question_africa, false),
new Question(R.string.question_americas, true),
new Question(R.string.question_asia, true),
};
private int mCurrentIndex = 0;
2.5 在设备上运行应用
如果是在Mac系统上开发,那么系统会立即识别出所用设备。如果是Windows系统,则可能需要安装adb(Android Debug Bridger)驱动(我的Mac电脑,连接上Android手机,直接提示可以允许调试即可)
1、配置设备用于应用开发:
首先需要打开设备的USB调试模式:
Android4.2及之后设备,开发选项默认不可见(设定 -> 关于平板/手机 -> 通过点击版本号7次启用它,然后回到“设定”,选择“开发”,找到并勾选“USB调试”
Android4.0或4.1版本,(设定 -> 开发,找到并勾选“USB调试”)
Android4.0或以前版本,(设定 -> 应用项 -> 开发,找到并勾选“USB调试”)
2.6 添加图标资源
拿到图标之后,找到并打开02_MVC/GeoQuiz/app/src/main/res目录,在该目录下,可以找到drawable-hdpi、drawable-mdpi、drawable-xhdpi和drawable-xxhdpi四个目录,四个目录各自的后缀名代表设备的像素密度。
mdpi:中等像素密度屏幕(约160dpi)
hdpi:高像素密度屏幕(约240dpi)
xhdpi:超高像素密度屏幕(约320dpi)
xxhdpi:超超高像素密度屏幕(约480dpi)
(有可能还有ldpi低像素密度和xxxhdpi)
Android操作系统知道如何为不同设备提供最佳匹配。在运行时,Android操作会自动找到可用的图片资源并进行适配。但是安装包的容量也随之增大。
2.6.1 向项目中添加资源
确认打开了Project视图,展开app/src/main/res目录,如果没有drawable目录,则需要我们手动创建,右键res,选择New -> Directory,输入drawable-mdpi,同理,再创建其他hdpi xhdpi xxhdpi即可。然后将对应的文件复制到对应的drawable目录中即可
任何添加到res/drawable目录中的文件后缀名为.png或.jpg或.gif都会自动获得资源ID
引用该资源:android:drawableRight@drawable/arrow_right
android:drawablePadding=“4dp”
@string/开头的定义是引用字符串资源,@drawable/开头是引用drawable资源。
可以使用Fn+Control+F12或者Ctrl+F12实现旋转
网友评论