第1章 Android基础入门

目录

  • 第1章 Android基础入门
    • 1.1 Android简介
      • 1.1.1 通信技术
      • 1.1.2 Android发展史
      • 1.1.3 Android体系结构
      • 1.1.4 Dalvik虚拟机
    • 1.2 Android开发环境搭建
      • 1.2.1 Android Studio安装
      • 1.2.2 模拟器创建
      • 1.2.3 SDK下载
    • 1.3 Android程序结构
    • 1.4 资源的管理与使用
      • 1.4.1 图片资源
      • 1.4.2 主题和样式资源
      • 1.4.3 布局资源
      • 1.4.4 字符串资源
      • 1.4.5 颜色资源
      • 1.4.6 尺寸资源
      • **Android支持的尺寸单位**
    • 1.5 程序调试
      • 1.5.1 单元测试
      • 1.5.2 LogCat(日志控制台)

1.1 Android简介

什么是Android?

Android本指“机器人”,谷歌公司将绿色机器人设计为Android的标识,表示Android系统符合环保概念,是一个轻薄短小,功能强大的移动系统,是第一个真正为手机打造的开放性系统

Android和IOS的主要区别

1.1.1 通信技术

第一代:最初的模拟、仅限语音的蜂窝电话标准(1G) --> 第二代:以数据语音传输技术为核心(2G) --> 第三代:将无线通信与国际互联网等多媒体通信结合(3G) --> 第四代:IMT-Advanced技术(4G) --> 第五代:尚未正式商用(4G)

1.1.2 Android发展史

1.1.3 Android体系结构

1.1.4 Dalvik虚拟机

Dalvik是谷歌自己设计用于Android平台的虚拟机,主要是完成对象生命周期管理,堆栈管理,线程管理,安全和异常管理,以及垃圾回收等重要功能

1.2 Android开发环境搭建

1.2.1 Android Studio安装

配置环境(JDK版本最低为1.7,系统空闲内存至少为2GB) --> 下载Android Studio --> 安装完成 --> Android Studio配置

参考文章:从零开始的安卓开发环境搭建与入门_狂神说-CSDN博客_从零开始的安卓开发环境搭建与入门

1.2.2 模拟器创建

单击ADV Manager标签 --> 选择设备类型及尺寸 --> 选择合适的SDK版本 --> 创建模拟设备 --> 完成创建

参考文章:Android Studio新建内置模拟器

1.2.3 SDK下载

参考文章:Android Studio 和 SDK 下载、安装和环境变量配置

1.3 Android程序结构

(1)app:用于存放程序的代码和资源等内容,它包含很多子目录

  • libs:用于存放第三方jar包
  • src/androidTest:用于存放测试的代码文件
  • src/main/java:用于存放程序的代码文件
  • src/main/res:用于存放程序的资源文件
  • src/AndroidMainifest.xml:整个程序的配置文件
  • app/build.gradle:App的gardle构建脚本

(2)build.gradle:程序的gradle构建脚本

(3)local.properties:用于指定项目中国所使用的SDK路径

(4)setting.gradle:用于配置在Android程序中使用到的子项目(Moudle)

1.4 资源的管理与使用

资源:可以在代码中使用的外部文件(res目录下)

1.4.1 图片资源

根据图片资源的用途不同分为应用图标资源界面中使用的图片资源:应用图标资源应放置在mipmap开头的文件夹中,界面中使用的图片资源应该放置在drawable开头的文件夹中

根据设备屏幕密度的不同,Android系统会自动匹配不同文件夹中的图片资源,如图

调用资源文件有两种方式:

(1)通过Java代码调用图片文件

getResources().getDrawable(R.mipmap.ic_launcher);    //调用mipmap文件夹中的资源
getResources().getDrawable(R.drawable.icon);    //调用以drawable开头的文件夹中的资源文件

(2)在XML布局文件中调用图片资源

