黑马程序员技术交流社区

标题: 【长沙校区】十年磨一剑【基哥笔记】Android基础Day06(活动) [打印本页]

作者: allen927    时间: 2015-11-15 23:29
标题: 【长沙校区】十年磨一剑【基哥笔记】Android基础Day06(活动)
本帖最后由 allen927 于 2015-11-15 23:29 编辑


同样的课程、老师、就业,更好的学习环境,更低的学习成本!
内地学员,选择长沙校区,靠谱!!!
报名热线:0731-85833115
  QQ  : 2355535415

android基础Day06(Activity)

资源总连接:http://bbs.itheima.com/thread-249703-1-1.html

《 如果感觉今天的知识点都会了,可以直接做作业,来进行检测》

•(掌握)意图激活新的activity
在应用程序里面去添加一个新的Activity
第一步:

第二步:清单配置

基于组件的开发:Activity  service receiver  provider  
activity:
activity是四大组件之一,用来显示控件和用户交互  
activity他是一个布局容器。

•(掌握)隐式意图和显式意图



对外暴露自己

激活



•(掌握)隐式意图uri的规则
别人怎么暴露,你就怎么激活,激活的时候要保证匹配某个intent-filter节点里面的一组:action + categroy + data
一般来说:开发中对外暴露写的很少,但是激活别人(系统里面的组件)用的很多。


•(掌握)意图数据传递
    基本数据线类型




    传递对象

让类去实现Serialiable或者 Parcelable接口
     Serialiable









     Parcelable接口
publicclass Student implements Parcelable {
        public String name;
        public int age;

        public Student() {
                 super();
        }

        public Student(String name, int age) {
                 super();
                 this.name = name;
                 this.age = age;
        }

        @Override
        public String toString() {
                 return "Student[name=" + name + ", age=" + age + "]";
        }

        @Override
        public int describeContents() {
                 return 0;
        }

        //注意:读和写的顺序一定要一致

        // 把属性写入到Parcel对象里面
        @Override
        public void writeToParcel(Parcel dest, int flags) {
                 dest.writeString(name);
                 dest.writeInt(age);
        }

        public static finalParcelable.Creator<Student> CREATOR = newParcelable.Creator<Student>() {
                 //创建一个Student对象 对象里面的属性从Parcel对象里面获取
                 public StudentcreateFromParcel(Parcel in) {
                         Student student = newStudent();
                         student.name =in.readString();
                         student.age =in.readInt();
                         return student;
                 }

                 public Student[] newArray(intsize) {
                         return newStudent[size];
                 }
        };

}



Serializable接口是针对JVM的设计 Dalvik效率低。
开发中都是使用Parcelable,消耗的资源少


(掌握)通过Application来传递数据
第一步:定义应用

第二步:清单配置

第三步:传递数据

第四步:获取数据


注意:Application里面不能存在太大的数据

•(掌握)查看源码激活系统的短信发送器界面
激活新建短信界面



能过通过查看logcat日志来了解激活的是哪个组件。
打电话
setAction(Intent.Action_call)
setData(Uri.parse("tel:"));
权限


(掌握)开启activity获取返回值



MainActivity

OtherActivity




•(了解)请求码和结果码
requestCode:请求码
     唯一的标示一个请求
resultCode:结果码
    唯一的标示一个结果的返回
方便于我们在执行逻辑的区分





•(掌握)activity的生命周期
生命周期:
线程 Servlet ...
开始---》过程--》结束
Activity 生命周期 android设计者

onCreate onStart  onResume
onPause onStop onDestory
        onRestart

生命周期进行三个分类:
1 完整的生命周期  直线
onCreate  onStart  onResume onPause  onStop onDestory
2 可视的生命周期
onStart  ---> onStop   大圈
3 前台生命周期
onResume  --> onPause  小圈

上三 下三  上中
10000
1个直线 4个圈


•(了解)activity被系统回收临时数据的存储
当系统去主动杀死应用程序的时候,是需要对一些临时数据进行存储的。
模拟系统杀死Activity.
可以执行横竖屏切换,横竖屏切换 杀死activity 再创建一个Activity

