Android开发基础知识

Android 开发

1. Android基础知识

1.1 发展历程

Android开发基础知识_第1张图片

1.2 Android系统体系架构

Android开发基础知识_第2张图片
Android采用分层架构

  • Kernel层:Android平台的基础。有线程管理和内存管理等功能。
  • HAL层:HAL的目的是把Framework与Kernal分开,对Kernal进行简单封装,向上提供接口,屏蔽底层的实现细节。
  • 原生的C/C++及Android Runtime:库文件。ART是虚拟机
  • Framework层:Android的应用程序框架,为应用程序层的开发者提供APIs,包括C++和Java
  • 应用层:Android的应用程序,主要是用户界面(UI)方面的。

1.3 Android应用组件

Android开发基础知识_第3张图片

  • Activity:界面,是开发者遇到的最频繁,也是Android中最基本的组件之一。
  • Service:后台服务,可以与其他组件进行交互,Service没有界面。
  • BroadcastReceiver:接收广播,是跨进程通信的一种简单方式。
  • ContentProvider:存储和读取数据,相当于数据库

1.4 Android开发工具

Android Studio:
Android Studio是谷歌推出的一个Android开发工具,基于IntelliJ IDEA。

架构组成:

  • 基于Gradle的构建支持
  • 提示工具以捕获兼容性,性能,可用性等问题。
  • 支持ProGuard和应用签名

Android SDK(software development kit) 软件开发工具包

SDK:被软件开发工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合

Android SDK:指的是Android的软件开发工具包。采用Java语言

Java JDK :Java开发工具包

环境验证:
在这里插入图片描述
在这里插入图片描述

1.5 新建一个Android应用

应用的目录结构:

Android开发基础知识_第4张图片

  • libs:包含应用可能用到的so、jar、arr等库文件。

  • java:包含项目中所有用到的java源文件
    Android开发基础知识_第5张图片

  • res/drawable:这个目录下包含所有的drawable对象。
    Android开发基础知识_第6张图片

  • res/layout:这个目录存放用于定义用户界面的文件。

Android开发基础知识_第7张图片

  • res/values:这个目录存放各种各样的包含一系列资源的XML文件,比如字符串和颜色定义
  • AndroidManifest.xml:这个是应用程序的清单文件,描述了应用程序的基础特性,定义它的各种组件。
  • build.gradle:编译配置相关的文件。

UI
Android UI 都是由ViewGroup和View组成的

布局
布局(layout)可定义应用中的界面结构(例如Activity的界面结构)。布局中的所有元素均使用View和ViewGroup对象的层次结构进行构建。View通常绘制用户可查看并进行交互的内容。ViewGroup是不可见容器,用于定义View和其他ViewGroup对象的布局结构。
Android开发基础知识_第8张图片

声明布局

  • 在XML中声明界面元素
    Android开发基础知识_第9张图片

  • 在运行时实例化布局元素
    在这里插入图片描述

  • 编写XML
    利用 Android 的 XML 标签,快速设计UI 布局。 每个布局文件都必须只包含一个根元素。 定义根元素后,可以以子元素的形式添加其他布局对象或控件,从而逐步定义布局的视图层次结构。
    在XML中声明布局后,以 .xml 扩展名将文件保存在Android 项目的 res/layout/ 目录中。

  • 加载XML资源
    当编译应用时,系统会将每个 XML 布局文件编译成View资源。在Activity.onCreate() 回调内,通过调用 setContentView() ,并以 R.layout.layout_file_name 形式向应用代码传递布局资源的引用 ,加载应用代码中的布局资源。

1.6 Android常用的布局和控件

常用布局:

  • 框架布局
  • 线性布局
  • 相对布局
  • 约束布局
  • 表格布局
  • 绝对布局

常用控件:

  • TextView
  • EditText
  • Button
  • ImageView
  • CheckBox
  • RadioButton
  • ProgressBar
  • ScrollView
  • ListView

属性

每个 View 对象和 ViewGroup 对象均支持自己的各种 XML 属性 。某些属性是 View 对象的特有属性(例如,TextView 支持 textSize 属性),但可扩展此类的任一 View 对象也会继承这些属性。某些属性是所有 View 对象的共有属性,因为它们继承自 View 根类(例如 id 属性)。

ID

任何 View 对象均可拥有与之关联的整型 ID,用于在结构树中对 View 对象进行唯一标识。编译应用后,系统会以整型形式引用此 ID,但在布局 XML 文件中,系统通常会以字符串的形式在id属性中指定该ID。这是所有 View 对象共有的 XML 属性。

android:id="@+id/tv"

ID字符串名称,在同一布局中必须是唯一的,不能重名,不同布局中可以同名。

TextView textView =(TextView) findViewById(R.id.tv);

线性布局 – LinearLayout

LinearLayout是一个视图容器,用于使所有子视图在单个方向(垂直或水平)保持对齐。

布局方向
android:orientation 属性指定布局方向。
Android开发基础知识_第10张图片
布局权重
android:layout_weight
通过给子视图设置权重值,来分配子视图所占空间的权重(比例),如图三个子视图权重分别设置为1,均分页面空间
Android开发基础知识_第11张图片
布局位置
视图可以通过调用 getLeft() 方法和 getTop() 方法来获取视图的坐标位置 ,也可以通过getWidth() 和 getHeight() 获取视图的尺寸,这些方法返回的值是相对于其父视图的位置。

你可能感兴趣的:(android,android,studio,java)