@mipmap/ic_launcher //调用mipmap文件夹中的资源
@drawable/icon //调用以drawable开头的文件夹中的资源文件

1.4.2 主题和样式资源

Android中的样式和主题,都是用于为界面元素定义显示风格

(1)主题

主题是一种或多种的格式化属性集合,在程序中调用主题资源可以改变窗体的样式,对整个应用或某个Activity存在全局性影响,主题资源定义在res/values目录下的style.xml文件中

<style>标签用于定义主题,parent属性用于定义指定Android系统提供的父主题,其中的 <item> 标签用来设置主题样式
<resource>中可以有多个<style>,<style>中也可以有多个<itme>标签<resource>中可以有多个<style>,<style>中也可以有多个<itme>标签

要调用style.xml中的主题,可在src/AndroidMainifest.xml中设置,也可以在代码中设置

  • 在src/AndroidMainifest.xml中设置
<application...android:theme="@style/AppTheme"
</application>
  • 在java代码中设置
setTheme(R.style.AppTheme);

(2)样式

通过改变主题改变整个窗体样式,但是主题不能设置View控件的具体样式,因此需要创建一个样式来美化View控件,样式存放在res/values目录下的styles.xml文件中

在上述代码中通过标签设置控件样式,如宽高等

在布局文件的View控件中通过style属性调用textViewStyle样式的实例代码:

<TextView...style="@style/textViewStyle"/>

1.4.3 布局资源

在程序的res目录下有一个layout文件夹,其中存放的是程序中所有布局资源文件,用于搭建程序中的各个界面

当创建一个Android程序时,会默认在res/layout文件夹中生成一个布局资源文件activity_main.xml,也可以在res/layout文件夹中创建新的布局资源文件

在程序中调用布局资源文件,同样有两种调用方式

  • 通过Java代码调用

在Activity中,找到onCreate()方法,在该方法中通过调用setContentView()方法来加载Activity对应的布局资源文件

setContentView(R.layout.activity_main);
  • 在XML布局文件中调用

在XML布局文件中可以通过标签调用其他的布局资源文件

<include layout = "@layout/activity_main"/>

1.4.4 字符串资源

为了在开发中更加方便快捷的使用字符串,Android系统提供了强大的字符串资源,我们可以在res/values目录中的strings.xml文件中定义字符串

<resources><string name = "app_name">字符串</string>
<resources>

上述代码中,标签定义的就是字符串资源,strings.xml文件中只能有一个根元素,但根元素间可以包含多个标签

字符串资源的调用同样有两种方式

  • 通过Java代码调用
getResources().getString(R.string.app_name);
  • 通过XML布局文件调用
@string/app_name

1.4.5 颜色资源

在Android开发过程中,View空间默认的颜色不足以满足设计需求,因此会使用颜色资源来改变View控件的颜色,颜色资源通常定义在res/values/colors.xml文件中

上述代码中,标签定义的就是颜色资源,colors.xml文件中只能有一个根元素,但根元素间可以包含多个标签

颜色资源的调用同样有两种方式

  • 通过Java代码调用
getResources().getColor(R.color.colorPrimary);
  • 通过XML布局文件调用
@color/colorPrimary

1.4.6 尺寸资源

在Android界面中View的宽高和View之间的间距值是通过尺寸资源设置的,资源通常定义才res/values/dimens.xml中

上述代码中,标签定义的就是尺寸资源,dimens.xml文件中只能有一个根元素,但根元素间可以包含多个标签

尺寸资源的调用同样有两种方式

  • 通过Java代码调用