快捷键:ctrl + F12




•(了解)横竖屏切换的生命周期
竖屏 --》横屏
activity先杀死  再创建
横竖--》竖屏
activity先杀死  再创建

要求横竖屏切换activity不杀死 只是做界面的改变




但是开发中如果需要没有明确要求,直接把activity屏幕的方向定死。(游戏)

减少bug

•(掌握)任务栈


任务栈:用来记录用户的操作行为。
任务栈里面放置的都是Activity的引用。

栈:先进后出
    压栈 弹栈
    进栈 出栈
当启动一个应用程序,系统就会分配一个任务栈给应用。
任务栈:栈的id

(掌握)activity的四种启动模式


四种启动模式:
standard 标准  (默认)
singleTop 独占顶端
singleTask 单任务栈
singleInstance 单实例

standard 标准  (默认)
特点:当你通过startActivity() 启动的activity的实例的引用就会放置在任务栈
      每次启动都会创建一个新的实例

singleTop独占顶端
  特点:如果activity已经在栈顶,那么不会创建新的实例,而会复用栈顶的Activity.
       如果不再栈顶,创建新的实例
       复用activity就会调用activity里面onNewIntent()方法

singleTask 单任务栈
   特点:如果任务栈里面出现了activity,那么就会清空该activity上面所有的activity,再重用该Activity


singleInstance 单实例
特点:如果activity的启动模式设置了singleInstance 这样的activity会单独存放在一个任务栈里面。并且这样的实例只会有一份引用。



启动模式的应用场景
standard 标准:用的最多的 默认的  

singleTop独占顶端 浏览器的书签    手机卫士:黑名单列表
用户的行为:为了增加良好的用户体验、节约性能


singleTask单任务栈:用户的非常多。
          应用程序的主界面

singleInstance单实例: 不多     
         电话应用通话的界面    修复bug:手机卫士    程序锁


1 统一管理界面  
2 电话应用对速度要求非常高  
  有硬件的支持
3 可以节约性能  


面试题:
请说说android里面的mvc?
mvc:mode  v:view  c:control
模型层
显示层
控制层
j2ee
软件开发都有 mvc的思想   就是看有没有人提出。
android里面没有提出mvc.
实体domain -- 表对象  属性public  
显示层:Activity  显示控件给用户 操作   
控制层:service   登录:LoginService   
android里面确实是有mvc的思想。
那么android的设置者其实在android里面没有过多的提及。
android它提出的概念是基于组件的开发。
四大组件:
activity   service  broadcastreceiver  contentprovider
但是开发还是会使用MVC的思想   主要体现在分包   domain service   dao   
2 请说说activitymvc中的作用?
activity已经完整使了mvc  
mode:模式  实体  -》数据  
View:显示activity  ListView
c:control:控制层 业务层  业务操作:被用户的行为来激活(调用)。
有自己的一定的理解。

作业:





下载资源

Doc笔记
课程视频代码
作业视频代码


相关链接:
长沙中心--黑马双元课堂JAVA入学辅导班1期火爆开班啦!!!
长沙黑马程序员学习激情无限“吊炸天”
黑马程序员长沙校区生活圈,60秒搞定吃住学
http://bbs.itheima.com/thread-243108-1-1.html



