慕课网android 学习笔记

1.android布局原则:

   (1)将可复用的组件抽出来并通过include标签使用。

   (2)使用viewstub标签来加载一些不常用的布局。

   (3)使用merge标签减少布局的嵌套层次。

     http://www.imooc.com/video/3229

2.merge的用法:http://www.imooc.com/video/3230(不设置背景和padding属性)(Framelayout)

3.viewstub惰性加载 一开始加载的时候是不可视的但是不会占用cpu,在逻辑需要显示的时候才会显示,这样做可以节省内存。

4.数据适配器:baseadapter : arrayadapter和simpleadapter都继承自这个baseadapter,当然baseadapter可以单独使用。

5. Lrucache缓存   http://www.imooc.com/video/7893

6.android异步加载: (1)listview滑动停止后才加载可见项。(2)Listview滑动时,取消所有加载项。http://www.imooc.com/video/7898

7.android的四种数据存储方式:(1)sharedPreference(2)SQLITE (3)Content Provider (4)File

8.content provider  给别的应用提供数据的程序。 http://www.imooc.com/video/4040  几个app之间数据共享就要使用contentprovider。

9.广播还包括系统的广播,比如监听我们手机的电量情况。  重要:broadcastreceiver里不能做耗时的操作!!!如果要做耗时操作,要把信息发给service,让service去做。(也不能用子线程去做) http://www.imooc.com/video/4410。

10.广播的分类:(1)普通广播。(2)有序广播。ordered broadcast (3)异步广播(用的不是很多)。这几种广播的特点:http://www.imooc.com/video/4410 。动态注册级别高于静态注册(更早收到)。其中有序广播可以截断广播的继续传递。

11.service的优先级高于activity,也就是说,一旦我内存不足的时候,我会优先释放activity,service很难被杀死。

service运行在主线程,不能用它直接来进行网络请求等耗时工作(可以开线程来做)。

startservice和bindservice的区别。

12.bindservice: serviceconnection http://write.blog.youkuaiyun.com/postedit/49055049   播放器可以用service去实现。

13.gestureoverlayview 进行较复杂的手势识别(画一个箭头)。android 自带的例子:gesturebuilder项目可以参考。用gesturebuilder去生成复杂的手势文件。

14.handler封装了消息的发送。http://www.imooc.com/video/5681  Looper是一个死循环,从messagequene取消息,有消息就处理,没有消息就阻塞。

15.非ui线程真的不能更新ui吗? http://www.imooc.com/video/5726

16.tcp/ip三次握手。

17.gson http://www.imooc.com/video/8331

18.debug的效率很高,可以考虑多使用。

19.logcat里的pid代表进程id,tid代表线程id。调试的时候也可以关注一下。

20.notification也是可以取消的。(cancel)

21.android是有menu这个东西的,也就是菜单,之前自己用的不多,可以适当了解一下。 http://www.imooc.com/video/2556

      optionsmenu 是选项菜单(qq长按左下角按钮弹出弹窗可能就是选项菜单),一个activity只能对应一个选项菜单。

      contextmenu是上下文菜单,(长按弹出一个菜单),contextmenu对应的是一个view,每个view都能关联一个上下文菜单。

      submenu 子菜单 (选项菜单中弹出)

22.动画:Tween animation, 变换动画  http://www.imooc.com/video/7361

23.布局动画 http://www.imooc.com/video/7363  listview可以去加载这个布局动画。 animation动画,只是绘制了,但是它的位置还是在原来的地方。(这里可以想到我的项目里的笔的动画)。在这里可以用属性动画去解决这个问题。(连点击的时候也是移动之后的)。

24.动画属性 objectanimator    http://www.imooc.com/video/5448  这一节讲了非常详细的动画播放。

25.扇形菜单动画(一个经典的开锁动画):http://www.imooc.com/video/5449  (属性动画实现)

26.valueanimator 属性动画   http://www.imooc.com/video/5450

27.Android ViewConfiguration  http://www.imooc.com/video/5628   actionbar自己没怎么用过,如果用到了新的界面,可以考虑使用一下~ 这个视频也同样使用了大量的java反射。

28.android 微信6.0界面大概的搭建(http://www.imooc.com/video/5630),以后做到类似的可以先照这样的例子。

29.自定义view  http://www.imooc.com/video/5630

30.防止activity回收与总结: http://www.imooc.com/video/5634

31.实现各种各样的viewpager: JazzyViewPager http://www.imooc.com/video/6101

32.消息提醒的红点,可以考虑用github上的一个库来完成。(badgeview)。

33.命名规范:全局变量例如一个activity的变量都是mActivity。以小写m开头。

34.类似于自己的mainpart,也就是一个主类底下有4个tab栏,viewpager和fragment这两个均可,不过推荐使用fragment。http://www.imooc.com/video/5903

35.viewpagerindicator http://www.imooc.com/video/5905 (仿网易新闻客户端tab标签)

36.layout_weight及常见属性解析,在开发过程中是否自定义过控件,如何自定义控件。 http://www.imooc.com/video/10165

baselinealigned 应对我们weight设置属性后,控件不对齐的问题。一般情况下,weight越大,占用的空间越大。

LinearLayout中的layout_weight属性,首先按照控件中声明的尺寸进行分配,然后剩下的尺寸按照weight进行分配。所以一般情况下我们的layout_width都设置成0dp,然后再用weight进行空间的分配。 layout_weight和weightsum的配合使用。这个课程很好,让自己学到了许多。

所有的layout_这样的属性都是告诉我们的父容器去显示我们的子控件的。

37.联系人相关的app一般都要使用contentprovider去进行联系人数据的增删改查。

38.android flowlayout https://github.com/blazsolar/FlowLayout 可以尝试用flowlayout去实现标签页。

39.单例模式的优化。我在项目里已经用到了家长端的useinfo, 在这个网址:http://www.imooc.com/video/9848,使用synchronized关键词。

40.listview下拉刷新。 http://www.imooc.com/video/2113

41.android activity的横竖屏切换 http://www.imooc.com/video/7463

42.Activity的匿名启动。 http://www.imooc.com/video/7465

43.仿qq的侧滑菜单: http://www.imooc.com/video/4380 (以及多种侧滑效果)

44.自定义viewgroup:1.onmeasure 决定自己的宽和高,还有自己的宽和高 2.onlayout 决定子view的放置的位置

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值