Android四大组件是一个android app 最基本的组成部分,这篇博客主要给大家简单的介绍一下四种组件

(1)Activities

(2)Services

(3)BroadcastReceiver

(4)ContentProvider

(1)Activities

我们先看看 android api guide 对Activities的简单介绍

就像上面所描述,你所使用的App中所看到的屏幕内容其实就是一个Activity,至于Activity的生命周期分析以及注意点,大家可以从我的博客《Android开发艺术探索》读书笔记之Activity的生命周期了解,今天这里主要是想和大家研究一下另类的Activity—”Fragments“

Fragment非常的类似于Activity,有着自己的生命周期,拥有自己的布局,本身可以作为事件监听器,在android 3.0(API lever 11)并没有Fragment,都是用Activity来表示用户页面,这就造成了一个问题,想象一下,同样的一个程序,在小屏幕手机上可能看起来非常的合适,但是你把程序移植到平板电脑上呢,这时候很有可能图片变形啦,感觉分辨率变低啦,控件之间的间距变大啦,为了给用户在大屏幕手机上更好的用户体验,Android在android 3.0(API lever 11)的时候引入了Fragment,Fragments嵌套在Activity中使用。先简单介绍下fragment的生命周期。

onAttach():当该Fragment被添加到Activity时被回调,该方法只会被回调一次

onCreate(Bundle SavedStatus):创建Fragment事被回调,该方法只会被调用一次

onCreateView():每次创建,绘制该Fragment的View组件时回调该方法,Fragment将会显示该方法返回的View组件

onActivityCreated():当Fragment所在的Activity被启动后回调该方法

onStart():启动Fragment时被回调

onResume():恢复Fragment时被回调,onStart()方法后一定会回调onResume()方法

onPause():暂停Fragment时被回调

onStop():停止Fragment时被回调

onDestroyView():销毁该Fragment所包含的View组件时被调用

onDestroy():销毁Fragment时被回调,该方法只会被调用一次

onDetach():将该Fragment从Activity中被删除,被替换完成时回调该方法,该方法只会被调用一次。

Activity,Fragment两者都有自己的生命周期,上面说了Fragment是嵌套到Activity中使用的,那两者的生命周期有什么联系吗?
API里的一张图很好的说明了两者之间的关系。

那么到底怎么把Fragment添加到Activity中呢?主要有两种方法,一种是静态加载,另外一种是动态加载,先来看看静态加载Fragment,静态加载Fragment就是将Fragment当成普通的UI控件放到界面Layout中,如下面

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
android:weightSum="1"> <fragment
android:name="com.keranbin.androidtrain.LeftFragment"
android:layout_width="0dp"
android:id="@+id/left_fragment"
android:layout_height="match_parent"
android:tag="LEFT"
android:layout_weight="0.3"></fragment>
<fragment
android:name="com.keranbin.androidtrain.RightFragment"
android:layout_width="0dp"
android:id="@+id/right_fragment"
android:tag="Right"
android:layout_height="match_parent"
android:layout_weight="0.7"></fragment>
</LinearLayout>

使用静态方式加载Fragment,当Activity创造Activity的Layout时,它会通过android:name找到相应的Fragment然后再在其onCreateView中取得该Fragment的页面布局文件加载在当前<fragment>中,另外需要注意的一点是,每个Fragment都需要一个独一无二的标志以便系统能找到该Fragment,其中有三种方式来赋予Fragment一个标志。

1:android:id

2:android:tag

3:android:id 和android:tag 这种情况下,系统会使用android:id,其实和1一样。

除了静态加载Fragment之外,还有动态加载Fragment,个人觉得,动态加载Fragment更加的灵活点。

package com.keranbin.androidtrain;

import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle; public class MainActivity extends AppCompatActivity {
FragmentManager fm;
FragmentTransaction ft; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); initFragments();
} /**
* initiate the LeftFragment and RightFragment
*/
private void initFragments() {
fm=getSupportFragmentManager();
ft=fm.beginTransaction(); LeftFragment lFragment=new LeftFragment();
ft.add(R.id.left_fragment,lFragment,"LEFT"); RightFragment rFragment=new RightFragment();
ft.add(R.id.right_fragment,rFragment,"RIGHT");      ft.commit();
}
}

Fragment暂时就介绍这么多,具体的会在Demo中讲诉。

(2)Services

看看 android api guide 对Activities的简单介绍

aaarticlea/png;base64,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" alt="" />