作者: 西伯利亚的雪景    时间: 2015-11-16 19:31
来给基哥顶一下贴,先收藏再看!
作者: 哒哒的马蹄    时间: 2015-11-16 22:22
现在在学java基础,好想碰安卓了
作者: maxwell247    时间: 2015-11-16 22:24
基哥的贴, 必须要顶...
作者: zhengsx    时间: 2015-11-16 22:41
我再顶顶顶...
作者: 杨凯瑞    时间: 2015-11-17 21:17
笔记太多了  !  看都看不完了
作者: wh8817221    时间: 2015-11-17 21:19
顶顶顶...
作者: 雷老虎    时间: 2015-11-17 21:44
没有梦想,跟咸鱼有什么区别
作者: ToBeJeek1    时间: 2015-11-17 23:20
好强大,好牛X,我要向你学习
作者: weichengnian    时间: 2015-11-17 23:27
。。完全看不懂啊 还是我太菜了
作者: 10010011    时间: 2015-11-18 10:40
好帖,收藏了
作者: 歪歪头    时间: 2015-11-18 12:09
en..........................................
作者: a287655882    时间: 2015-11-18 19:22
好东西啊
作者: 過眼焱雲シ    时间: 2015-11-18 22:46
内容好丰富,谢谢
作者: oup    时间: 2015-11-18 23:15
先标记,基础班毕业后过来看
作者: 影明    时间: 2015-11-18 23:22
非常非常给力啊!!!
作者: 醉叶惜秋    时间: 2015-11-18 23:27
进来学习来的
作者: pt8422068    时间: 2015-11-19 00:33
给力,...././//......
作者: pt8422068    时间: 2015-11-19 00:48
顶起........
作者: 还不够    时间: 2015-11-19 21:07
赞一个…………
作者: 流浪剑客丶    时间: 2015-11-19 21:16
加油加油
作者: gawain    时间: 2015-11-19 22:46
66666666666666666666666
作者: 283557811    时间: 2015-11-19 23:32
赞一个

