书籍详情

Android UI设计

Android UI设计

作者:李维勇 主编 杜亚杰 张以利 陈宇 参编

出版社:机械工业出版社

出版时间:2015-04-01

ISBN:9787111488552

定价:¥59.00

购买这本书可以去
内容简介
  《Android UI设计》通过众多案例深入解读Android UI设计的方法和技巧,从实用角度出发,诠释以用户为中心的设计方法。以Google设计语言Material Design指导UI设计模式,轻松自信地设计和交付精美的移动App
作者简介
  第1章Android开发基础1.1 Eclipse中的Android开发Eclipse是著名的跨平台开源集成开发环境,对开发Android应用提供了良好的支持。1.1.1 创建项目在Eclipse中创建Android项目的步骤如下:①启动Eclipse集成开发环境。②运行File→New→Android Application Project菜单命令,打开New Android Application向导,显示如图1-1所示界面。在New Android Application向导中输入如下信息:Application Name:HelloWorldProject Name:HelloWorldPackage Name:com.liweiyong.helloworld(包的名称必须和所有安装在Android系统中的应用程序的包名不相同)其他默认选择如下:Minimum Required SDK:API 14Target SDK:API 18Compile With:API 19Theme:Holo Light with Dark Action Bar③单击Next按钮,默认Conf?igure Project设置和Conf?igure the attribute of the icon set界面设置,选择BlankActivity,单击Finish按钮,完成Hello World项目的创建。图1?1 New Android Application向导1.1.2 创建AVDAndroid Virtual Device(简称AVD)是运行Android项目的虚拟设备。AVD通过对硬件和软件的配置进行定义来模拟一个实际的设备。1.?创建SD Card映像文件Android模拟器自身已经具备了一个持久化存储空间,但这并不够大,有时需要为应用程序和文件提供更大的存储空间。为了在模拟器上开发使用扩展存储空间的程序,需要在PC上模拟一个SD Card(Secure Digital Memory Card,一种基于半导体快闪记忆器的新一代记忆设备)的虚拟文件,然后加载到模拟器中。创建SD Card虚拟文件的步骤如下:①在Windows中,运行“开始”→“运行”菜单命令,在打开的“运行”窗口中输入“cmd”并单击“确定”按钮,打开命令行窗口。②在窗口中输入如下命令:mksdcard -l mycard 500M C:\\mysdcard.img该命令的含义是在本地磁盘C盘创建一个500 MB大小的映像文件mysdcard.img。此时,查看C盘可以看到一个名称为mysdcard.img的文件。2.?创建AVD并关联SD Card在Eclipse中创建AVD并关联SD Card的步骤如下:①在Eclipse中,运行Window→Android Virtual Device Manager菜单命令,打开Android Virtual Device Manager对话框。单击对话框中的New按钮,弹出如图1-2所示的创建AVD对话框。在AVD Name文本框中输入AVD的名称(可以自定义)。Device用于设置模拟器的尺寸和分辨率。SDK提供的常见分辨率(sdk\platforms\android-#\skins\)包括:HVGA(320×480)、QVGA(320×240)、WQVGA400(400×240)、WQVGA432(432×240)、WVGA800(800×480)、WVGA854(854×480)和WXGA(1280×800)等。在Target中选择需要的SDK版本(平板电脑开发的最低版本是Android API 11)。SD Card的大小可以自定义输入数值;也可以选择File单选按钮后,单击Browse按钮,在打开的对话框中选择前面创建的SD Card映像文件。其他默认设置即可。②单击OK按钮,完成AVD的创建。1.1.3 运行项目下面介绍在Eclipse中运行Android项目的方法,步骤如下:①在Eclipse的项目窗口中,右击项目节点名称HelloWorld,运行Run as→Run Conf?igurations菜单命令,打开Run Conf?igurations对话框。②在对话框的左侧选择Android Application,并单击上方的New launch conf?iguration按钮,在右侧的Android标签页中单击Browse按钮,打开Project Selection对话框,选择HelloWorld项目,如图1-3所示。图1?3 Run Conf?igurations对话框——选择项目③在对话框的Target标签页中的AVD列表中勾选合适的Android模拟器,如图1-4所示。单击Apply和Run按钮,运行程序。图1?4 Run Conf?igurations对话框图1-5显示了项目的运行结果。图1?5 项目运行结果1.2 Android项目架构在Eclipse的Package Explorer窗口中展开HelloWorld项目,项目架构如图1-6所示。一个Android工程包含了组成Android应用的所有源代码文件。Android工程主要由src、gen、assets、res文件夹和AndroidManifest.xml等文件组成,下面分别对其进行解析。1.2.1 Java代码解析Android项目的Java代码主要存放在src文件夹和gen文件夹的包文件夹下。1.?MainActivity解析src文件夹用来存放项目的源代码。在Package Explorer窗口中,展开项目的src文件夹,打开通过向导生成的MainActivity.java,核心代码如下:01 public class MainActivity extends Activity {02 03 @Override04 protected void onCreate(Bundle savedInstanceState) {05 super.onCreate(savedInstanceState);06 setContentView(R.layout.activity_main);07 }08 09 @Override10 public boolean onCreateOptionsMenu(Menu menu) {11 getMenuInflater().inflate(R.menu.main, menu);12 return true;13 }14 15 }01行的MainActivity是一个用户定义的Activity,继承自android.app.Activity类。Activity是应用程序的表示层,用于构建应用程序的UI界面。关于Activity的使用方法将在第3章介绍。03~07行重载的onCreate(Bundle)方法是Activity生命周期的组成部分,用于初始化Activity。例如界面的显示内容通过调用setContentView()方法来指定显示布局,如activity_main.xml。然后通过f?indViewById(int)方法在布局中检索需要交互的UI控件。04行的Bundle类用于Activity之间传递数据。该类提供了公有方法containKey(String key),如果给定的key包含在Bundle的映射中,则返回true,否则返回false。该类实现了Parceable和Cloneable接口,所以它具有这两者的特性。05行的super.onCreate(savedInstanceState)方法的作用是调用父类中的onCreate()方法来实现对界面的绘制工作。注意,从savedInstanceState中读取保存到存储设备中的数据时,需要判断savedInstanceState是否为null,因为Activity第一次启动时并没有数据被存储在设备中。有关savedInstanceState的介绍参见3.4.4节。09~13行的onCreateOptionsMenu(Menu)方法是Activity中提供的用于创建菜单项的回调方法。通过其中的getMenuInflater().inflate(int,Menu)方法加载res/menu中定义的菜单资源。onCreateOptionsMenu(Menu)方法通常和OnOptionsMenuSelected(MenuItem)回调方法配合使用,以响应菜单的选择事件。2.?R. java解析打开gen/com.liweiyong.helloworld中的R.java文件,部分代码如下:01 /* AUTO-GENERATED FILE.DO NOT MODIFY.02*03* This class was automatically generated by the04* aapt tool from the resource data it found.It05* should not be modif?ied by hand.06*/07 08 public f?inal class R {09 public static f?inal class array {10 public static f?inal int action_f?ile=0x7f040005;11 ...12 }13 public static f?inal class layout {14 public static f?inal int activity_main=0x7f030000;15 }16 ...17 }程序的第01~06行为注释说明,R.java文件由aapt工具根据res中的资源自动生成,不要手动修改该文件。R.java由ADT根据res中的资源自动生成drawable、layout、string等静态匿名内部类。不同的静态内部类分别根据其res中的资源定义一系列资源标识符,如“public static f?inal int activity_main =0x7f030000;”对应的是layout目录下的activity_main.xml文件。每当res中的资源发生变化,aapt工具都会自动在R.java对应的内部类中生成一个静态int类型的常量,以对新添加的资源进行索引。如果从res中删除一个资源,R.java中对应的索引也会自动删除。通过R.java可以很快地查找需要的资源,另外编译器也会检查R.java列表中的资源是否被使用,没有被使用到的资源不会编译进apk中,这样可以减少应用在手机中占用的空间。3.?BuildConf?ig.?java解析打开gen/com.liweiyong.helloworld中的BuildConf?ig.java文件,代码如下:01 /** Automatically generated f?ile. DO NOT MODIFY */02 package cn.liweiyong.helloworld;03 04 public f?inal class BuildConf?ig {05 public f?inal static boolean DEBUG = true;06 }ADT允许开发者只在调试模式下运行某些代码。BuildConf?ig类包含一个DEBUG常量,该常量会根据Build类型自动设置值。可以通过BuildConf?ig.DEBUG常量来编写只在Debug模式下运行的代码。如果有些代码不想在应用发布后执行,也可以使用该功能。
目录
《Android UI设计》是基于Android KitKat平台进行移动应用开发的入门级教程,通过众多开源案例项目全面系统地介绍Android UI设计的方法、技巧和模式。
全书共12章,从Android应用设计者的角度系统讲解了从事Android UI设计必须要掌握的Android平台的所有技术和特性,主要内容包括可视化的UI设计与管理、常见UI控件设计与事件处理、UI容器与导航设计、菜单与对话框设计、自定义控件设计、桌面UI设计、平板UI设计,以及主题样式和动画设计等,全面总结了Android UI的设计原理、设计理念和设计模式,最后通过一个综合的案例项目阐述Android UI设计的方法和技巧。
本书以案例贯穿全程,知识结构清晰,语言简洁,易于学习和提高,非常适合初学Android UI设计的在校大学生和希望系统掌握Android UI编程的开发人员阅读。
猜您喜欢

读书导航