Android基础学习

简介: 1、specify :指定 2、Nested:嵌套 3、启动模拟器时出现错误信息“Please ensure that adb is correctly located at:XXXXX”的解决方法 现象:使用正确的源代码,在启动模拟器时出现如下错误信息 ...

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、框架布局中的子视图总是被绘制到相对于屏幕的左上角上。所有添加到这个布局中的视图都是以层叠的方式显示。第一个添加到框架布局中的视图显示在最底层,最后一个被放在最顶层,上一层的视图会覆盖下一层的视图,因此框架布局类似堆栈布局。
    在框架布局中,常用的属性有以下几项:

android:top将视图放到屏幕的顶端

  android:Buttom将视图放到屏幕的低端

  android:Left将视图放到屏幕的左端

  android:Right将视图放到屏幕的右端

  android:Center_vertical将视图按照垂直方向居中显示

  android:Center_horizontal将视图按照水平方向居中显示
相关实践学习
使用CLup和iSCSI共享盘快速体验PolarDB for PostgtreSQL
在Clup云管控平台中快速体验创建与管理在iSCSI共享盘上的PolarDB for PostgtreSQL。
AnalyticDB PostgreSQL 企业智能数据中台:一站式管理数据服务资产
企业在数据仓库之上可构建丰富的数据服务用以支持数据应用及业务场景;ADB PG推出全新企业智能数据平台,用以帮助用户一站式的管理企业数据服务资产,包括创建, 管理,探索, 监控等; 助力企业在现有平台之上快速构建起数据服务资产体系
目录
相关文章
|
1月前
|
XML 缓存 Android开发
Android开发,使用kotlin学习多媒体功能(详细)
Android开发,使用kotlin学习多媒体功能(详细)
101 0
|
3月前
|
安全 Linux Android开发
Android安全启动学习(一):AVB校验是什么?
Android安全启动学习(一):AVB校验是什么?
99 0
|
3月前
|
存储 安全 Linux
Android安全启动学习(四):device-mapper-verity (dm-verity)和哈希树
Android安全启动学习(四):device-mapper-verity (dm-verity)和哈希树
124 0
|
3月前
|
开发框架 物联网 数据库
89个android学习样例源码
89个android学习样例源码
76 0
|
3月前
|
Java Android开发 C++
2023安卓逆向 -- JNI学习(从开发到反编译)
2023安卓逆向 -- JNI学习(从开发到反编译)
21 0
|
3月前
|
Android开发
Android源码学习(五):AVB2.0-libavb库介绍2
Android源码学习(五):AVB2.0-libavb库介绍2
105 0
|
3月前
|
安全 算法 Android开发
Android安全启动学习(五):Android Verified Boot 2.0
Android安全启动学习(五):Android Verified Boot 2.0
222 0
|
3月前
|
存储 安全 Android开发
Android安全启动学习(三):AVB校验的内容、怎么校验、AVB的作用
Android安全启动学习(三):AVB校验的内容、怎么校验、AVB的作用
149 0
|
3月前
|
存储 缓存 安全
Android安全启动学习(二):android镜像有什么?
Android安全启动学习(二):android镜像有什么?
82 0
|
4月前
|
Android开发
安卓手机快速过检测完成某某学习
安卓手机快速过检测完成某某学习
22 0