zoukankan      html  css  js  c++  java
  • 第一行代码读书笔记2+常见错误分析

    总结下: 一个应用程序中,多个不同的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、实体类、适配器类、挂载适配器

      详细步骤见程序。

       

  • 相关阅读:
    【XSY2990】树 组合数学 容斥
    【LOJ2542】【PKUWC 2018】随机游走 min-max容斥 树上高斯消元
    【51NOD1847】奇怪的数学题 min_25筛
    【51NOD1965】奇怪的式子 min_25筛
    蒟蒻的学习计划
    【XSY2962】作业 数学
    蒟蒻的做题记录
    【LOJ2586】【APIO2018】选圆圈 CDQ分治 扫描线 平衡树
    【APIO2016】【UOJ205】【LOJ2568】烟花表演 可合并堆
    【BZOJ2876】【Noi2012】骑行川藏 拉格朗日乘法
  • 原文地址:https://www.cnblogs.com/zhuxuekui/p/4469718.html
Copyright © 2011-2022 走看看