首页 > 代码库 > 第1天
第1天
第1天.md
路径 C:\Users\kong\Desktop\新建文件夹 (2)\
大小 14.1 KB
类型 MD 文件
修改日期 2014年10月24日 12:31:49
文件被导入 2014年11月3日 22:45:17
刘峰18910903535272317486liuf@itcast.cn1.1G-4G的介绍2.Android操作系统介绍3.Android历史介绍4.Android系统架构(重点) 第一层:应用层Application
第二层:应用框架层Application Framework
第三层:Android底层类库层 Libraries、Dalvik虚拟机
第四层:linux内核层 linux kernel
Android试运行在Linux内核基础之上的。
5.两种虚拟机的不同 (重点)1、架构不同:JVM使用栈架构;Dalvik使用的是寄存器,数据是加载到CUP的寄存器上的。
2、JVM加载的.class文件,Dalvik加载的是.dex文件,对内存的分配情况做了优化。
6.SDKManger的使用可以在里面管理SDK版本的下载和卸载。
7.模拟器的简介及创建 VGA 480* 640
QVGA 240*320
HVGA 320*480
WQVGA 240*400
FWVGA 480*854
WVGA 480*800
AVD: Android virtual Device
8. AVD的创建9.DDMS介绍DDMS:Device Definition Motion Service
10.SDK目录add-ons:存放高级应用的API的文件
build-tools:构建工具
docs:开发文档
extras:存放依赖的第三方的包
platforms:各个平台的文件
adb:android debug brigde android调试桥
sources:API的源代码文件
system-images:系统的镜像文件
tools:工具文件
11.创建HelloWorld 部署apk文件的过程:
IDE判断adb是不是正在工作,用adb把apk文件上传到模拟上,模拟器安装apk文件,开启应用软件。
12.Android工程的目录结构(重点)src/ java源代码存放目录
gen/ 自动生成目录
gen 目录中存放所有由Android开发工具自动生成的文件。目录中最重要的就是R.java文件。 这个文件由Android开发工具自动产生的。Android开发工具会自动根据你放入res目录的资源,同步更新修改R.java文件。正因为R.java文件是由开发工具自动生成的,所以我们应避免手工修改R.java。R.java在应用中起到了字典的作用,它包含了各种资源的id,通过R.java,应用可以很方便地找到对应资源。另外编绎器也会检查R.java列表中的资源是否被使用到,没有被使用到的资源不会编绎进软件中,这样可以减少应用在手机占用的空间。
res/ 资源(Resource)目录
在这个目录中我们可以存放应用使用到的各种资源,如xml界面文件,图片或数据。具体请看ppt下方备注栏。
libs/ 支持库目录
程序开发时需要的一些三方的jar包可以放在这个目录,系统会自动把里面的jar包,添加到环境变量。
assets资源目录
Android除了提供/res目录存放资源文件外,在/assets目录也可以存放资源文件,而且/assets目录下的资源文件不会在R.java自动生成ID,所以读取/assets目录下的文件必须指定文件的路径,如:file:///android_asset/xxx.3gp
AndroidManifest.xml 项目清单文件
这个文件列出了应用程序所提供的功能,以后你开发好的各种组件需要在该文件中进行配置,如果应用使用到了系统内置的应用(如电话服务、互联网服务、短信服务、GPS服务等等),你还需在该文件中声明使用权限。
project.properties 项目环境信息,一般是不需要修改此文件
13.Android的打包过程 是把Android的应用程序打包成一个.apk文件,.apk文件可以安装在手机或者模拟器上。
如果是签名打包,是在打包的过程中,对文件进行了加密。
投放到Android市场上的应用软件必须签名。
14.ADB命令— 常见命令:
adb devices 列出所有的设备
adb shell 挂载到linux的空间
adb install xxx.apk 如果有多个设备,我们可以指定设备 adb install –s emulator-5554 D:/xxx.apk
emulator –avd advname 启动模拟器 例如:emulator –avd 2.2 (2.2 为我们创建设备的名称)
mksdcard 20m d:/sdcard.img 创建sdcard
adb pull <remote> <local>
adb push <local> <remote>
android create avd –name android2.2 –target 8 创建模拟器
ctrl + F11 横竖屏的切换
15.电话拨号器(重点)开发项目的步骤:
1、理解需求,弄明白需求后在写代码;
2、在Android工程中设计UI界面;
3、代码实现业务逻辑;
272317486liuf@itcast.cn1.1G-4G的介绍2.Android操作系统介绍3.Android历史介绍4.Android系统架构(重点) 第一层:应用层Application
第二层:应用框架层Application Framework
第三层:Android底层类库层 Libraries、Dalvik虚拟机
第四层:linux内核层 linux kernel
Android试运行在Linux内核基础之上的。
5.两种虚拟机的不同 (重点)1、架构不同:JVM使用栈架构;Dalvik使用的是寄存器,数据是加载到CUP的寄存器上的。
2、JVM加载的.class文件,Dalvik加载的是.dex文件,对内存的分配情况做了优化。
6.SDKManger的使用可以在里面管理SDK版本的下载和卸载。
7.模拟器的简介及创建 VGA 480* 640
QVGA 240*320
HVGA 320*480
WQVGA 240*400
FWVGA 480*854
WVGA 480*800
AVD: Android virtual Device
8. AVD的创建9.DDMS介绍DDMS:Device Definition Motion Service
10.SDK目录add-ons:存放高级应用的API的文件
build-tools:构建工具
docs:开发文档
extras:存放依赖的第三方的包
platforms:各个平台的文件
adb:android debug brigde android调试桥
sources:API的源代码文件
system-images:系统的镜像文件
tools:工具文件
11.创建HelloWorld 部署apk文件的过程:
IDE判断adb是不是正在工作,用adb把apk文件上传到模拟上,模拟器安装apk文件,开启应用软件。
12.Android工程的目录结构(重点)src/ java源代码存放目录
gen/ 自动生成目录
gen 目录中存放所有由Android开发工具自动生成的文件。目录中最重要的就是R.java文件。 这个文件由Android开发工具自动产生的。Android开发工具会自动根据你放入res目录的资源,同步更新修改R.java文件。正因为R.java文件是由开发工具自动生成的,所以我们应避免手工修改R.java。R.java在应用中起到了字典的作用,它包含了各种资源的id,通过R.java,应用可以很方便地找到对应资源。另外编绎器也会检查R.java列表中的资源是否被使用到,没有被使用到的资源不会编绎进软件中,这样可以减少应用在手机占用的空间。
res/ 资源(Resource)目录
在这个目录中我们可以存放应用使用到的各种资源,如xml界面文件,图片或数据。具体请看ppt下方备注栏。
libs/ 支持库目录
程序开发时需要的一些三方的jar包可以放在这个目录,系统会自动把里面的jar包,添加到环境变量。
assets资源目录
Android除了提供/res目录存放资源文件外,在/assets目录也可以存放资源文件,而且/assets目录下的资源文件不会在R.java自动生成ID,所以读取/assets目录下的文件必须指定文件的路径,如:file:///android_asset/xxx.3gp
AndroidManifest.xml 项目清单文件
这个文件列出了应用程序所提供的功能,以后你开发好的各种组件需要在该文件中进行配置,如果应用使用到了系统内置的应用(如电话服务、互联网服务、短信服务、GPS服务等等),你还需在该文件中声明使用权限。
project.properties 项目环境信息,一般是不需要修改此文件
13.Android的打包过程 是把Android的应用程序打包成一个.apk文件,.apk文件可以安装在手机或者模拟器上。
如果是签名打包,是在打包的过程中,对文件进行了加密。
投放到Android市场上的应用软件必须签名。
14.ADB命令— 常见命令:
adb devices 列出所有的设备
adb shell 挂载到linux的空间
adb install xxx.apk 如果有多个设备,我们可以指定设备 adb install –s emulator-5554 D:/xxx.apk
emulator –avd advname 启动模拟器 例如:emulator –avd 2.2 (2.2 为我们创建设备的名称)
mksdcard 20m d:/sdcard.img 创建sdcard
adb pull <remote> <local>
adb push <local> <remote>
android create avd –name android2.2 –target 8 创建模拟器
ctrl + F11 横竖屏的切换
15.电话拨号器(重点)开发项目的步骤:
1、理解需求,弄明白需求后在写代码;
2、在Android工程中设计UI界面;
3、代码实现业务逻辑;
1.1G-4G的介绍2.Android操作系统介绍3.Android历史介绍4.Android系统架构(重点) 第一层:应用层Application
第二层:应用框架层Application Framework
第三层:Android底层类库层 Libraries、Dalvik虚拟机
第四层:linux内核层 linux kernel
Android试运行在Linux内核基础之上的。
5.两种虚拟机的不同 (重点)1、架构不同:JVM使用栈架构;Dalvik使用的是寄存器,数据是加载到CUP的寄存器上的。
2、JVM加载的.class文件,Dalvik加载的是.dex文件,对内存的分配情况做了优化。
6.SDKManger的使用可以在里面管理SDK版本的下载和卸载。
7.模拟器的简介及创建 VGA 480* 640
QVGA 240*320
HVGA 320*480
WQVGA 240*400
FWVGA 480*854
WVGA 480*800
AVD: Android virtual Device
8. AVD的创建9.DDMS介绍DDMS:Device Definition Motion Service
10.SDK目录add-ons:存放高级应用的API的文件
build-tools:构建工具
docs:开发文档
extras:存放依赖的第三方的包
platforms:各个平台的文件
adb:android debug brigde android调试桥
sources:API的源代码文件
system-images:系统的镜像文件
tools:工具文件
11.创建HelloWorld 部署apk文件的过程:
IDE判断adb是不是正在工作,用adb把apk文件上传到模拟上,模拟器安装apk文件,开启应用软件。
12.Android工程的目录结构(重点)src/ java源代码存放目录
gen/ 自动生成目录
gen 目录中存放所有由Android开发工具自动生成的文件。目录中最重要的就是R.java文件。 这个文件由Android开发工具自动产生的。Android开发工具会自动根据你放入res目录的资源,同步更新修改R.java文件。正因为R.java文件是由开发工具自动生成的,所以我们应避免手工修改R.java。R.java在应用中起到了字典的作用,它包含了各种资源的id,通过R.java,应用可以很方便地找到对应资源。另外编绎器也会检查R.java列表中的资源是否被使用到,没有被使用到的资源不会编绎进软件中,这样可以减少应用在手机占用的空间。
res/ 资源(Resource)目录
在这个目录中我们可以存放应用使用到的各种资源,如xml界面文件,图片或数据。具体请看ppt下方备注栏。
libs/ 支持库目录
程序开发时需要的一些三方的jar包可以放在这个目录,系统会自动把里面的jar包,添加到环境变量。
assets资源目录
Android除了提供/res目录存放资源文件外,在/assets目录也可以存放资源文件,而且/assets目录下的资源文件不会在R.java自动生成ID,所以读取/assets目录下的文件必须指定文件的路径,如:file:///android_asset/xxx.3gp
AndroidManifest.xml 项目清单文件
这个文件列出了应用程序所提供的功能,以后你开发好的各种组件需要在该文件中进行配置,如果应用使用到了系统内置的应用(如电话服务、互联网服务、短信服务、GPS服务等等),你还需在该文件中声明使用权限。
project.properties 项目环境信息,一般是不需要修改此文件
13.Android的打包过程 是把Android的应用程序打包成一个.apk文件,.apk文件可以安装在手机或者模拟器上。
如果是签名打包,是在打包的过程中,对文件进行了加密。
投放到Android市场上的应用软件必须签名。
14.ADB命令— 常见命令:
adb devices 列出所有的设备
adb shell 挂载到linux的空间
adb install xxx.apk 如果有多个设备,我们可以指定设备 adb install –s emulator-5554 D:/xxx.apk
emulator –avd advname 启动模拟器 例如:emulator –avd 2.2 (2.2 为我们创建设备的名称)
mksdcard 20m d:/sdcard.img 创建sdcard
adb pull <remote> <local>
adb push <local> <remote>
android create avd –name android2.2 –target 8 创建模拟器
ctrl + F11 横竖屏的切换
15.电话拨号器(重点)开发项目的步骤:
1、理解需求,弄明白需求后在写代码;
2、在Android工程中设计UI界面;
3、代码实现业务逻辑;
3.Android历史介绍4.Android系统架构(重点) 第一层:应用层Application
第二层:应用框架层Application Framework
第三层:Android底层类库层 Libraries、Dalvik虚拟机
第四层:linux内核层 linux kernel
Android试运行在Linux内核基础之上的。
5.两种虚拟机的不同 (重点)1、架构不同:JVM使用栈架构;Dalvik使用的是寄存器,数据是加载到CUP的寄存器上的。
2、JVM加载的.class文件,Dalvik加载的是.dex文件,对内存的分配情况做了优化。
6.SDKManger的使用可以在里面管理SDK版本的下载和卸载。
7.模拟器的简介及创建 VGA 480* 640
QVGA 240*320
HVGA 320*480
WQVGA 240*400
FWVGA 480*854
WVGA 480*800
AVD: Android virtual Device
8. AVD的创建9.DDMS介绍DDMS:Device Definition Motion Service
10.SDK目录add-ons:存放高级应用的API的文件
build-tools:构建工具
docs:开发文档
extras:存放依赖的第三方的包
platforms:各个平台的文件
adb:android debug brigde android调试桥
sources:API的源代码文件
system-images:系统的镜像文件
tools:工具文件
11.创建HelloWorld 部署apk文件的过程:
IDE判断adb是不是正在工作,用adb把apk文件上传到模拟上,模拟器安装apk文件,开启应用软件。
12.Android工程的目录结构(重点)src/ java源代码存放目录
gen/ 自动生成目录
gen 目录中存放所有由Android开发工具自动生成的文件。目录中最重要的就是R.java文件。 这个文件由Android开发工具自动产生的。Android开发工具会自动根据你放入res目录的资源,同步更新修改R.java文件。正因为R.java文件是由开发工具自动生成的,所以我们应避免手工修改R.java。R.java在应用中起到了字典的作用,它包含了各种资源的id,通过R.java,应用可以很方便地找到对应资源。另外编绎器也会检查R.java列表中的资源是否被使用到,没有被使用到的资源不会编绎进软件中,这样可以减少应用在手机占用的空间。
res/ 资源(Resource)目录
在这个目录中我们可以存放应用使用到的各种资源,如xml界面文件,图片或数据。具体请看ppt下方备注栏。
libs/ 支持库目录
程序开发时需要的一些三方的jar包可以放在这个目录,系统会自动把里面的jar包,添加到环境变量。
assets资源目录
Android除了提供/res目录存放资源文件外,在/assets目录也可以存放资源文件,而且/assets目录下的资源文件不会在R.java自动生成ID,所以读取/assets目录下的文件必须指定文件的路径,如:file:///android_asset/xxx.3gp
AndroidManifest.xml 项目清单文件
这个文件列出了应用程序所提供的功能,以后你开发好的各种组件需要在该文件中进行配置,如果应用使用到了系统内置的应用(如电话服务、互联网服务、短信服务、GPS服务等等),你还需在该文件中声明使用权限。
project.properties 项目环境信息,一般是不需要修改此文件
13.Android的打包过程 是把Android的应用程序打包成一个.apk文件,.apk文件可以安装在手机或者模拟器上。
如果是签名打包,是在打包的过程中,对文件进行了加密。
投放到Android市场上的应用软件必须签名。
14.ADB命令— 常见命令:
adb devices 列出所有的设备
adb shell 挂载到linux的空间
adb install xxx.apk 如果有多个设备,我们可以指定设备 adb install –s emulator-5554 D:/xxx.apk
emulator –avd advname 启动模拟器 例如:emulator –avd 2.2 (2.2 为我们创建设备的名称)
mksdcard 20m d:/sdcard.img 创建sdcard
adb pull <remote> <local>
adb push <local> <remote>
android create avd –name android2.2 –target 8 创建模拟器
ctrl + F11 横竖屏的切换
15.电话拨号器(重点)开发项目的步骤:
1、理解需求,弄明白需求后在写代码;
2、在Android工程中设计UI界面;
3、代码实现业务逻辑;
第一层:应用层Application
第二层:应用框架层Application Framework
第三层:Android底层类库层 Libraries、Dalvik虚拟机
第四层:linux内核层 linux kernel
Android试运行在Linux内核基础之上的。
5.两种虚拟机的不同 (重点)1、架构不同:JVM使用栈架构;Dalvik使用的是寄存器,数据是加载到CUP的寄存器上的。
2、JVM加载的.class文件,Dalvik加载的是.dex文件,对内存的分配情况做了优化。
6.SDKManger的使用可以在里面管理SDK版本的下载和卸载。
7.模拟器的简介及创建 VGA 480* 640
QVGA 240*320
HVGA 320*480
WQVGA 240*400
FWVGA 480*854
WVGA 480*800
AVD: Android virtual Device
8. AVD的创建9.DDMS介绍DDMS:Device Definition Motion Service
10.SDK目录add-ons:存放高级应用的API的文件
build-tools:构建工具
docs:开发文档
extras:存放依赖的第三方的包
platforms:各个平台的文件
adb:android debug brigde android调试桥
sources:API的源代码文件
system-images:系统的镜像文件
tools:工具文件
11.创建HelloWorld 部署apk文件的过程:
IDE判断adb是不是正在工作,用adb把apk文件上传到模拟上,模拟器安装apk文件,开启应用软件。
12.Android工程的目录结构(重点)src/ java源代码存放目录
gen/ 自动生成目录
gen 目录中存放所有由Android开发工具自动生成的文件。目录中最重要的就是R.java文件。 这个文件由Android开发工具自动产生的。Android开发工具会自动根据你放入res目录的资源,同步更新修改R.java文件。正因为R.java文件是由开发工具自动生成的,所以我们应避免手工修改R.java。R.java在应用中起到了字典的作用,它包含了各种资源的id,通过R.java,应用可以很方便地找到对应资源。另外编绎器也会检查R.java列表中的资源是否被使用到,没有被使用到的资源不会编绎进软件中,这样可以减少应用在手机占用的空间。
res/ 资源(Resource)目录
在这个目录中我们可以存放应用使用到的各种资源,如xml界面文件,图片或数据。具体请看ppt下方备注栏。
libs/ 支持库目录
程序开发时需要的一些三方的jar包可以放在这个目录,系统会自动把里面的jar包,添加到环境变量。
assets资源目录
Android除了提供/res目录存放资源文件外,在/assets目录也可以存放资源文件,而且/assets目录下的资源文件不会在R.java自动生成ID,所以读取/assets目录下的文件必须指定文件的路径,如:file:///android_asset/xxx.3gp
AndroidManifest.xml 项目清单文件
这个文件列出了应用程序所提供的功能,以后你开发好的各种组件需要在该文件中进行配置,如果应用使用到了系统内置的应用(如电话服务、互联网服务、短信服务、GPS服务等等),你还需在该文件中声明使用权限。
project.properties 项目环境信息,一般是不需要修改此文件
13.Android的打包过程 是把Android的应用程序打包成一个.apk文件,.apk文件可以安装在手机或者模拟器上。
如果是签名打包,是在打包的过程中,对文件进行了加密。
投放到Android市场上的应用软件必须签名。
14.ADB命令— 常见命令:
adb devices 列出所有的设备
adb shell 挂载到linux的空间
adb install xxx.apk 如果有多个设备,我们可以指定设备 adb install –s emulator-5554 D:/xxx.apk
emulator –avd advname 启动模拟器 例如:emulator –avd 2.2 (2.2 为我们创建设备的名称)
mksdcard 20m d:/sdcard.img 创建sdcard
adb pull <remote> <local>
adb push <local> <remote>
android create avd –name android2.2 –target 8 创建模拟器
ctrl + F11 横竖屏的切换
15.电话拨号器(重点)开发项目的步骤:
1、理解需求,弄明白需求后在写代码;
2、在Android工程中设计UI界面;
3、代码实现业务逻辑;
1、架构不同:JVM使用栈架构;Dalvik使用的是寄存器,数据是加载到CUP的寄存器上的。
2、JVM加载的.class文件,Dalvik加载的是.dex文件,对内存的分配情况做了优化。
可以在里面管理SDK版本的下载和卸载。
7.模拟器的简介及创建 VGA 480* 640
QVGA 240*320
HVGA 320*480
WQVGA 240*400
FWVGA 480*854
WVGA 480*800
AVD: Android virtual Device
8. AVD的创建9.DDMS介绍DDMS:Device Definition Motion Service
10.SDK目录add-ons:存放高级应用的API的文件
build-tools:构建工具
docs:开发文档
extras:存放依赖的第三方的包
platforms:各个平台的文件
adb:android debug brigde android调试桥
sources:API的源代码文件
system-images:系统的镜像文件
tools:工具文件
11.创建HelloWorld 部署apk文件的过程:
IDE判断adb是不是正在工作,用adb把apk文件上传到模拟上,模拟器安装apk文件,开启应用软件。
12.Android工程的目录结构(重点)src/ java源代码存放目录
gen/ 自动生成目录
gen 目录中存放所有由Android开发工具自动生成的文件。目录中最重要的就是R.java文件。 这个文件由Android开发工具自动产生的。Android开发工具会自动根据你放入res目录的资源,同步更新修改R.java文件。正因为R.java文件是由开发工具自动生成的,所以我们应避免手工修改R.java。R.java在应用中起到了字典的作用,它包含了各种资源的id,通过R.java,应用可以很方便地找到对应资源。另外编绎器也会检查R.java列表中的资源是否被使用到,没有被使用到的资源不会编绎进软件中,这样可以减少应用在手机占用的空间。
res/ 资源(Resource)目录
在这个目录中我们可以存放应用使用到的各种资源,如xml界面文件,图片或数据。具体请看ppt下方备注栏。
libs/ 支持库目录
程序开发时需要的一些三方的jar包可以放在这个目录,系统会自动把里面的jar包,添加到环境变量。
assets资源目录
Android除了提供/res目录存放资源文件外,在/assets目录也可以存放资源文件,而且/assets目录下的资源文件不会在R.java自动生成ID,所以读取/assets目录下的文件必须指定文件的路径,如:file:///android_asset/xxx.3gp
AndroidManifest.xml 项目清单文件
这个文件列出了应用程序所提供的功能,以后你开发好的各种组件需要在该文件中进行配置,如果应用使用到了系统内置的应用(如电话服务、互联网服务、短信服务、GPS服务等等),你还需在该文件中声明使用权限。
project.properties 项目环境信息,一般是不需要修改此文件
13.Android的打包过程 是把Android的应用程序打包成一个.apk文件,.apk文件可以安装在手机或者模拟器上。
如果是签名打包,是在打包的过程中,对文件进行了加密。
投放到Android市场上的应用软件必须签名。
14.ADB命令— 常见命令:
adb devices 列出所有的设备
adb shell 挂载到linux的空间
adb install xxx.apk 如果有多个设备,我们可以指定设备 adb install –s emulator-5554 D:/xxx.apk
emulator –avd advname 启动模拟器 例如:emulator –avd 2.2 (2.2 为我们创建设备的名称)
mksdcard 20m d:/sdcard.img 创建sdcard
adb pull <remote> <local>
adb push <local> <remote>
android create avd –name android2.2 –target 8 创建模拟器
ctrl + F11 横竖屏的切换
15.电话拨号器(重点)开发项目的步骤:
1、理解需求,弄明白需求后在写代码;
2、在Android工程中设计UI界面;
3、代码实现业务逻辑;
VGA 480* 640
QVGA 240*320
HVGA 320*480
WQVGA 240*400
FWVGA 480*854
WVGA 480*800
AVD: Android virtual Device
9.DDMS介绍DDMS:Device Definition Motion Service
10.SDK目录add-ons:存放高级应用的API的文件
build-tools:构建工具
docs:开发文档
extras:存放依赖的第三方的包
platforms:各个平台的文件
adb:android debug brigde android调试桥
sources:API的源代码文件
system-images:系统的镜像文件
tools:工具文件
11.创建HelloWorld 部署apk文件的过程:
IDE判断adb是不是正在工作,用adb把apk文件上传到模拟上,模拟器安装apk文件,开启应用软件。
12.Android工程的目录结构(重点)src/ java源代码存放目录
gen/ 自动生成目录
gen 目录中存放所有由Android开发工具自动生成的文件。目录中最重要的就是R.java文件。 这个文件由Android开发工具自动产生的。Android开发工具会自动根据你放入res目录的资源,同步更新修改R.java文件。正因为R.java文件是由开发工具自动生成的,所以我们应避免手工修改R.java。R.java在应用中起到了字典的作用,它包含了各种资源的id,通过R.java,应用可以很方便地找到对应资源。另外编绎器也会检查R.java列表中的资源是否被使用到,没有被使用到的资源不会编绎进软件中,这样可以减少应用在手机占用的空间。
res/ 资源(Resource)目录
在这个目录中我们可以存放应用使用到的各种资源,如xml界面文件,图片或数据。具体请看ppt下方备注栏。
libs/ 支持库目录
程序开发时需要的一些三方的jar包可以放在这个目录,系统会自动把里面的jar包,添加到环境变量。
assets资源目录
Android除了提供/res目录存放资源文件外,在/assets目录也可以存放资源文件,而且/assets目录下的资源文件不会在R.java自动生成ID,所以读取/assets目录下的文件必须指定文件的路径,如:file:///android_asset/xxx.3gp
AndroidManifest.xml 项目清单文件
这个文件列出了应用程序所提供的功能,以后你开发好的各种组件需要在该文件中进行配置,如果应用使用到了系统内置的应用(如电话服务、互联网服务、短信服务、GPS服务等等),你还需在该文件中声明使用权限。
project.properties 项目环境信息,一般是不需要修改此文件
13.Android的打包过程 是把Android的应用程序打包成一个.apk文件,.apk文件可以安装在手机或者模拟器上。
如果是签名打包,是在打包的过程中,对文件进行了加密。
投放到Android市场上的应用软件必须签名。
14.ADB命令— 常见命令:
adb devices 列出所有的设备
adb shell 挂载到linux的空间
adb install xxx.apk 如果有多个设备,我们可以指定设备 adb install –s emulator-5554 D:/xxx.apk
emulator –avd advname 启动模拟器 例如:emulator –avd 2.2 (2.2 为我们创建设备的名称)
mksdcard 20m d:/sdcard.img 创建sdcard
adb pull <remote> <local>
adb push <local> <remote>
android create avd –name android2.2 –target 8 创建模拟器
ctrl + F11 横竖屏的切换
15.电话拨号器(重点)开发项目的步骤:
1、理解需求,弄明白需求后在写代码;
2、在Android工程中设计UI界面;
3、代码实现业务逻辑;
DDMS:Device Definition Motion Service
add-ons:存放高级应用的API的文件
build-tools:构建工具
docs:开发文档
extras:存放依赖的第三方的包
platforms:各个平台的文件
adb:android debug brigde android调试桥
sources:API的源代码文件
system-images:系统的镜像文件
tools:工具文件
11.创建HelloWorld 部署apk文件的过程:
IDE判断adb是不是正在工作,用adb把apk文件上传到模拟上,模拟器安装apk文件,开启应用软件。
12.Android工程的目录结构(重点)src/ java源代码存放目录
gen/ 自动生成目录
gen 目录中存放所有由Android开发工具自动生成的文件。目录中最重要的就是R.java文件。 这个文件由Android开发工具自动产生的。Android开发工具会自动根据你放入res目录的资源,同步更新修改R.java文件。正因为R.java文件是由开发工具自动生成的,所以我们应避免手工修改R.java。R.java在应用中起到了字典的作用,它包含了各种资源的id,通过R.java,应用可以很方便地找到对应资源。另外编绎器也会检查R.java列表中的资源是否被使用到,没有被使用到的资源不会编绎进软件中,这样可以减少应用在手机占用的空间。
res/ 资源(Resource)目录
在这个目录中我们可以存放应用使用到的各种资源,如xml界面文件,图片或数据。具体请看ppt下方备注栏。
libs/ 支持库目录
程序开发时需要的一些三方的jar包可以放在这个目录,系统会自动把里面的jar包,添加到环境变量。
assets资源目录
Android除了提供/res目录存放资源文件外,在/assets目录也可以存放资源文件,而且/assets目录下的资源文件不会在R.java自动生成ID,所以读取/assets目录下的文件必须指定文件的路径,如:file:///android_asset/xxx.3gp
AndroidManifest.xml 项目清单文件
这个文件列出了应用程序所提供的功能,以后你开发好的各种组件需要在该文件中进行配置,如果应用使用到了系统内置的应用(如电话服务、互联网服务、短信服务、GPS服务等等),你还需在该文件中声明使用权限。
project.properties 项目环境信息,一般是不需要修改此文件
13.Android的打包过程 是把Android的应用程序打包成一个.apk文件,.apk文件可以安装在手机或者模拟器上。
如果是签名打包,是在打包的过程中,对文件进行了加密。
投放到Android市场上的应用软件必须签名。
14.ADB命令— 常见命令:
adb devices 列出所有的设备
adb shell 挂载到linux的空间
adb install xxx.apk 如果有多个设备,我们可以指定设备 adb install –s emulator-5554 D:/xxx.apk
emulator –avd advname 启动模拟器 例如:emulator –avd 2.2 (2.2 为我们创建设备的名称)
mksdcard 20m d:/sdcard.img 创建sdcard
adb pull <remote> <local>
adb push <local> <remote>
android create avd –name android2.2 –target 8 创建模拟器
ctrl + F11 横竖屏的切换
15.电话拨号器(重点)开发项目的步骤:
1、理解需求,弄明白需求后在写代码;
2、在Android工程中设计UI界面;
3、代码实现业务逻辑;
部署apk文件的过程:
IDE判断adb是不是正在工作,用adb把apk文件上传到模拟上,模拟器安装apk文件,开启应用软件。
src/ java源代码存放目录
gen/ 自动生成目录
gen 目录中存放所有由Android开发工具自动生成的文件。目录中最重要的就是R.java文件。 这个文件由Android开发工具自动产生的。Android开发工具会自动根据你放入res目录的资源,同步更新修改R.java文件。正因为R.java文件是由开发工具自动生成的,所以我们应避免手工修改R.java。R.java在应用中起到了字典的作用,它包含了各种资源的id,通过R.java,应用可以很方便地找到对应资源。另外编绎器也会检查R.java列表中的资源是否被使用到,没有被使用到的资源不会编绎进软件中,这样可以减少应用在手机占用的空间。
res/ 资源(Resource)目录
在这个目录中我们可以存放应用使用到的各种资源,如xml界面文件,图片或数据。具体请看ppt下方备注栏。
libs/ 支持库目录
程序开发时需要的一些三方的jar包可以放在这个目录,系统会自动把里面的jar包,添加到环境变量。
assets资源目录
Android除了提供/res目录存放资源文件外,在/assets目录也可以存放资源文件,而且/assets目录下的资源文件不会在R.java自动生成ID,所以读取/assets目录下的文件必须指定文件的路径,如:file:///android_asset/xxx.3gp
AndroidManifest.xml 项目清单文件
这个文件列出了应用程序所提供的功能,以后你开发好的各种组件需要在该文件中进行配置,如果应用使用到了系统内置的应用(如电话服务、互联网服务、短信服务、GPS服务等等),你还需在该文件中声明使用权限。
project.properties 项目环境信息,一般是不需要修改此文件
13.Android的打包过程 是把Android的应用程序打包成一个.apk文件,.apk文件可以安装在手机或者模拟器上。
如果是签名打包,是在打包的过程中,对文件进行了加密。
投放到Android市场上的应用软件必须签名。
14.ADB命令— 常见命令:
adb devices 列出所有的设备
adb shell 挂载到linux的空间
adb install xxx.apk 如果有多个设备,我们可以指定设备 adb install –s emulator-5554 D:/xxx.apk
emulator –avd advname 启动模拟器 例如:emulator –avd 2.2 (2.2 为我们创建设备的名称)
mksdcard 20m d:/sdcard.img 创建sdcard
adb pull <remote> <local>
adb push <local> <remote>
android create avd –name android2.2 –target 8 创建模拟器
ctrl + F11 横竖屏的切换
15.电话拨号器(重点)开发项目的步骤:
1、理解需求,弄明白需求后在写代码;
2、在Android工程中设计UI界面;
3、代码实现业务逻辑;
是把Android的应用程序打包成一个.apk文件,.apk文件可以安装在手机或者模拟器上。
如果是签名打包,是在打包的过程中,对文件进行了加密。
投放到Android市场上的应用软件必须签名。
— 常见命令:
adb devices 列出所有的设备
adb shell 挂载到linux的空间
adb install xxx.apk 如果有多个设备,我们可以指定设备 adb install –s emulator-5554 D:/xxx.apk
emulator –avd advname 启动模拟器 例如:emulator –avd 2.2 (2.2 为我们创建设备的名称)
mksdcard 20m d:/sdcard.img 创建sdcard
adb pull <remote> <local>
adb push <local> <remote>
android create avd –name android2.2 –target 8 创建模拟器
ctrl + F11 横竖屏的切换
15.电话拨号器(重点)开发项目的步骤:
1、理解需求,弄明白需求后在写代码;
2、在Android工程中设计UI界面;
3、代码实现业务逻辑;
开发项目的步骤:
1、理解需求,弄明白需求后在写代码;
2、在Android工程中设计UI界面;
3、代码实现业务逻辑;
电话拨号器的代码:
//初始化布局文件中的控件
et_phone = (EditText) findViewById(R.id.et_phone);
Button bt_call = (Button) findViewById(R.id.bt_call);
//获得EditText控件里面的数据
bt_call.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//拨打电话号码
//获取数据框中的电话号码
String phone = et_phone.getText().toString().trim();
//创建一个拨打电话的意图
Intent intent = new Intent();
//设置拨打电话号码的动作
intent.setAction(Intent.ACTION_CALL);
//设置拨打的电话号码
intent.setData(Uri.parse("tel://"+phone));
//开启拨打电话的意图
startActivity(intent);
}
});
16.四种点击事件 1、设置按钮的单击事件的监听器,创建匿名内部类
bt_call.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//拨打电话号码
String phone = et_phone.getText().toString().trim();
Intent intent = new Intent();
intent.setAction(Intent.ACTION_CALL);
System.out.println("phone="+phone);
intent.setData(Uri.parse("tel://"+phone));
startActivity(intent);
}
});
2、创建一个内部类
private class MyOnClickListener implements OnClickListener{
@Override
public void onClick(View v) {
//拨打电话号码
String phone = et_phone.getText().toString().trim();
Intent intent = new Intent();
intent.setAction(Intent.ACTION_CALL);
System.out.println("phone="+phone);
intent.setData(Uri.parse("tel://"+phone));
startActivity(intent);
}
}
//别忘记给按钮添加一个单击事件的监听器
bt_call.setOnClickListener(new MyOnClickListener());
3、在布局文件中给按钮添加一个单击事件的响应方法,然后在代码中实现这个方法
(1)在布局文件中给按钮添加一个单击事件的响应方法
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="拨打"
android:id="@+id/bt_call"
android:onClick="call"
/>
(2)在代码中实现这个方法
//view 表示的是按钮这个视图
public void call(View view){
//拨打电话号码
String phone = et_phone.getText().toString().trim();
Intent intent = new Intent();
intent.setAction(Intent.ACTION_CALL);
System.out.println("phone="+phone);
intent.setData(Uri.parse("tel://"+phone));
startActivity(intent);
}
17.框架布局 后面一个控件会覆盖前一个控件的界面。
示例代码:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<TextView
android:layout_width="300dip"
android:layout_height="300dip"
android:text="黑色"
android:layout_gravity="center"
android:background="#000000"
android:id="@+id/tv_black" />
<TextView
android:layout_width="200dip"
android:layout_height="200dip"
android:text="红色"
android:layout_gravity="center"
android:background="#FF0000"
android:id="@+id/tv_red" />
</FrameLayout>
18.线性布局(重点)线性布局在xml文件中使用<LinearLayout>来定义。
线性布局可以分为水平和垂直方向的布局,可以通过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值中所占的比率而定。
weight的使用。
示例代码一:线性布局
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="第一控件" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="第二控件" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="按钮"
/>
</LinearLayout>
示例代码二:水平布局
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity" >
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="按钮"
/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="第一控件" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="第二控件" />
</LinearLayout>
</LinearLayout>
19.相对布局(重点) 各个组件都是按照相对位置来拜访。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<ImageView
android:layout_width="80dip"
android:layout_height="80dip"
android:src="@drawable/ic_launcher"
android:id="@+id/iv"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="王安全出轨事件曝光王安全出轨事件曝光王安全出轨事件曝光王安全出轨事件曝光王安全出轨事件曝光"
android:singleLine="true"
android:layout_toRightOf="@id/iv"
android:id="@+id/tv_title"
android:textSize="16sp"
/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="王安全出轨王安全出轨王安全出轨王安全出轨王安全出轨王安全出轨王安全出轨王安全出轨王安全出轨王安全出轨王安全出轨王安全出轨王安全出轨王安全出轨"
android:layout_toRightOf="@id/iv"
android:maxLines="4"
android:layout_below="@id/tv_title"
android:textSize="12sp"
/>
</RelativeLayout>
20、嵌套布局线性布局与相对布局相互嵌套。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="按钮"
android:id="@+id/bt"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_toRightOf="@id/bt"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="王安全出轨事"
android:id="@+id/tv_title"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="描述描述描述描述描述"
android:background="#FF0000"
android:id="@+id/tv_desc"
/>
</LinearLayout>
</RelativeLayout>
来自为知笔记(Wiz)
附件列表
1、设置按钮的单击事件的监听器,创建匿名内部类
bt_call.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//拨打电话号码
String phone = et_phone.getText().toString().trim();
Intent intent = new Intent();
intent.setAction(Intent.ACTION_CALL);
System.out.println("phone="+phone);
intent.setData(Uri.parse("tel://"+phone));
startActivity(intent);
}
});
2、创建一个内部类
private class MyOnClickListener implements OnClickListener{
@Override
public void onClick(View v) {
//拨打电话号码
String phone = et_phone.getText().toString().trim();
Intent intent = new Intent();
intent.setAction(Intent.ACTION_CALL);
System.out.println("phone="+phone);
intent.setData(Uri.parse("tel://"+phone));
startActivity(intent);
}
}
//别忘记给按钮添加一个单击事件的监听器
bt_call.setOnClickListener(new MyOnClickListener());
3、在布局文件中给按钮添加一个单击事件的响应方法,然后在代码中实现这个方法
(1)在布局文件中给按钮添加一个单击事件的响应方法
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="拨打"
android:id="@+id/bt_call"
android:onClick="call"
/>
(2)在代码中实现这个方法
//view 表示的是按钮这个视图
public void call(View view){
//拨打电话号码
String phone = et_phone.getText().toString().trim();
Intent intent = new Intent();
intent.setAction(Intent.ACTION_CALL);
System.out.println("phone="+phone);
intent.setData(Uri.parse("tel://"+phone));
startActivity(intent);
}
后面一个控件会覆盖前一个控件的界面。
示例代码:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<TextView
android:layout_width="300dip"
android:layout_height="300dip"
android:text="黑色"
android:layout_gravity="center"
android:background="#000000"
android:id="@+id/tv_black" />
<TextView
android:layout_width="200dip"
android:layout_height="200dip"
android:text="红色"
android:layout_gravity="center"
android:background="#FF0000"
android:id="@+id/tv_red" />
</FrameLayout>
18.线性布局(重点)线性布局在xml文件中使用<LinearLayout>来定义。
线性布局可以分为水平和垂直方向的布局,可以通过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值中所占的比率而定。
weight的使用。
示例代码一:线性布局
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="第一控件" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="第二控件" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="按钮"
/>
</LinearLayout>
示例代码二:水平布局
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity" >
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="按钮"
/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="第一控件" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="第二控件" />
</LinearLayout>
</LinearLayout>
19.相对布局(重点) 各个组件都是按照相对位置来拜访。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<ImageView
android:layout_width="80dip"
android:layout_height="80dip"
android:src="@drawable/ic_launcher"
android:id="@+id/iv"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="王安全出轨事件曝光王安全出轨事件曝光王安全出轨事件曝光王安全出轨事件曝光王安全出轨事件曝光"
android:singleLine="true"
android:layout_toRightOf="@id/iv"
android:id="@+id/tv_title"
android:textSize="16sp"
/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="王安全出轨王安全出轨王安全出轨王安全出轨王安全出轨王安全出轨王安全出轨王安全出轨王安全出轨王安全出轨王安全出轨王安全出轨王安全出轨王安全出轨"
android:layout_toRightOf="@id/iv"
android:maxLines="4"
android:layout_below="@id/tv_title"
android:textSize="12sp"
/>
</RelativeLayout>
20、嵌套布局线性布局与相对布局相互嵌套。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="按钮"
android:id="@+id/bt"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_toRightOf="@id/bt"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="王安全出轨事"
android:id="@+id/tv_title"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="描述描述描述描述描述"
android:background="#FF0000"
android:id="@+id/tv_desc"
/>
</LinearLayout>
</RelativeLayout>
来自为知笔记(Wiz)
附件列表
线性布局在xml文件中使用<LinearLayout>来定义。
线性布局可以分为水平和垂直方向的布局,可以通过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值中所占的比率而定。
weight的使用。
示例代码一:线性布局
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="第一控件" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="第二控件" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="按钮"
/>
</LinearLayout>
示例代码二:水平布局
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity" >
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="按钮"
/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="第一控件" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="第二控件" />
</LinearLayout>
</LinearLayout>
各个组件都是按照相对位置来拜访。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<ImageView
android:layout_width="80dip"
android:layout_height="80dip"
android:src="@drawable/ic_launcher"
android:id="@+id/iv"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="王安全出轨事件曝光王安全出轨事件曝光王安全出轨事件曝光王安全出轨事件曝光王安全出轨事件曝光"
android:singleLine="true"
android:layout_toRightOf="@id/iv"
android:id="@+id/tv_title"
android:textSize="16sp"
/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="王安全出轨王安全出轨王安全出轨王安全出轨王安全出轨王安全出轨王安全出轨王安全出轨王安全出轨王安全出轨王安全出轨王安全出轨王安全出轨王安全出轨"
android:layout_toRightOf="@id/iv"
android:maxLines="4"
android:layout_below="@id/tv_title"
android:textSize="12sp"
/>
</RelativeLayout>
20、嵌套布局线性布局与相对布局相互嵌套。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="按钮"
android:id="@+id/bt"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_toRightOf="@id/bt"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="王安全出轨事"
android:id="@+id/tv_title"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="描述描述描述描述描述"
android:background="#FF0000"
android:id="@+id/tv_desc"
/>
</LinearLayout>
</RelativeLayout>
来自为知笔记(Wiz)
附件列表
线性布局与相对布局相互嵌套。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="按钮"
android:id="@+id/bt"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_toRightOf="@id/bt"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="王安全出轨事"
android:id="@+id/tv_title"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="描述描述描述描述描述"
android:background="#FF0000"
android:id="@+id/tv_desc"
/>
</LinearLayout>
</RelativeLayout>
附件列表
第1天
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。