01-01-Android平台一日游
1,观赏Android的全景地图:
给出了Google官方发布的Android的4层结构图。最底层为Linux
Kernel(主要一些与硬件相关的最底层的操作,比如各种驱动,内存管理,进程管理等),第二层为Libraries和Android
runtime(Library是一堆由C/C++编写的基础库,Android主要包括一个Dalvik虚拟机和core
libraries),第三层是application
framework(顾名思义是各种的框架,用于对第四层的应用提供接口和进行管理),最高层是applications(就是平常呢些直接和手机用户进行交互的东西)。
2,Android
VS Iphone
大致地介绍了两个手机操作系统平台之间的差异和两个公司之间的敌对关系。
3,Android常用组件(四大天王)
Activity:最漂亮,门面功夫要做足。
Intent:最牛力,运输数据全赖他。
Service:最低调,后台服务看不到。
Content
Provider:最博学,数据存放集中地。
4,Android开发工具
常用IDE:Eclipse(配上插件ADT)
开发工具包:Android
SDK(2010.12.06发布了2.3的版本)
5,参观Android王国的金矿
大致介绍了通过Android的两种赚钱的方法:卖应用和嵌入广告。(Mars推荐第二种)
01-02-搭建Android开发环境
1,Android
SDK的安装
2,ADT的安装与配置
3,Android的模拟器配置
/***官方给出了很详细的安装文档,这里不详细展开,步骤大致如下:
(1)安装和配置JDK和JRE1.5(1.6更佳)
(2)安装带JavaSDK的Eclipse3.4或者3.5
(3)下载Android
SDK(较为准确的说法是Android
SDK download platform)
(4)在Eclipse中安装ADT插件
(5)配置Android
SDK的路径
(6)下载虚拟机和相关文档(和一些选用的功能)***/
01-03-say_hello_to_Android
1,创建一个Android应用程序的步骤
(略)
2,Android应用程序目录结构
src:short
for source,存放源代码的地方。
gen:主要就是R.java文件存放的位置。
asset:存放资源文件的文件夹,不会在R.java中自动生成对应的数据。
res:short
for resource,存放资源文件的文件夹,并在R.java里面有对应的数据。
3,AndroidManifest.xml文件的作用
每编写一个活动都需要在这里注册。
其中的<intent
filter>是区分应用启动时优先启动哪个Activity的标记。
4,Android相关文件资源的作用
提到了一个名为“键值对”的概念(XML的?要查阅相关资料了)
01-04-Activity初步
1,Activity的主要作用
2,创建一个Activity的方法
3,在AndroidManifest.xml文件当中注册应用Activity的方法
4,在Android当中添加控件的方法
/***按作者的说法是:Activity不好翻译,反正就是理解成一个与用户进行交互的界面,但是一个Activity本身只是一个近乎空白容器,要实现交互界面就需要在上面放入各种适用的控件。
一个Activity要继承Activity类,而且至少要实现onCreate()的方法。并且记得要在AndroidManifest.xml中进行注册
每个Activity一般都对应着一个layout,在layout中定义和放置控件,控件内容可以直接在xml中编写,但Mars的做法是添加id,然后在源代码中用findViewById()方法来进行引用和写入内容。(感觉在xml里面写比较方便,用着顺手就是了)***/
01-05-Activity和Intent
1,多个Activity之间的关系
2,Intent的基本作用
3,在一个Activity中启动另一个Activity的方法
4,使用Intent在Activity中传递数据的基本方法
/***可以用Intent对多个Activity之间切换(这些Activity可以在同一个应用程序当中也可以不再同一个应用程序当中)。Intent可以在Activity之间进行切换和传输数据(data或者Extras键值对)。Intent的作用不限于启动活动,Intent可以启动很多component,比如broadcast等。Mars认为Intent虽然一般被翻译成意图但确实不是太好的翻译,他目前也没有想到较好的就暂时先吧Intent看成一种请求。
原ppt:
一个Intent对象包含了一组信息:
1,Component
name 启动组件的名称(组件可以是活动啊广播啊很多)
2,Action
要求组件执行的动作(系统给除了很多参数,参看documentation)
3,Data
由原组件到新组件传输的数据
4,Category
没讲
5,Extras
也是数据,不过是键值对(什么是键值对?理解成两个字符串?)
6,Flags
没讲
***/
01-06-Android当中的常见控件
1,TextView的使用方法(显示类型文本框)
2,EditText的使用方法(可输入类型文本框)
3,Button的使用方法(按钮)
4,Menu的使用方法(菜单)
/***我在Mars操作中所注意到的东西:
(1)为所以显示类型文本框中,setText()方法中最好是在string中建立键值对并进行引用,这样有助与实现应用简化了各种语言的的翻译问题。(当然目前不认为写的应用会被翻译,不过好习惯是要提前养成的)
(2)Mars老师好会善用Eclipse强大的编辑功能,强大的快捷键比如Ctrl+Shift+O
; Alt+. ; Ctrl+1要多多使用之
(3)关于OptionsMenu的两个方法:onCreateOptionsMenus()和OnOptionsMenuSelected()
***/
01-07-Activity生命周期(一)
七个生命周期:
(1)onCreate()在Activity第一次启动的时候执行;在这里编写实现Activity的layout的代码,并添加对应的监听器。
(2)onStart()在Activity能被用户看到的时候执行
(3)onResume()在Activity能获得用户焦点的时候执行(能与用户进行交互的时候)
(4)onPause()在Activity当中启动另一个Activity的时候执行
(5)onStop()在Activity不能被用户看到的时候执行(被另外一个Activity完全覆盖)
(6)onRestart()在处于stop()状态的Activity重新启动的时候(区别于onCreate()的初次启动)
(7)onDestroy()在Activity被销毁的时候(两种情况:用户明确调用了finish()方法,或者在系统资源不足的时候系统自动清理处于后台状态的Activity)
01-08-Activity的生命周期(二)
1,Task的基本概念
2,Activity与Task之间的关系
3,对话框风格Activity的使用方法
/***
(1)Task
is a stack of
Activity.所以Task只能进行push和pop操作,内部不能进行重新排序。Android显示的始终时Task最上面的Activity。Task的一个重要意义:使Task中所以Activity成为一个整体,给用户较好的体验。
(2)如果在调用另一个Activity的时候调用原Activity的finish()方法,原Activity会被销毁(即不再在栈中)
(3)Android在系统资源不够用的时候会自动清理一些Activity,当Activity处于onPause(),onStop,onDestroy()的状态时,则有可能会被kill掉
(4)一个Activity在AndroidManifest中注册的时候,可以通过设置theme为theme.dialog的方法显示为对话框风格(就是不会完全遮挡住原Activity的那种,在实际手机应用中相当常用)***/
01-09-Activity布局初步(一)
1,LinearLayout的使用方法
2,TableLayout的使用方法
/***
大致介绍了线性和表格两种常用布局和它们在xml中的一些属性比如gravity,padding,orientation,weight,singleLine等,详细可以参看documentation
***/
01-10-Activity布局初步(二)
大致介绍了Layout的相互嵌套。(相互嵌套能够构造更加复杂和华丽的布局)
01-11-Activity的布局初步(三)
1,相对布局的基本概念
2,相对布局与其他布局的区别
3,相对布局的常用属性介绍
/***相对布局用的是跟线性或表格布局不同的布局方式,它布局采用控件的相对位置来进行设置。具体参数参看SDK或者视频***/
01-12-Android常见控件(二)
1,RadioGroup和RadioButton的使用方法
2,CheckBox的使用方法
3,Toast的基本用法
/***
大致介绍了三种控件:
RadioGroup&&RadioButton
单选框
CheckBox
复选框
toast:(吐司?感觉就是小型提示框)
A
toast is a view containing a quick little message for the user.
***/
01-13-常用控件(三)
1,ProgressBar的使用方法
2,ListView的使用方法
/***
介绍了进度条和列表视图的实现方法,这两个是比较复杂的控件,其中ListView涉及Adaptor,在使用之前要好好参看视频和SDK
Documentation
***/
01-14-Handler的使用(一)
1,Handler的基本概念
2,Handler的基本使用方法
3,使用Handler更新ProgressBar
/***
(1)A
Handler allows you to send and process Message
and Runnable objects associated with a thread's MessageQueue
.
Each Handler instance is associated with a single thread and that
thread's message queue. When you create a new Handler, it is bound to
the thread / message queue of the thread that is creating it -- from
that point on, it will deliver messages and runnables to that message
queue and execute them as they come out of the message queue.
一个Handler允许你送出或者处理Message和关联着一个线程消息队列的Runnable对象。每一个Handler实力都联系唯一一个线程和它的消息队列。当你创建一个Handler的时候,他必须绑定到那个创建它的线程的或者他的消息队列上面——从那之后,他会传递信息和Runnable到消息队列和在他们从消息对列出来的时候执行他们。(目前我理解成Handler是一个操作台,而且只能唯一绑定一个线程和它的消息队列的。)
(2)Mars老师给出的参考代码时用Handler操作一条进度条,中间涉及到了Runnable和消息队列的通信问题。通信的时候有arg1,arg2两个int类型的变量,可以减少系统的消耗。
***/
01-15-Handler的使用(二)
1,Handler与线程
2,Bundle的用法
3,在新线程当中处理小的的方法
/***
(1)在之前的例子中,如果直接用handler.post(Runnable)方法启动Runnable对象,Android默认不会创建新的线程。而是直接把Runnable的run()方法放入到主线程的之星队列当中去。
(2)如果想真正实现两个线程的并行运行,Mars老师演示了两种方法,第一种是在Java中用Thread
t = new
Thread(Runnable)和t.start()来启动新的线程。不知道出于什么样的原因(估计是这样做比较消耗内存),所以Mars老师推荐的是另外一种方法——looper,但一般不会直接创建Looper,而是使用用HandlerThread(Looper)来创建一个与Lopper关联的HandlerThread实例,然后使HandlerThread.start(),那么Looper就启动起来了,然后使用sendToTarget来触发Handler中间的handleMessage方法就可以实现线程了。(思路有点乱,具体再看视频吧)
(3)Bundle,目前理解成是一个简化的map就可以了(简化是指Bundle的键只能是字符串而且对应的值一般是primitive,而map的键值都是Object),常用于传递一捆数据。
***/
01-16-SQLite使用方法
1,SQLite介绍
2,SQLiteOpenHelper的用法
3,使用adb访问SQLite
4,增,删,改,查
/***
由于本人对数据库不太了解,而且暂时也拍不上什么用场,这节视频先跳过。
***/
01-17-调试程序
1,DDSM(Dalvik
Debug Monitor Service)的使用
2,常用程序调试方法
/***
大致学习了如何利用logcat和DDSM调试程序,DDSM视图中可以重启失去链接之后的虚拟机,以及对虚拟机进行数据导入导出工作,最牛掰的是当虚拟机连接断掉之后可以在这里重启adb来解决问题。利用logcat可以提取应用运行过程中的信息(根据重要程度分成五个档位而且向下兼容)。使用Android提供的Log.d()方法结合适当的filter可以处理条是信息。
***/
posted on 2010-12-26 10:51
level0 阅读(2535)
评论(0) 编辑 收藏 所属分类:
android日志