《Google Android开发入门与实战》
《Google Android开发入门与实战》序2007年11月Google推出了开放的Android平台第1章掀起你的盖头来—初始AndroidAndroid是基于Java并运行在Linux内核上的操作系统,这个系统是轻量级的,但是功能很全面。“开放手机联盟”open handset alliance,google组建的共同开发名为Android的开放源代码的
《Google Android开发入门与实战》
序
2007年11月Google推出了开放的Android平台
第1章掀起你的盖头来—初始Android
Android是基于Java并运行在Linux内核上的操作系统,这个系统是轻量级的,但是功能很全面。
“开放手机联盟”open handset alliance,google组建的共同开发名为Android的开放源代码的移动操作系统。
2007年11月12日发布第一版Android SDK。
2008年10月21日,Android被宣布开放源代码。
第2章工欲善其事必先利其器—搭建Android开发环境
JDK、Android SDK、eclipse、ADT插件
第3章清点可用资本—Android SDK介绍
第4章赚钱的市场—Android Market及应用发布
2008年8月28日,Google公司透露将要推出新一代网上平台Android Market,并将其定位为开放的内容分享系统。
什么是APK文件?APK是Android Package的缩写,即Android安装包。
Android Market要求发布的应用必须是经过签名的,生成签名文件有两种方式,一种是使用命令行方式,另一种是借助ADP插件生成签名文件。
第5章千里之行始于足下—第一个应用Hello World
在Android当中基本上所有的UI都是由View或者View的子类实现的。
第6章磨刀不误砍柴工—Android应用程序结构介绍
Android作为一个移动设备的开发平台,其软件层次结构包括了一个操作系统(OS)、中间件(MiddleWare)和应用程序(Application)。
应用程序、应用程序框架:Android本身提供了桌面、联系人、电话、浏览器等众多核心应用。普通开发者可以使用Android核心应用程序使用的系统API。
库和运行环境:系统C库等等..
Android的核心系统服务依赖于Linux2.6内核,如安全性、内存管理、进程管理、网络协议栈和驱动模型。
一般来说Android程序主要由4部分组成:Activity、Broadcast Intent Receiver、Service、Content Provider。
Activity:一般代表手机屏幕的一屏,如果把手机比作一个浏览器,那么Activity就相当于一个网页。在activity当中,我们可以添加一些View,并且可以对这些View做一些事件的处理。多个Activity之间相互跳转有可能有返回值。Activity是由Android系统进行维护的,它也有自己的生命周期,即它的一个产生、运行、销毁的一个周期。
通过Intent我们可以在多个Activity之间进行跳转。
Broadcast Intent Receiver:可以使用BroadcastReceiver来让应用对一个外部的事件做出响应。
Service:是一种程序,它可以运行很长的时间,但是它却没有用户界面。
工程目录:
src:源文件存放目录;
res:这个目录主要放置应用用到的资源文件;分3个目录进行存放。
drawable:放置应用用到的图片资源;
Layout:放置用到的布局文件;
values:放置字符串(string.xml)、颜色(colors.xml)、数组(arrays.xml);
AndroidManifest.xml:相当于应用的配置文件。在这个文件里边,必须声明应用的名称,应用所用到的Activity、Service、以及receiver等。
第7章良好的学习开端—Android基本组件介绍
视图组件View:是Android当中最基本的UI类;
视图容器组件Viewgroup:作用就是View的容器,它负责对添加进Viewgroup的这些View进行布局;
布局组件Layout:是Viewgroup的实现类;
布局参数LayoutParams:决定View在Viewgroup中的位置;
setContentView(R.layout.main)负责当前的Activity与main.xml文件相关联。
LinearLayout:子元素按垂直或水平方向排列;
FrameLayout:好比一块在屏幕上提前预定好的空白区域;
RelativeLayout:相对布局类;
语法:
Android:id定义组件的id;
Android:layout_width定义组件的宽度,wrap_content(仅仅包裹住内容)fill_parent(填充父容器)
Android:layout_height定义组件的高度
Android:background=“@drawbale/blue”定义组件的背景
Android:padding=“10dip”,dip的意思是依赖于设备的像素,padding表示填充,margin表示边距
Android:layout_below=“@id/label”放在id为label的组件下方
Android:layout_alignParentRight=“true”和父容器的右边齐平
Android:layout_marginLeft=“10dip”左边距
Android:layout_toLeftOf=“@id/cancel”设置此组件在id为cancel的组件的左边
Android:layout_alignTop=“@id/cancel”设置此组件和id为cancel组件的高度齐平
LayoutInflater:这个类用来将XML的布局文件变成一个VIew的类。
TableLayout:是一种表格式的布局;
TableRow:定义了表格布局里的一行;
添加一个Activity,在onCreate方法中关联相应的xml布局文件,在AndroidManifest.xml文件中添加Activity的申明;Activity之间的切换通过Intent来进行;
ScrollView视图组件:直接在LinearLayout外面再增加ScrollView组件即可;
@符号:这个符号提示XML文件的解析器应当对@后的名字进行解析,例如@string/button1,那么解析器会从values/string.xml里边读取button1这个变量的值。
Android应用的灵魂—Intent和Activity
Intent:是一次即将操作的抽象描述;
Intent的作用有3种:
(1)启动一个新的Activity并且可以携带数据;
(2)通过Intent来启动一个服务(Service);
(3)通过Intent来广播一个事件。
Bundle:是一个类型安全的容器,它的实现其实就是对HashMap做了一层封装。
Activity传递数据,传名值对:intent.putExtra(“activityMain”,”要传递的数据”); startActivityForResult(intent,REQUEST_CODE);
获取数据:Bundle extras = getIntent().getExtras(); if(extras != null){data = extras.getString(“activityMain”);}
startActivityForResult()和onActivityResult()可以被认为是一组异步的远程调用,可以获取新的Activity的返回值。
ListAdapter:ListAdapter继承于Adapter,它是ListView和其里边的数据的适配器。
ArrayAdapter:是ListAdapter的一个直接子类,它是一个数组和ListView之间的桥梁。
Android系统默认的布局方式:通过Android.R.layout.XX来进行定义。
SimpleAdapter:通过它可以让ListView当中的每一项里边的内容更加个性化,它是ArrayList和ListView的桥梁,ArrayList的每一项都是一个Map<String,?>类型。
Dialog类:是一切对话框的基类。
第8章移动信息仓库—Android的数据存储操作
桌面系统的文件是所有软件公用的,而Android的应用软件数据是该应用软件所私有的。
几种存储方式:
(1)SharedPreferences对象
(2)文件存储
(3)SQLite存储:SQLite是Android所带的一个标准的数据库,它支持SQL语句,它是一个轻量级的嵌入式数据库。
(4)Content Provider暴露自己的数据,其他应用通过ContentResolver获取数据
(5)网络存储
第9章我来“广播”你的“意图”—Intent和Broadcast面对面
Intent定义:一个Intent就是一次对将要执行的操作的抽象描述。具体有3种形式:
(1)通过startActivity方法来启动一个新的Activity;
(2)通过broadcast Intent机制可以将一个Intent发送给任何对这个Intent感兴趣的BroadcastReceiver;
(3)通过startService(Intent)或bindService(Intent,ServiceConnection,int)来和后台的Service进行交互。
通过sendBroadcast来广播Intent,通过注册Broadcast Receiver来监听Intent。
第10章一切为用户服务—Service应用实例
从字面理解Service的意义是服务,它是在后台运行,不可交互的一个东西。它跟前面讲解的Activity级别差不多,但是它不能自己运行,需要通过某一个Activity或者其他Context对象来调用,如Context.startService()和Context.bindService()两种方式启动Service。
Service的生命周期方法比Activity要少一些:只有onCreate、onStart、onDestroy。
(1)通过startService启动:调用者退出service不会退出
(2)通过bindService启动:调用者退出service一起退出
Android系统中已经有很多自带Service了,例如常见的AlarmService、GPS Service等。
第11章循序渐进—开发Android应用的基本步骤
(1)实现UI
(2)数据操作和存储
(3)实现多页面跳转
(4)增加Service
(5)完善细节,如AndroidManifest.xml
第12章 Android综合案例一 —RSS阅读器实例
RSS是一个网络站点用来和其他站点之间共享内容的一种简易方式。RSS是基于文本的格式,它是XML的一种形式。
SAX的全名是Simple API for XML,同DOM一样也是一个访问XML文档的接口。
第13章 Android综合案例二 —基于Google Map开发个人移动地图
第14章 Android综合案例三 —基于Android的豆瓣网(Web 2.0)移动客户端开发
第15章 Android综合案例四 —在线音乐播放器
第16章 Android综合案例五 —手机信息查看助手
第17章芝麻开门—Android底层开发和移植概述
更多推荐
所有评论(0)