Android 学习笔记 -《基础概念科普》
发布日期:2021-06-30 14:57:35 浏览次数:2 分类:技术文章

本文共 2917 字,大约阅读时间需要 9 分钟。

Android 基本概念

本文约定

项目名:MyFirstApp

Android Studio 版本:3.0

清单文件 AndroidManifest.xml

app > manifests > AndroidManifest.xml

  • 定义启动类 MainActivity.java
  • 声明应用所需的权限
  • 声明应用所需的软硬件功能
  • 声明应用所需的最低 API 级别
  • 声明应用需要链接的 API 库
  • 声明应用的:Activity、Service、ContentProvider 必须声明,不然用不了。BroadcastReceiver 可以代码中动态创建和注册
  • 设置要用:名称、图标、主题

四大组件

活动 Activity

Activity 就是一个页面(类似于一个HTML文件) 、

每个APP有一个或多个 Activity 组成,其它的APP也可以调用你 APP中的某个Activity,但并不是直接调用。而是通过广播,让系统来调度,大家你情我愿(你的APP安装时就要跟系统打招呼,以后有XXX活,可以找我XXXActivity。比如你调用相机功能时,会跳出来一堆接活的Activity等你选)。

服务 Service

服务用来执行不需要UI页面的后台工作。

广播、接收器 BroadcastReceiver

系统和APP都可以发广播监听广播。通过定义好的协议做相应处理。(消息以Intent的形式打包)

内容提供程序 ContentProvider

ContentProvider 封装了数据CRUD,通过它操作数据,你不用操心那些数据从哪来。(当然如果从网上取,你的应该要能访问网络才行)。系统和别人的APP都可以提供 ContentProvider。我们也可以为自己的APP设计ContentProvider,这样我们还能设置权限,哪些数据可以让大家访问,哪些私有。

四大组件的小弟

可以在发生广播事件时创建状态栏通知提醒用户

意图 Intent

组间之间发送消息,都打包成 Intent 再丢来丢去。四大组件中,除了内容提供程序,其它的都是通过发Intent 来启动的。
Intent分显式和隐式。(模拟环境零散劳动力市场,工人们都在等活)
显式就是明确的说:哪个谁谁谁出来干活。
隐式就是说:要个泥瓦匠,有人没人?(如果有多个人回答,就会给个列表让你选)

public static final String EXTRA_MESSAGE = "一个当作KEY的字符串";	// 原 Activity 中按钮点击事件	/** 当用户点击【发送】按钮时调用 */    public void sendMessage(View view) {
... // 创建 intent 用到了 当前 Activity 和 目标 Activity.class Intent intent = new Intent(this, DisplayMessageActivity.class); // 向 intent 中压入数据 intent.putExtra(EXTRA_MESSAGE , "从当前Activity文本框中获取的字符串"); // 打开新的 Activity 同时把 intent 传给它 startActivity(intent); } // 目标 Activity onCreate事件 @Override protected void onCreate(Bundle savedInstanceState) {
... // 获取打开此活动的意图并提取字符串 Intent intent = getIntent(); String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE ); ... }

文件中的大佬们

要看文件先看资源管理器,这里可以切换显示模式,常用的有【Project】【Android】

在这里插入图片描述

app > java > com.example.myfirstapp > MainActivity.java

APP的入口 。运行APP时,系统会启动此 Activity。

app > res > layout > activity_main.xml

布局文件, MainActivity.javaonCreate 事件中加载了它。它通过各种标签定义UI元素,有点像HTML。

Gradle Scripts > build.gradle

build.gradle 文件用于配置 Gradle 工具,指明编译和构建您的应用的方式。每个项目会有一个 build.gradle,项目下的每个模块也都会有一个自己的 build.gradle

布局文件

存放位置 MyFirstApp\app\src\main\res\layout

布局文件是个 XML, 通过各自类型的标签定义UI页面,类似HTML 。相当于 Android 读取这个XML配置文件,然后生成UI面。那这些标签就对应各种UI组件。

View

它提供了最基本的UI绘制和事件处理能力,是所有UI对象的基类。按钮、文本、图片等UI对象 包括布局对象ViewGroup 都是它的子类。大概看一下它的子类里还是有些熟悉面孔的。

在这里插入图片描述

ViewGroup

它是所有布局对象的基类,继承于View 。作为布局对象通常是不可见的,能够嵌套其它 View 对象。

在这里插入图片描述
ViewGroup 嵌套关系:官网盗图

在这里插入图片描述


资源文件

资源文件的定义主要是为了防止硬编码。所以把这些值提取出来方便后期调整。

定义颜色

文件位置 : MyFirstApp\app\src\main\res\values\colors.xml

#3F51B5
#303F9F
#FF4081

定义字符串

文件位置 : MyFirstApp\app\src\main\res\values\strings.xml

My First App

定义样式

文件位置 : MyFirstApp\app\src\main\res\values\styles.xml


资源类 R

系统会帮我们生成一个 R 类 ,里面给每个资源定义了一个整形id。 R.类型.id

//Java 中这样取文本框 EditText editText = (EditText) findViewById(R.id.editText);

Android Studio 常用热键

Alt + Enter : 自动修复

Alt + / : 智能提示


转载地址:https://jerryjin.blog.csdn.net/article/details/86636841 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Spring 学习笔记《注解方式配置事务》
下一篇:Spring 学习笔记《切面编程 AOP 之 暗黑肉夹馍诞生》

发表评论

最新留言

很好
[***.229.124.182]2024年04月15日 23时36分50秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章