Android布局文件
导语
内容: 开发工具+布局文件
开发工具: eclipse
本节共有5点内容:
一 Android工具介绍
Eclipse + ADT 开发工具
SDK 开发工具包
SDK Manager 开发包管理器
1.1 开发工具: Eclipse + ADT(Android Developer Tools)
- 只要下载ADT Bundle即可:
- ADT Bundle包含了Eclipse、ADT插件和SDK Tools,是已经集成好的IDE,只需安装好Jdk即可开始开发,推荐初学者下载ADT Bundle,不用再折腾开发环境。
- 下载地址: http://www.androiddevtools.cn
1.2 开发工具: Android Studio
- Android Studio是谷歌官方推荐的开发工具,越用越好用
- 下载地址: http://www.androiddevtools.cn
1.3 Android SDK (软件开发环境, Android调试工具, 模拟等)
- 默认 Eclipse+ADT 或者 Android Studio 都自带最新Android SDK.
- 但开发者也可自行下载各个版本的SDK.
1.4 SDK目录
- add-ons (额外开发资料, google地图资源)
- build-tools : 编译工具目录
- docs : 离线版开发文档
- extras : 向下兼容的jar包, intel工具
- platforms : Android开发版本平台jar包
- platform-tools : 平台开发工具(adb)
- sources : 开发平台源码
- system-images : 模拟器镜像文件
- tools : 开发者常用工具
二 环境搭建
2.1 win7需要配置adb环境
配置 JAVA_HOME
- C:\Program Files\Java\jdk1.8.0_101
配置 ANDROID_SDK_HOME
- 指定一个非中文, 并且没有空格的文件夹
- D:\android\develop\adt-bundle-windows-x86_32_20131019\adt-bundle-windows-x86-20131019\sdk\platform-tools
配置PATH
- %ANDROID_SDK_HOME%;%JAVA_HOME%\bin;SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\Program Files\MySQL\MySQL Server 5.5\bin;C:\Program Files\SinoVoice\jTTS 5.0 Desktop\Bin
2.2 Mac需要下载jdk1.6
- 当要求下载jdk1.6时,自行百度下载就行
三 Android项目基础介绍
3.1 adb命令介绍(基本用不到)
ADB (Android debug bridge) Android调试桥
- adb devices 查看当前已连接的设备
- adb start-server 开启 adb 服务
- adb kill-server 杀死 adb 服务
- adb shell 进入Android控制台(执行Linux命令)exit退出
- adb logcat 打印日志信息
- adb install xxx.apk : 安装应用
- adb uninstall 包名 : 根据包名卸载应用
- adb push hiahia.txt /sdcard/hiahia.txt : 上传文件
- adb pull /sdcard/hiahia.txt . : 下拉文件
- adb -s emulator-5554 :指定设备
-
adb可能因为360, 金山卫士, 腾讯QQ影响无法使用
- 端口5037被占用
- netstat -ano | find “5037” 查看谁占用端口
- 杀掉进程kill pid
3.2 写一个Android项目
- 创建一个Android Project
- 写UI界面布局.
- 根据业务逻辑写Java代码.
3.3 Android项目工程目录结构:
- src: 存放java代码
- gen: 存放自动生成文件的. R.java 存放res文件夹下对应资源的id
- project.properties: 指定当前工程采用的开发工具包的版本
- libs: 当前工程所依赖的jar包.
- assets: 放置一些程序所需要的媒体文件.
- bin: 工程的编译目录. 存放一些编译时产生的临时文件和当前工程的.apk文件.
- res(resources): 资源文件.
- drawable: 存放程序所用的图片.
- layout: 存放android的布局文件.
- menu: 存放android的OptionsMenu菜单的布局.
- values (应用程序所需要的数据. 会在R文件中生成id)
- strings.xml 存放android字符串.
- dimens.xml 存放屏幕适配所用到的尺寸.
- style.xml 存放android下显示的样式.
- values-sw600dp 7寸平板所对应的值
- values-sw720dp-land 10寸平板所对应的值
- values-v11 指定3.0版本以上的手机显示的样式.
- values-v14 指定4.0版本以上的手机显示的样式.
- AndroidManifest.xml: android应用程序的入口文件. 声明了android里边的组件. 和相关配置信息.
- proguard-project.txt: 加密当前程序所使用.
3.4 启动打包安装过程
Run as Android Application 后,系统会自动运行下面3点 :
- 1.生成apk文件.
- 1). 生成.dex文件.
- 2). 资源索引表的生成resources.arsc.
- 3). 准备未编译文件.
- 4). 清单文件AndroidMenifest.xml文件转换成二进制.
- 5). 使用debug.keystore对整个应用程序进行打包签名.
- 2.加载apk文件到模拟器中.
- 把apk文件加载到/data/local/tmp/xxx.apk
- 3.安装应用程序.
- 1). 把/data/local/tmp/xxx.apk文件, 剪切/data/app/包名-1.apk
- 2). 在/data/data/文件夹下以包名创建一个文件夹, 用于存储当前程序的数据.
- 3). 在packages.xml和packages.list文件中分别添加一条记录.
3.5 如何在手机上运行Android项目
- 买根数据线
- 插上电脑
- 装驱动(驱动精灵,驱动人生,应用宝,360手机卫士)
- 开启usb调试模式
3.6 R文件报错处理:
- 不能以关键字命名
- 资源不能以数字开头
- 布局文件内部有错误, 有小红叉
3.7 点击事件的4种写法
- 定义一个内部类实现OnClickListener接口
- 使用匿名内部类对象实现
- 使用当前类,继承接口
- 定义xml属性
- 定义xml的属性android:onClick=”call”
- 在代码里写方法 public void call(View view){}
3.8 短信发送器
- 拿到联系人电话号码
- 群发短信
3.9 Android的颜色模式
RGB (Red, Green, Blue) #FF0000
3.10 控件
- 显示文本的控件 TextView
- 输入框控件 EditText
- 按钮控件 Button
3.11 Android中的显示单位
- px (pixels)像素
- 一般HVGA代表320×480像素。该单位不常用. 机顶盒开发可能用.
- dip或dp (device independent pixels)设备独立像素
- 这个和设备硬件有关,一般为了支持WVGA、HVGA和QVGA 推荐使用这个,不依赖像素。
- sp (scaled pixels — best for text size)比例像素
- 主要处理字体的大小,可以根据用户系统的字体自适应。
- 除了上面三个显示单位,下面还有几个不太常用:
- in (inches)英寸
- mm (millimeters)毫米
- pt (points)点,1/72英寸
- in (inches)英寸
- 为了适应不同分辨率,不同的像素密度,推荐使用dip ,文字使用sp。
四 Android常见布局
LinearLayout
RelativeLayout
FrameLayout
AbsoluteLayout
TableLayout
LinearLayout 线性布局
- 控件一个接一个排列
- 属性参数
- android:orientation="vertical"垂直排列
- android:layout_width="match_parent" 填充父窗体
- android:layout_height="wrap_content"包裹内容
* orientation 属性是**指定线性布局的排列方向**:
- horizontal 水平
- vertical 垂直
* gravity属性是**指定当前控件内容显示位置**:
- left 左边
- right 右边
- top 上边
- bottom 底边
* layout_gravity属性是**指定当前控件在父元素的位置**:
- left 左边
- right 右边
- top 上边
- bottom 底边
* layout_weightSum(权重)属性是**把线性布局中剩余空间分成N份**.
* layout_weight (权重)属性是**指定当前控件在父元素(线性布局)中占N份**.
* visibility属性是**控制布局是否显示**:
- visible 显示
- invisible 不显示但占空间
- gone 隐藏
RelativeLayout 相对布局
- 控件之间以相对位置排列
- android:layout_toRightOf 在指定控件的右边
- android:layout_toLeftOf 在指定控件的左边
- android:layout_above 在指定控件的上边
- android:layout_below 在指定控件的下边
- android:layout_alignBaseline 跟指定控件水平对齐
- android:layout_alignLeft 跟指定控件左对齐
- android:layout_alignRight 跟指定控件右对齐
- android:layout_alignTop 跟指定控件顶部对齐
- android:layout_alignBottom 跟指定控件底部对齐
- android:layout_alignParentLeft 是否跟父布局左对齐
- android:layout_alignParentTop 是否跟父布局顶部对齐
- android:layout_alignParentRight 是否跟父布局右对齐
- android:layout_alignParentBottom 是否跟父布局底部对齐
- android:layout_centerVertical 在父布局中垂直居中
- android:layout_centerHorizontal 在父布局中水平居中
- android:layout_centerInParent 在父布局中居中
- android:layout_marginRight 距离指定父控件的外边距
FrameLayout 帧布局
- 一层盖一层
- 帧布局每次添加的控件都显示在最上面,最后显示在界面上的是最后添加的一个控件
AbsoluteLayout 绝对布局
- 通过x, y指定绝对位置.
- android:layout_x 指定控件在父布局的x轴坐标
- android:layout_y 指定控件在父布局的y轴坐标
TableLayout 表格布局
- 类似Html表格
- android:shrinkColumns 收缩列
- android:stretchColumns 拉伸列
- android:collapseColumns 隐藏列
- android:layout_column 指定列(作用在列的身上)
- android:layout_span 合并列(作用在列的身上)
- TableRow单元行里的单元格的宽度小于默认的宽度时就不起作用,其默认是fill_parent,高度可以自定义大小