Android
安卓开发者指南:https://developer.android.google.cn/guide
1 概述
常见概念:
SDK:Software Development Kit ,软件开发工具包
NDK:Native Development Kit , Android原生工具开发包
Android系统框架
Android版本
应用领域
车载,智能家居(智能冰箱),支付领域,AR(增强现实),VR(虚拟现实)
2 Android Studio
由来:2013.5.16,I/O大会,Google,基于IntelliiJ IDEA,集成的Android开发工具
继承了idea的所有功能,专门用于Android开发,Google停止了对Eclipse Android开发支持,功能强大。
去中文社区下载zip,https://www.androiddevtools.cn/,也可以直接去官网下载exe文件自己安装,但是安装好之后也是上面zip解压出来的文件夹。
解压后的zip文件目录:
在bin里面找到64位的exe文件打开,第一次进工具:
Do not import settiong
Cancel(Unable to access Android SDK add-on list)
Next -> SDK的配置(SDK路径引入,下载SDK,配置路径)
2.1 创建Android工程
new project->sdk选择->Activity, layout的创建
Empty Activity
连上真机设备运行
New Module(module相当于以前的工程,project相当于以前的workplace)
运行Module:选择Module->运行
右键Modulle->run ‘MainActivity’
删除Module:open Module Seting(F4),移除,最后右键Module delete
导入Module:New->Import Module->选择module路径
下面花一点时间了解一下最重要的文件:
首先,确保已打开 Project 窗口(依次选择 View > Tool Windows > Project),并从该窗口顶部的下拉列表中选择 Android 视图。随后,可以看到以下文件:
app > java > com.example.myfirstapp > MainActivity
这是主 Activity,它是应用的入口点。当构建和运行应用时,系统会启动此 Activity 的实例并加载其布局。
app > res > layout > activity_main.xml
此XML文件定义了 Activity 界面的布局,它包含一个 TextView 元素,其中具有“Hello, World!”文本。
app > manifests > AndroidManifest.xml
清单文件描述了应用的基本特性并定义了每个应用组件。
Gradle Scripts > build.gradle
有两个使用此名称的文件:一个针对项目“Project: My First App”,另一个针对应用模块“Module: app”。每个模块均有自己的 build.gradle 文件,但此项目当前仅有一个模块。可以使用每个模块的 build.file 控制 Gradle 插件编译应用的方式。要详细了解此文件,请参阅配置编译版本。
2.2 Gradle
Android主流的编译工具
项目: setting.gradle、 build.gradle
Module : build.gradle
Gradle中的部分配置
minSdkVersion:最小API level
compileSdkVersion:编译的SDK版本
targetSdkVersion:目标版本
dependencies:依赖配置,依赖的库
2.3 运行应用
2.3.1 真机设备
按照以下步骤设置设备:
- 使用一根 USB 数据线将设备连接到开发计算机。如果是在 Windows 上开发的,则可能需要为设备安装合适的 USB 驱动程序(https://developer.android.google.cn/studio/run/oem-usb)。
- 执行以下步骤,在开发者选项窗口中启用 USB 调试:
a. 打开设置应用。
b. 如果设备使用 Android v8.0 或更高版本,请选择系统。否则,请继续执行下一步。
c. 滚动到底部,然后选择关于手机。
d. 滚动到底部,然后点按版本号七次。
e. 返回上一屏幕,滚动到底部,然后点按开发者选项。
f. 在开发者选项窗口中,向下滚动以查找并启用 USB 调试。
按照以下步骤操作,在设备上运行应用:
- 在 Android Studio 中,从工具栏中的运行/调试配置下拉菜单中选择您的应用。
- 在工具栏中,从目标设备下拉菜单中选择要用来运行应用的设备。
目标设备下拉菜单。
资料来源:https://developer.android.google.cn/training/basics/firstapp/running-app
2.3.2 创建模拟器
Open AVD Manager
Select Hardware(Nexus S, 4.0)
第三方模拟器:genymotion,夜神
2.4 相关设置
1.快捷键的设置
file–settings–keymap–搜索class name completion,右键add Keybord
2.常用快捷键
格式化代码 ctrl+alt+l
撤销 ctrl+z,反撤销ctrl+shift+z
提示代码 ctrl+alt+空格
代码自动修正 alt+enter
显示文档说明 ctrl+q
查找 ctrl+f
按关键字进行全局搜索 ctrl+shift+f
导入包:alt+回车
查找类:ctrl+N
添加行号:右键行号位置,选择show Line Numbers。file-setting-editor-Appearance
3.调试技巧
写日志(观察日志情况,反推。重新运行程序很慢)
断点调试
2.5 Android Studio常见问题
Android Studio常见问题:
https://blog.csdn.net/weixin_45044097/article/details/106442158
2.6 详解HelloWorld
介绍:
● 布局、清单文件、Activity
● 布局的种类
● 线性布局、相对布局、
-属性分析
-案例分享
2.6.1 Activity
Activity:可视化的界面
MainActivity, onCreate(), setContentView()
2.6.2 布局文件
Design模式可以托拉拽控件。
3.1.2 清单文件
AndroidManifest.xml
3 布局
布局是指对界面结构的全面规划与安排,通过 api 中提供的各种布局能够快速的完成对于界面的设计。
3.1 布局种类
Android六大布局:
◆ 线性布局 ( LinearLayout )
◆ 相对布局 ( RelativeLayout)
◆ 帧布局 ( FrameLayout )
◆ 表格布局 ( TableLayout )
◆ 网格布局 ( GirdLayout )
◆ 约束布局 ( ConstraintLayout )
3.2 添加布局
利用XML文件设计;使用java代码添加(麻烦,不易维护)
res–layout, 右键,new -> Layout resource file
3.3 布局的属性
布局重要属性
◆ android:layout_width 宽度:wrap_content随即增大,match_parent与父容器同,200dp
◆ android:layout_height 高度
◆ android:layout_padding 内边距
◆ android:layout_margin 外边距
3.4 线性布局(LinearLayout)
线性布局重要属性
◆android:orientation 方向:vertical:垂直的, horizontal:水平的
◆android:layout_weight 权重:先摆放其他控件,最后把这个权重的空间占满
◆android:layout_gravity 重力:top, bottom, center, left, right, center_horizontal, center_vertical
3.5 相对布局(RelativeLayout)
依靠参照物定位的布局,最灵活的布局。
相对布局重要属性
◆ 相对于父容器 (取值: true / false),如:
android:layout_alignParentRight
android:layout_centerHorizontal
◆ 相对于其他控件 (取值:其他控件id),如:
android:layout_toRightOf
android:layout_alignRight
3.6 帧布局(FrameLayout)
android:layout_gravity(控件重力)
android:foreground(前景)
android:foregroundGravity(前景重力)
实例:
四个按钮添加点击事件
3.7 表格布局(TableLayout)
重要属性
android:stretchColumns 设置可伸展的列
android:shrinkColumns 设置可以收缩的列
android:collapseColumns 设置可隐藏的列
如果直接在TableLayout中添加控件,那么控件和父容器等宽,如果想让控件出现在同一行,那么这些控件的外层一定要加一对< TableRow >标签,在这个控件里宽度默认wrap_content
所有button等宽,android:stretchColumns="*"
3.8 网格布局(GirdLayout)
安卓4.0之后才出现网格布局
重要属性
android:rowCount 行数量
android:columnCount 列数量
android:layout_row 位于第几行
android:layout_rowSpan 跨几行,搭配使用:android:layout_gravity=“fill”
match_parent,最后一行会占满所有剩余空间,应该式样wrap_content
3.9 约束布局(ConstraintLayout)
AndroidStudio2.2以后新增的布局之一
重要属性:
app:layout_constraintBottom_toBottomOf(约束当前view的底部位置)
app:layout_constraintHorizontal_bias=“0.213” 水平偏移量,取值0~1,无须marginLeft,默认0.5
Inspector的认识
Guidelines
完成,熟悉,托拉拽方式