初识安卓
Android 是一个开源的,基于 Linux 的移动设备操作系统,如智能手机和平板电脑。Android 是由谷歌及其他公司带领的开放手机联盟开发的。
Android 提供了一个统一的应用程序开发方法,这意味着开发人员只需要为 Android 进行开发,这样他们的应用程序就能够运行在不同搭载 Android 的移动设备上。
谷歌在2007年发布了第一个测试版本的 Android 软件开发工具包(SDK),第一个商业版本的 Android 1.0,则发布于2008年9月。
2012年6月27日,在谷歌I/O大会上,谷歌宣布发布了 Android 版本4.1 Jelly Bean。 Jelly Bean 是一个在功能和性能方面的渐进的更新,主要目的是改进用户界面,
Android 源代码是根据自由和开放源码软件许可证。谷歌发布的大部分代码遵循 Apache 许可证2.0版,Linux 内核的变化遵循 GNU 通用公共许可证版本2。
Android模拟器 Emulator
x86 复杂指令集
arm 精简指令集
可以在Windows系统中虚拟一台Android的手机。
步骤:
- 点击工具栏上的“Android Virtual Device Manager”图标
- 在弹出的窗口中点击右上角的New按钮
- 在弹出的窗口中配置模拟器相关参数后,点击完成
- 在列表中可以看到已经配置好的模拟器,选中模拟器后,点击Start按钮启动模拟器
- 弹出“Launch Options”窗口,确定参数后,点击“Launch”按钮
- 会进度到启动过程,时间长度不一定,耐心等待。
因为本次使用的开发工具版本不是很新,所以可以使用其他的模拟器代替此版本的模拟器。
例如:夜神、海马玩、蓝叠
如何运行第一个Android程序
如何新建一个Android项目:
- 鼠标右键 — New — Android Application Project
- 在新弹出的窗口中输入项目要配置的参数。
- 逐次点击Next,直到点击Finish按钮完成创建。
- 在确定有连接的手机(包括模拟器)的前提下,选中项目,右键—Run As…—Android Application
项目结构
- src文件夹:存放代码的文件夹,中间有包结构。
- gen文件夹:存放的是项目自动生成的配置java文件。开发者不能改动。
- bin文件夹:存放一些编译生成的文件,是存放编译生成的apk安装包的位置。
- res文件夹:主流资源文件夹
drawable-??dpi文件夹:存放不同分辨率的贴图
layout文件夹:存放布局文件,指定控件显示效果和位置的文件。 - AndroidManifest.xml 清单文件:存放项目配置的参数
布局 Layout
布局是摆放控件的规则。
Tip:
打开Windows显示文件扩展名的功能。
步骤
控制面板 — 查看类别:大图标 — 文件资源管理器选项 — 查看 — 取消勾选“隐藏已知文件的扩展名” — 确定
保持项目统一(初学必做)
每次新建项目后,需要执行如下操作,让新创建的项目结构一致且精简。
- 进入res—layout,删除activity_main.xml文件
- 进入src—MainActivity.java代码,进入onCreate方法,
更改setContentView(R.layout.activity_main);方法为
setContentView(R.layout.fragment_main); - 仔细删除MainActivity.java文件中除了onCreate以外的方法。
- 继续删除onCreate中的多余代码直到:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.fragment_main);
}
- 保存(Ctrl+S)所有更改的文件后,再次运行程序。
Tip:
在写代码的过程中,要善于使用自动补全的快捷键 Alt + /
通用属性
android:layout_width="match_parent" 宽度
android:layout_height="match_parent" 高度
可选值:
- match_parent 匹配父控件,上级多宽/长就多宽/长。
- wrap_content 包裹元素,内部的控件多宽/长就多宽/长。
- fill_parent 功能完全等同match_parent,通常使用match_parent
- 手动输入一个固定宽度,单位dp
背景颜色,采用RGB记色法,红绿蓝(0-255),采用十六进制。
RGB色表
外边距
android:layout_margin="10dp"
//还有单独设置某个方向的属性
内边距
android:padding="100dp"
//还有单独这是某个方向的属性
设置某个布局或控件中子元素的重力方向
android:gravity="bottom|right"