Andriod基础(1)-我打算先做个app demo而已
app的测试,em……确实之前接触的不如web端多,趁此机会了解下,程咬金一个字,干!
学习地址:https://study.163.com/course/courseMain.htm?courseId=1003285007
一、Android的肤浅的概述
Android是一种基于Linux,主要使用于移动设备,如智能手机和平板电脑,Android最开始时打算用于智能相机的。2005年被google收购。在2008年9月,谷歌正式发布了Android 1.0系统,这也是Android系统最早的版本。
二、干啥都要先搭环境,烦求(Android环境搭建)
1、JDK :Android是基于JAVA开发的
2、Android 开发工具:Android studio,官网提供下载。不翻墙地址:http://www.android-studio.org/
3、Android SDK :开发Android的套件,在JDK之上封装了一层类库和api,一般安装Android studio后会提示是否需要装Android SDK (不翻墙下不了,我翻墙惹)
4、gradle:类似于Mavan,实时更新最新的类库,但有可能下载不下来。目前阶段可以先不纠结。Android studio自带gradle
三、新建一个android应用
1、配置sdk
(1)configure - SDK manager

(2)勾选sdk需要的版本(即操作系统的版本,可以支持更低的版本)--点击apply进行下载--点击ok

2、新建
(1)新建一个project

(2)命名application name为HelloAndroid--点击next

(3)选择phone and tablet (手机和平板)--点击next

tip:
- 从该页面可以选,android可以用于穿戴设备、TV、汽车等。
-
API Level选择:
下拉列表对API Level进行选择
image.png
点击Help me choose,显示各版本的分布图
image.png
image.png
4.0以上 对应100%,5.1以上 对应80.2%,可以根据自己app的使用场景来对版本进行选择。
(4)选择界面-empty activity--点击next
image.png
(5)设置activity name,activity相当与一个窗口,设置的主窗口的name,默认选择就行--点击finish
image.png
(6)在软件的底部可以看到在开始各种初始化,下载各种库类(不翻墙可能会下不了)
image.png
- tips:遇到报错
Error:Execution failed for task ‘:app:lintVitalRelease’.
解决:在build.gradle的android{}中加入以下代码
android{
lintOptions {
checkReleaseBuilds false
abortOnError false
}
}
(7)添加虚拟设备
右侧上方点击AVD manager -创建虚拟设备create virtual devices

选择机型-点击next

选择对应的版本,这里需要一个系统镜像,download即可

tips:在这还可能会出现 HAXM 未安装情况,根据链接下载就行-各种next -finish
点击开始小三角,就能呼出刚才设置的虚拟设备


(8)菜单栏run -选择MainActivity


我们第一个Android应用就生成了。撒花🎉

四、学习Android项目的文件结构和基本原理
(1)从文件夹观察结构

(2)在Android Studio里
可以选择不同的视角,常用project视角和Android视角

(2.1)Android视角

- app
image.png
(2.1.1)manifests -说明文件,包含AndroidManifest.xml文件,在简单的Android系统的应用中提出了重要的信息。是一个xml文件,可以配置android的icon\lable等。还有创建时的activity,相当于一个窗口、一个界面的概念。所以,当拿到一个android的源代码时,最先可以拿manifests文件来了解这个Android的结构。
image.png
tips:activity,实际是java的一个类
<activity android:name=".MainActivity">
包名就是:package="com.example.helloandroid"
(2.1.2)java

只有三个,第一个是对应Android 代码,第二个对应关于Android 界面测试,第三个对应unit测试的。
当第一个对应很多activity时,入口是哪个activity有这四行代码,哪个就是入口。

(2.1.3)res
- res-values
image.png
前面说到:
android:label="@string/app_name"
这个app_name可以通过res -values -strings 这个文件中配置app_name,不能在AndroidManifest.xml中写死,同时app可以国际化,各个国家的版本可能功能一样,只是显示的字不一样,可以进行配置。
image.png
project视角

比如刚才说的国际化,在res-values下面的strings,再建一个一样的,分别命名为strings_CN表示中文版,strings_EN表示英文版。

-
res-layout
layout放界面配置文件的,每一个activity一定有一个layout配置文件,一一对应的关系。layout对应MainActivity里的
setContentView(R.layout.activity_main);
-
res -mipmap
图片,可以看到同一个图片有多种形式,主要是应对Android手机不同的分辨率
image.png
-
gradle 主要做编译,目前不细说。