第一行代码读书笔记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、实体类、适配器类、挂载适配器

    详细步骤见程序。

    ?

时间: 2024-08-08 05:35:03

第一行代码读书笔记2+常见错误分析的相关文章

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

1.eclipse里面的视图在 windows ---- show views ---- other ----- Android 2.需要掌握Logcat的使用 Logcat是你在茫茫人海中寻找到一片绿洲的地方,你需要灵活运用之,然后我们可以打印出我们需要的信息,而不用担心找不到. 我们也可以自己添加滤波器,比如下面的滤波器选项: 3.在建立菜单文件的时候,文件头需要改变 以下是错误的,这样的文件<?xml version="1.0" encoding="uft-8&q

第一行代码读书笔记——数据存储全方案,持久化技术

三种方式简单实现数据持久化功能 文件存储 简介 将数据存储到文件中 从文件中读取数据 扩展StringStringBuilderStringBuffer SharePreferences存储 注意点 获取SharePreferences对象的三种方式 Context类中的 getSharedPreferences方法 Activity类中的 getPreferences方法 PreferenceManager类中的 getDefaultSharedPreferences方法 向SharedPre

第一行代码读书笔记1

activity 需要了解activity的启动和传递数据,以及activity的四种启动模式,还有就是activity配置时候的action和category的用法. 还有就是activity的生命周期-----7种. UI开发 常用控件:TextView EditView ProgressBar ImageView AlertDialog Button ProgreeDialog 常用布局:LinearLayout RelativeLayout FrameLayout TableLayout

《Android第一行代码》笔记

学习Android开发差不多有两年时间了,期间也做了大大小小的一些项目.近来抽出闲暇想把Android基础强化一下,之前在网上看到了郭霖郭大神的几篇博客,从中受益不少.于是花了近一周时间看完了郭神的一本Android教材--<Android第一行代码>.这本书相比其他教材个人感觉更为基础,内容很实用.看完之后我也有一些收获,学到了一些可以很好的运用到实际中的Android小技巧,下面从中选出我认为很有价值的地方做个记录.同时欢迎各位指正补充~~ 1.查看当前界面处于哪个Activity. 很多

Android第一行代码学习笔记二---在活动中使用Toast

Toast:是Android系统提供的一种非常好的提醒方式,在程序中可以使用它将一些短小的信息通知给用户,这些信息会在一段时间后自动消失,并且不会占用任何屏幕空间. 首先需要定义一个弹出Toast触发点,接着笔记一的程序,正好上面有个按钮,我们就点击这个按钮的时候弹出来一个Toast,在onCreate()方法中添加如下代码: protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceStat

Android第一行代码学习笔记六---Intent向活动传递数据

@1.向下一个活动传递数据: Intent提供了一系列putExtra()方法的重载,可以把我们想要传递的数据暂存在Intent中,启动了另一个活动后,只需把这些数据再从Intent中取出就可以了,比如firstActivity中有一个字符串要传递到secondActivity中,修改firstActivity中按钮点击事件,代码可以这样编写: button.setOnClickListener(new View.OnClickListener() { public void onClick(V

&lt;第一行代码&gt;学习笔记1.09

一.四大组件 Activity,Service,Broadcast Receiver,Content Provider. 二.搭建开发环境 三.自动创建android项目 1.创建项目  file---new---android application project application name:Hello World project name:HelloWorld package name:com.test.helloworld 2.创建活动 勾选create activity会创建模板

Android第一行代码学习笔记七---活动的生命周期

@1.返回栈 Android中的活动是可以层叠的,我们每启动一个新的活动,就会覆盖在原活动之上,然后点击Back键就会销毁最上面的活动,下面一个活动就会重新显示出来. Android是使用任务(Task)来管理活动的,一个任务就是一组存放在栈里的活动的集合,这个栈也被称为返回栈(Back Stack).栈是一种后进先出的数据结构,在默认情况下,每当我们启动了一个新的活动,它会在返回栈中入栈,并处于栈顶的位置.而当我们按下Back键或调用finish()方法去销毁一个活动时,处于栈顶的活动会出栈,

Android第一行代码学习笔记三---在活动中使用Menu

在活动中使用Menu: 如果你活动中大量的菜单需要显示,这个·时候·界面·设计就会比较尴尬,Android给我们提供了一种方式,可以让菜单都能得到展示的同时,还能不占用任何空间.· res目录下新建一个menu文件夹,右击res目录->New->Directory,输入文件名menu,点击OK,接着在这个文件夹下.新建一个菜单文件,右击menu文件夹->New->Menu resource file.文件名输入main. 打开文件main.xml,输入如下代码: <?xml