作者: TommyFen    时间: 2015-11-19 23:41
有了梦想,咸鱼都能翻身
作者: daniu2015    时间: 2015-11-19 23:51
多谢分享!
作者: a6151006    时间: 2015-11-20 00:15
赞一下 ,加油
作者: 王同学丶    时间: 2015-11-20 00:33
好贴,必须赞
作者: pt8422068    时间: 2015-11-20 12:25
顶起.......
作者: bhqitheima    时间: 2015-11-20 19:15
谢谢分享,赞一个
作者: 流浪剑客丶    时间: 2015-11-20 20:15
加油加油
作者: Juice.cy.wang    时间: 2015-11-20 21:37
顶一个,安卓基础还没学呢?好期待
作者: zhuwenjia    时间: 2015-11-20 22:04
点赞
作者: 稀饭酱紫    时间: 2015-11-20 22:54
暂时看不懂啊
作者: 就是我的猫    时间: 2015-11-21 09:26
看到这笔记,迫不及待想学Android,希望快点进黑马的Android班。
这里学习到了
作者: csw502    时间: 2015-11-21 09:40
加油!!!!让我们一起努力!!
作者: 水尛丶    时间: 2015-11-21 20:41
这个逼格忒高了
作者: 毕静存    时间: 2015-11-21 21:10
顶起!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
作者: 905234358    时间: 2015-11-21 21:57
楼主好强的气场波动
作者: 轻寒漠漠    时间: 2015-11-21 22:51
基哥造福群众了
作者: 李松_XyYYz    时间: 2015-11-21 22:53
加油加油
作者: 過眼焱雲シ    时间: 2015-11-21 23:55
每天水一波,哈哈
作者: 木易延    时间: 2015-11-22 17:05
虽然现在的我还不懂,但我觉得有价值
作者: 毕静存    时间: 2015-11-22 21:09
顶起!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
作者: Curtain    时间: 2015-11-22 21:13
大赞,现在还在基础班
作者: 半指流沙    时间: 2015-11-22 22:32
感谢分享.............
作者: 梦我天堂    时间: 2015-11-22 23:48
好~~~~~~~~~~~~~~~~~~~~~~~~~
作者: xiaoziyk    时间: 2015-11-23 12:26
很好,收藏了
作者: 流浪剑客丶    时间: 2015-11-23 12:59
加油加油
作者: 等风来!    时间: 2015-11-23 22:23
学习大神的,已收藏,慢慢看
作者: 一江夜雨    时间: 2015-11-23 22:49
看看基哥的笔记不错
作者: JohnsonJonson    时间: 2015-11-24 11:26
感觉路途艰辛啊,基础都还没开始。。。
作者: 草上飞f    时间: 2015-11-24 11:38
很好的贴,已收藏了
作者: 流浪剑客丶    时间: 2015-11-24 12:45
赞赞赞!
作者: 李松_XyYYz    时间: 2015-11-24 12:56
加油加油!
作者: 狙击超超    时间: 2015-11-24 19:14
基哥给力啊!
作者: fendoudemayi299    时间: 2015-11-24 20:04
顶顶顶 好东西 对于我们初学者
作者: Mr.Ar.Rn    时间: 2015-11-24 21:57
这么好的条件,不学习等啥呢,必须支持
作者: zengbinbin    时间: 2015-11-24 23:37
HAHAHAHAAAAAADDDD
作者: 听你说    时间: 2015-11-25 16:06
怎么没有人写iOS的知识点啊
作者: ClimberRobert    时间: 2015-11-25 18:01
顶一个!
作者: 基础班庄艳平    时间: 2015-11-25 18:41
好帖, 已收藏... 继续更新 加油.
作者: 我就静静的听    时间: 2015-11-25 20:55
期待期待
作者: 李松_XyYYz    时间: 2015-11-25 21:04
加油加油
作者: 873350610    时间: 2015-11-25 21:43
赞一个
作者: 游小星    时间: 2015-11-25 22:12
黑马真的真的很不错哦!
作者: 游小星    时间: 2015-11-25 22:17
黑马真的真的很不错哦!
作者: zzzzll2222    时间: 2015-11-25 22:40
加油加油
作者: 星晴。    时间: 2015-11-25 23:53
基哥的贴,顶顶顶!!!!!!!!!!
作者: 冯景超    时间: 2015-11-26 00:36
牛掰,加油吧
作者: 冯景超    时间: 2015-11-26 00:37
凤凰花好方法发个方法
作者: 周亚飞    时间: 2015-11-26 01:19
感谢大家资源的共享
作者: DaYe    时间: 2015-11-26 12:41
顶一个赞一个给力啊
作者: 在下叶良辰    时间: 2015-11-26 13:01
666666666666666666
作者: 一江夜雨    时间: 2015-11-26 21:15
非常实惠的东西  干货
作者: 基础班庄艳平    时间: 2015-11-26 21:28
赞赞赞赞赞赞赞赞赞
作者: tiancheng13145    时间: 2015-11-26 21:34
内容好丰富,大家加油
作者: 一切命中注定    时间: 2015-11-27 01:54
666666666666666
作者: 13533258481    时间: 2015-11-27 02:09
加油
作者: mark_time    时间: 2015-11-27 18:03
顶起........
作者: xinxiangchen    时间: 2015-11-27 20:20
现在看不太明白,留着慢慢研究
作者: pt8422068    时间: 2015-11-27 23:25
加油............
作者: aohn1117    时间: 2015-11-27 23:48
我顶积分
作者: gawain    时间: 2015-11-28 21:08
666666666666666666666
作者: wangyoucao    时间: 2015-11-28 22:34
顶一个,总结的很好。。
作者: 别再忘了    时间: 2015-11-28 22:40
不错,赞一个~~
作者: 她呆萌可爱    时间: 2015-11-29 00:33
新人完全看不懂,我要努力学习了
作者: 944761475    时间: 2015-11-29 01:02
赞赞赞赞赞赞赞赞赞
作者: 为爱算了吧    时间: 2015-11-29 11:35
很详细很好
作者: hdhunter    时间: 2015-11-29 13:35
好东西。艺术品啊!
作者: zhangguohui    时间: 2015-11-29 21:26
666666666666666666666
作者: 半指流沙    时间: 2015-11-29 21:26
感谢分享...................
作者: ckdckd    时间: 2015-11-29 22:29
1111111111111
作者: ckdckd    时间: 2015-11-29 22:32
1111111111111111111
作者: gawain    时间: 2015-11-29 22:38
66666666666666666666666666666
作者: laiyubin    时间: 2015-11-29 23:00
挺不错的
作者: laiyubin    时间: 2015-11-29 23:02
写的挺不错的
作者: aohn1117    时间: 2015-11-29 23:28
基哥加油
作者: pt8422068    时间: 2015-11-29 23:42
棒...........
作者: pt8422068    时间: 2015-11-30 23:17
好东西...............
作者: 超级宝贝乐爷    时间: 2015-12-1 00:02
慢慢看不急的




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2