1、specify :指定
2、Nested:嵌套
3、启动模拟器时出现错误信息“Please ensure that adb is correctly located
at:XXXXX”的解决方法
现象:使用正确的源代码,在启动模拟器时出现如下错误信息
“Please ensure that adb is correctly located at ‘D:\AndroidSDK4.0\android-sdk-windows\platform-tools\adb.exe‘ and can be executed.” |
解决方法:将D:\AndroidSDK4.0\android-sdk-windows\platform-tools加入到系统环境变量PATH中。上了还这样,怎么办呢?
运行android程序控制台输出
[2012-07-18 16:18:26 - ] The connection to adb is
down, and a severe error has occured.
[2012-07-18 16:18:26 - ] You must restart adb and Eclipse. [2012-07-18 16:18:26 - ] Please ensure that adb is
correctly located at ‘D:\java\sdk\platform-tools\adb.exe‘
and can be executed.
|
解决问题:
百度google大家多说的是任务管理器 kill掉adb 或者重启adb server,但我任务管理器就没有adb ,猜测是某个程序占用了adb端口。于是按此思路查找。
adb kill-server adb start-server |
5037为adb默认端口 查看该端口情况如下(这个我以前就知道,可是却没想起来用,不过我记录了下来):
netstat -aon|findstr "5037"
TCP 127.0.0.1:5037 0.0.0.0:0 LISTENING 6540
|
发现6540占用了 5037端口,继续查看6540的task,发现是wandoujia .如下所示
tasklist|findstr "6540"
wandoujia_daemon.exe 6540 Console 1 4,276 K
|
接下来问题就好解决了,在任务管理器kill掉wandoujia_daemon.exe ,运行android程序,ok .
4、摘要:summary,abstract
5、xml布局文件是android系统中定义控件的常用方法,这样做的目的与好处是显而易见的,使程序代码与图形UI分离,方便代码及图形UI的各自维护。
xml布局文件必须包含在res/layout目录中,且每一个xml布局文件的根节点可以是任意的视图标签。为xml文件布局中的标签指定id时需要使使用如下形式:
android:id=“@+id/标签名称” |
每一个标签的id都会在R类中生成与之对应的变量,该标签名称便保存在R文件当中了。
如果是要使用xml布局文件,则需要在oncreate方法中使用setContentView来加载指定的xml布局文件。加载方法如下:
public
void onCreate(Bundle savedInstanceState) {
super .onCreate(savedInstanceState);
setContentView(R.layout.main); } |
6、如何控制某一控件在父控件中的相对位置呢?
在Android系统中提供了layout_margin,用来控制某一控件边缘相对于父控件的边距。
其中,android:layout_marginTop表示某一控件相对于父控件顶部的距离。android:layout_marginLeft表示某一控件相对于父控件左边框的距离。android:layout_marginRight表示某一控件相对于父控件右边框的距离。android:layout_marginButtom表示某一控件相对于父控件底部的距离。
7、如何控制某一控件中内容在该控件中的相对位置呢?
在Android系统中提供了padding,用来控制某一控件中内容相对于该控件边缘的边距。
其中,android:paddingTop表示某一控件中的内容相对于该控件边缘顶部的距离。android:paddingLeft表示某一控件中的内容相对于该控件左边缘的距离。android:paddingRight表示某一控件中的内容相对于该控件右边缘的距离。android:paddingButtom表示某一控件中的内容相对于该控件边缘底部的距离。
8、android:gravity和android:layout_gravity的区别
android:gravity用于设置View组件的对齐方式,而android:layout_gravity用于设置Container组件的对齐方式。
举个例子,我们可以通过设置android:gravity="center"来让EditText中的文字在EditText组件中居中显示;同时我们设置EditText的android:layout_gravity="right"来让EditText组件在LinearLayout中居中显示。
9、Padding 与 margin 区别
padding填充的意思,指的是view中的content与view边缘的距离,类似文本中的indent,而margin表示的是view的左边缘与parent
view的左边缘的距离;margin一般用来描述控件间位置关系,而padding一般描述控件内容和控件的位置关系。
10、线性布局可以分为水平和垂直方向的布局,可以通过android:orientation来定义方向,android:orientation=“horizontal”表示水平方向,android:orientation=“vertical”表示垂直方向。android:layout_width表示控件的宽度,android_layout_height表示控件的高度,其属性值有wrap_content、fill_parent、match_parent三种。其中,wrap_content表示填满父控件的空白,fill_parent表示大小刚好足够显示当前控件里的内容,match_parent与fill_parent作用是相同的。
android:layout_weight表示控件的权重,描述了控件所占的比例有多大。所有的视图都有layout_weight值,其默认为零,表示需要显示多大的视图就占据多大的屏幕空间。若赋一个高于零的值,则将父视图中的可用空间分割,分割大小具体取决于每一个视图的layout_weight值以及该值在当前屏幕布局的整体layout_weight值和在其它视图屏幕布局的layout_weight值中所占的比率而定。
11、框架布局中的子视图总是被绘制到相对于屏幕的左上角上。所有添加到这个布局中的视图都是以层叠的方式显示。第一个添加到框架布局中的视图显示在最底层,最后一个被放在最顶层,上一层的视图会覆盖下一层的视图,因此框架布局类似堆栈布局。
在框架布局中,常用的属性有以下几项:
1
2
3
4
5
6
7
8
9
10
11
|
android:top将视图放到屏幕的顶端 android:Buttom将视图放到屏幕的低端 android:Left将视图放到屏幕的左端 android:Right将视图放到屏幕的右端 android:Center_vertical将视图按照垂直方向居中显示 android:Center_horizontal将视图按照水平方向居中显示 |