首页 > 其他 > 详细

第一行代码读书笔记2+常见错误分析

时间:2015-04-30 21:35:33      阅读:403      评论:0      收藏:0      [点我收藏+]

总结下:?一个应用程序中,多个不同的activity之间,以及一个activity多个不同的实例间,又是怎样的通讯机制?

通常有四种:

Intent用于组件之间的消息传递,可以跨进程与线程。但是跨进程需要和其他机制捆绑(比如binder)。

(注意:Binder机制是android中实现的进程间通信的架构

Handle 一般用于主线程(UI线程)界面的更新,通过消息传递机制来实现。(需要使用Looper)。此机制一般用于线程通讯。

Broadcast 一般和intent一起用,主要用于进程间通讯比较多。

Service 一般和intent一起用,可以绑定也可以不绑定,用于进程间通讯。

?

?

线程间同步:

同步代码块、同步方法

其实还有一些控制执行顺序的API,与锁一起用,简单说就是让谁先堵塞,让谁先执行。

?

?

  1. 警告对话框用法

    技术分享

    注意:setCancelable 可否取消是针对 back按键说的。

  2. 进度条用法

    技术分享

    设置属性:

    技术分享

  3. 权重的用法

    技术分享

    有时候也会这么用,让button设置为wrap_content,EditText占满剩下的屏幕

    技术分享

    技术分享

  4. 相对布局

    在相对布局中,所有的属性都是相对于父控件或者父控件来说的。这点需要明确。

    而且在布局文件中,所有的控件声明有顺序。比如在button3 上面的button1可以先引用没有声明button3.这样是错误的。

    ?

    三组属性:

    1. 相对于父布局:

      Layout_alignParentLeft layout_alignParentRight 还有 top bottom missing layout_centerInparent

    技术分享

    2)相对于控件

    Layout_above below toleftof torightof 等等

    技术分享

    ?

    还有一种是相对于控件进行定位的属性: layout_alignLeft 等。

  5. tablelayout

    无法为此布局中的控件指定宽度,我们可以对每行进行合并单元格,属性layout_span

    <tableRow > 表示一行。 每一个控件表示一列。

    技术分享

    还有一个重要属性是用来适配的,android:stretchColumns=1 表示对第二列进行拉伸。0表示对第一列进行拉伸。

    技术分享

  6. 自定义控件

    如图:

    技术分享

    建立title_layout,然后我们可以将此控件放入到其他的控件中去。如下面所示:

    只需要加入代码: <include layout="@layout/title_layout"/>

    技术分享

    当然,系统自带的标题栏我们需要隐藏掉。As中自动隐藏。Eclipse当中,需要加入属性: requestWindowFeature(Window.FEATURE_NO_TITLE);

    ?

    ?

    当然我们也可以通过另一种方式加入自定义控件:

    技术分享

    通过LayoutInflate的from()方法构建LayoutInflater对象,然后调用inflate加载一个布局文件,参数一加载我们要添加的布局文件,第二个从那时给加载好的布局文件添加一个父布局。

    这里我们传入this。表示指定为TitleLayout。

    技术分享

    和上面的运行结果一样。

当然,我们也可以为自定义控件加入按键处理等方法,这比include那种方式更灵活,实际开发中,这种方法用的比较多。

技术分享

?

  1. listview的使用
    1. 编写实体类

      技术分享

    2. 编写list子项布局菜单

      技术分享

    3. 编写listview的适配器

      下面有一部分是优化代码:

      技术分享

      技术分享

    4. 为listview添加适配器

      技术分享

      ?

      注意:上面的步骤中,有些资源需要自己添加,比如本例中,添加的资源有一些图片如下:

      技术分享

  2. 布局与文字大小的指定

    Android规定 160dpi (屏幕的密度) 在此 1dp = 1px . px表示像素。dp还可以写成dpi,表示密度与像素无关。 sp 与dp类似。

    记住:dp一般指定控件与布局的大小。sp指定文字的大小。

  3. 制作Nine-Patch图片

    这是一款神器,可以指定.png图片哪些部分可以被拉伸,哪些不可以被拉伸。此应用程序在sdk---tool ----draw9patch.bat 中。

文件命名为message_left.9.png,但我们在xml指定的时候,就是message_left,后面是他的扩展名。

  1. 案例:制作聊天窗口

    技术分享

    步骤: main_layout/msg_layout、实体类、适配器类、挂载适配器

    详细步骤见程序。

    ?

第一行代码读书笔记2+常见错误分析

原文:http://www.cnblogs.com/zhuxuekui/p/4469718.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!