在Activity中,找到onCreate()方法,在该方法中通过调用getResources().getDimension(方法来加载Activity对应的尺寸资源

getResources().getDimension(R.dimen.activity_horizontal_margin);
  • 通过XML布局文件调用
@dimen/activity_horizontal_margin

Android支持的尺寸单位

●px(pixels, 像素) :每个px对应屏幕上的一个点。例如,720x 1080的屏幕在横向有720个像素,在纵向有1080个像素.
●dp ( density-independent pixels,设备独立像素) : dp 与dip ( density-independent pixels)的意义相同,是一种与屏幕密度无关的尺寸单位。在每英寸160点的显示器上,ldip=1px. 当程序运行在高分辨率的屏幕上时,dp就会按比例放大,当运行在低分辨率的屏幕上时,dp就会按比例缩小。
●sp (scaled pixels, 比例像素) :主要处理字体的大小,可以根据用户字体大小首选项进行缩放。sp和dp是 比较相似的,都会在不同像素密度的设备.上自动适配,但是sp还会随着用户对系统字体大小的设置进行比例缩放,换句话说,它能够跟随用户系统字体大小变化而改变。所以它更加适合作为字体大小的单位。
●in(inches, 英寸) :标准长度单位。1英寸等于2.54厘米。 例如,形容手机屏幕大小,经常说3.2 (英)寸3.5(英)寸4(英)寸就是指这个单位。这些尺寸是屏幕对角线的长度。如果手机的屏幕是4英寸,表示手机的屏幕(可视区域)对角线长度是4x2.54= 10.16(厘米)。
●pt (points, 磅) :屏幕物理长度单位,1磅为1/72英寸。
●mm ( millimneters, 毫米) :屏幕物理长度单位。

1.5 程序调试

在实际开发中,每个Android程序都会进行一系列的测试工作,确保程序能够正常运行。测试Android程序有多种方式,例如单元测试LogCat (日志控制台)等,本节将针对这两种调试方式

1.5.1 单元测试

单元测试是指在Android程序开发过程中对最小的功能模块进行测试,单元测试包括Android单元测试和Junit单元测试

●Android单元测试:该测试方式执行测试的时候需要连接Android设备,速度比较慢,适合需要调用Android API的单元测试。

●Junit单元测试:该测试方式不需要依赖Android设备,在本地即可运行,速度快,适合只对Java代码功能进行的单元测试。

Android Studio 3.2版本在创建项目时,会默认在app/src/androidTest 和app/src/test文件夹中创建Android单元测试类ExampleInstrumentedTest和Junit单元测试类ExampleUnitTest

1.5.2 LogCat(日志控制台)

LogCat是Android中的命令行工具,用于获取程序从启动到关闭的日志信息,Android程序运行在设备中时,程序的调试信息就会输出到该设备单独的日志缓冲区中,要想从设备日志缓冲区中取出信息,就需要学会使用LogCat.

Android使用android.util.Log类的静态方法实现输出程序的调试信息,Log类所输出的日志内容分为六个级别,由低到高分别是Verbose、Debug、 Info、 Warmning、 Error、 Assert, 这些级别分别对应Log类中的Log.v()、Log.d()、 Log.i()、 Log.w()、 Log.e()、 Log.wtf()静 态方法

参考文章:Android单元测试与日志输出

特别声明:学习资源来源于传智教育 | 高校教辅平台

Android基础入门相关推荐

  1. android 编辑9图片,Android基础入门教程——1.6 .9(九妹)图片怎么玩

    Android基础入门教程--1.6 .9(九妹)图片怎么玩 Android基础入门教程 1.本节引言: 可能有的一些疑问: 1.什么是.9图片? 答:图片后缀名前有.9的图片,如pic1.9.png ...

  2. android 菜鸟面单打印_1.0 Android基础入门教程

    本教程于2015年7月开始撰写,耗时半年,总共148节,涵盖了Android基础入门的大部分知识,由于当时能力局限,虽已竭尽全力,但对于一些问题的分析难免有所纰漏,敬请读者海涵!IT技术更新换代很快, ...

  3. android设置webview缓存目录,Android基础入门教程——7.5.5 WebView缓存问题

    Android基础入门教程--7.5.5 WebView缓存问题 Android基础入门教程 本节引言:现在很多门户类信息网站,比如虎嗅,ifanr,钛媒体等等的APP,简单点说是信息阅读类的APP, ...

  4. Android基础入门教程——4.3.1 BroadcastReceiver牛刀小试

    Android基础入门教程--4.3.1 BroadcastReceiver牛刀小试 标签(空格分隔): Android基础入门教程 本节引言 本节我们将来学习Android四大组件中的第三个:Bro ...

  5. Android基础入门教程——10.1 TelephonyManager(电话管理器)

    Android基础入门教程--10.1 TelephonyManager(电话管理器) 标签(空格分隔): Android基础入门教程 本节引言: 本章节是Android基础入门教程的最后一章,主要讲 ...

  6. 最新Android基础入门教程目录(完结版)

    第一章:环境搭建与开发相关(已完结 10/10) https://blog.csdn.net/coder_pig/article/details/50000773 Android基础入门教程--1.1 ...

  7. Android基础入门教程——7.6.1 Socket学习网络基础准备

    Android基础入门教程--7.6.1 Socket学习网络基础准备 标签(空格分隔): Android基础入门教程 本节引言: 为了照顾没学过Java Socket的初学者,或者说捋一捋Andro ...

  8. Android基础入门教程——1.7 界面原型设计

    Android基础入门教程--1.7 界面原型设计 标签(空格分隔): Android基础入门教程 本节引言: 引用锤子科技视觉设计总监--罗子雄在重庆TEDx活动上说的一小段话: 每当我们看到一些美 ...

  9. Android基础入门教程——2.5.1 Toast(吐司)的基本使用

    Android基础入门教程--2.5.1 Toast(吐司)的基本使用 标签(空格分隔): Android基础入门教程 本节引言: 好的,终于学习完Adapter类相关的一些控件,当然除了讲解的那几个 ...

  10. Android基础入门视频培训教程-刘志远-专题视频课程

    Android基础入门视频培训教程-146257人已学习 课程介绍         Android基础入门视频培训课程,该教程内容涵盖Android入门开发基本技能(环境搭建.Lineralayout ...

最新文章

  1. wdatepicker设置初始时间_滑动条的滑块的初始位置应该放在哪儿?
  2. CCNA重点难点:生成树配置
  3. 使用Jedit建立IDE图文教程
  4. 【机器学习】SVM基本线性可分与多分类
  5. 什么是云计算基础设施? | 技术头条
  6. 第十章——维护索引(1)——索引碎片
  7. 一副对联,送给所有创业小公司
  8. Julia :PyPlot的plot_date
  9. 计算机CG技术未来发展前景,CG就业前景怎么样?
  10. 控制器设计:MIPS单周期CPU
  11. 云计算与云原生 — ETCD 数据库完全解析
  12. skywalking源码分析第二十三篇一扩展篇:全链路压测
  13. 服务器系统tcpip.sys,win7系统tcpip.sys文件引起蓝屏的解决方法
  14. 设置低电平有效,即取反
  15. 微信公众平台开发1-OAuth2.0网页授权(含源码)
  16. Default changeset implementation allows only one operation
  17. 稀里糊涂的解决了 cuda 和cudnn的安装以及conda安装pytorch出现的torch.cuda.is_available()为false的问题
  18. 看了这篇文,让你少走10年弯路
  19. Python批量修改图片名称
  20. Android InputDispatch事件派发->选择目标窗口

热门文章

  1. excel 数组函数入门讲座
  2. layout中蛇形线和差分线的使用
  3. mybatis generator 使用文档
  4. Hive collect、explode函数详解(包括concat、Lateral View)
  5. linux内核 can总线,基于Linux的PC104总线与CAN总线通信设计
  6. 视频监控流媒体服务器工作原理,流媒体服务器传输基本原理
  7. 带通滤波器的设计概述
  8. 智能家居助手(一)-项目概述
  9. html内容转换中文乱码怎么办,HTML中文乱码怎么解决?
  10. html面试信息登记表