ANDROID培训准备资料之四大组件的简单介绍的更多相关文章

  1. Android(Lollipop/5.0) Material Design(一) 简单介绍

    Material Design系列 Android(Lollipop/5.0)Material Design(一) 简单介绍 Android(Lollipop/5.0)Material Design( ...

  2. Android基础整理之四大组件Activity

    最近准备系统的重新整理复习一下Android的各方面的知识,本着知识分享的原则,我就把梳理过程中一些东西给记录下来,权当一个学习笔记吧. 下面步入正题..... 什么是Activity Activit ...

  3. Android基础知识、四大组件(转)

    Android应用程序使用java语言编写的.Android SDK工具将所有的数据和资源文件以及代码进行编译,打包称为一个apk文件.一个apk文件中的所有代码被认为是一个应用,android系统的 ...

  4. Android四大组件之一Service介绍-android学习之旅(十二)

    基本概念: service是android四大组件之一,运行在后台执行耗时操作,并不提供用户界面.其他组件如acticity可以通过startService启动该组件,也可以通过bindService ...

  5. Android回炉系列之四大组件之首Activity

            有段时间没有认认真真研习过android了,android毕竟是我进这个软件开发圈子接触的第一门技术,android已经成了口头禅之类的东西了.当初学习android的时候大都是草草了 ...

  6. Android四大组件:BroadcastReceiver 介绍

    介绍 BroadcastReceiver 即广播组件,是 Android 的四大组件之一.用于监听和接收广播消息,并做出响应.有以下一些应用: 不同组件之间的通信(应用内或不同应用之间). 多线程之间 ...

  7. Android中有四大组件的简单总结

    Android四大基本组件分别是Activity,Service服务,Content Provider内容提供者,BroadcastReceiver广播接收器. 一:了解四大基本组件 Activity ...

  8. Android培训准备资料之五大布局简单介绍

    本篇博客主要简单的给大家介绍一下Android五大布局 (1)LinearLayout(线性布局) (2)RelativeLayout(相对布局) (3)FrameLayout(帧布局) (4)Abs ...

  9. ANDROID培训准备资料之项目结构简单介绍

    Android Studio项目结构初步主要介绍下面几个文件夹,后续再补充 (1)java文件夹的介绍 (2)Res文件夹的介绍 (3)R文件的介绍 (4)Manifests文件夹的介绍 我们先看看整 ...

随机推荐

  1. .net core从版本 3.0 迁移到 3.1引发的BUG

    前几天微软的.net core3.1发布后,随把visual studio 2019升级到16.4.1版本并把项目进行框架升级.升级后的项目在IdentityServer4授权后在360安全浏览器竟然 ...

  2. 渗透测试学习 十、 MSsql注入下

    大纲:MySQL介绍及操作 MySQL注入原理 MySQL注入其他操作 一.MySQL介绍及操作 介绍 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle ...

  3. 4.web基础$_POST

  4. 【2019.8.6 慈溪模拟赛 T3】集合(set)(线段树上DP)

    线段树上\(DP\) 首先发现,每个数肯定是向自己的前驱或后继连边的. 则我们开一棵权值线段树,其中每一个节点记录一个\(f_{0/1,0/1}\),表示在这个区间左.右端点是否连过边的情况下,使这个 ...

  5. SecureCRT 8.1工具下载和破解附Xshell6

    附教程:https://jingyan.baidu.com/article/eae078275917861fec548592.html 这一篇教程实际上已经说得非常明确了,只需要把注册机放在和secu ...

  6. PyCharm2019.3.1专业版激活

    PyCharm2019.3.1专业版激活 Python的IDE非常多,但个人感觉PyCharm最好用.JetBrains 致力于为开发者打造最高效智能的开发工具,与2019.12.19带来新的版本20 ...

  7. 源码详解系列(五) ------ C3P0的使用和分析(包括JNDI)

    简介 c3p0是用于创建和管理连接,利用"池"的方式复用连接减少资源开销,和其他数据源一样,也具有连接数控制.连接可靠性测试.连接泄露控制.缓存语句等功能.目前,hibernate ...

  8. erlang 资源

    https://github.com/ninenines https://github.com/drobakowski https://github.com/dizzyd

  9. ElementUI中如何实现Form表单内的文字居中

    <el-table :data='orderList' border stripe :align='center' :cell-style='cellStyle' :header-cell-st ...

  10. 关于使用IDEA,使用Maven打包项目

    关于使用IDEA,使用Maven打包项目 在近期的一个接口项目中,使用的是SpringBoot + Maven的配置, 由于使用IDEA不久,不太熟悉使用Maven进行项目打包.记录一下. 由于使用的 ...