安卓市场-框架搭建

简介: 版权声明:您好,转载请留下本人博客的地址,谢谢 https://blog.csdn.net/hongbochen1223/article/details/46919729 在我们学习完android的基础知识之后,肯定很想通过自己所学习的基础知识来构建一个自己的安卓项目,但是又不知道从何下手,我们这个专题就是为了学习完安卓的基础知识之后,来练手用的。
版权声明:您好,转载请留下本人博客的地址,谢谢 https://blog.csdn.net/hongbochen1223/article/details/46919729

在我们学习完android的基础知识之后,肯定很想通过自己所学习的基础知识来构建一个自己的安卓项目,但是又不知道从何下手,我们这个专题就是为了学习完安卓的基础知识之后,来练手用的。

我们这款项目是通过编写一个我们经常用到的安卓市场来对知识的一个综合应用,该应用具体有以下功能:

  • 1:有这么几个tab,首页,分类,推荐和主题
  • 2:首页分为上中下三个部分,分别为搜索,推荐栏和app列表
  • 3:分类使用格子效果展示类别,点击进入app列表展示
  • 4:推荐是使用别人实现的一个推荐效果
  • 5:主题分别显示图片和文字介绍,点击进入之后显示app列表
  • 6:侧滑栏包含一些选项,包括设置,个人主页,检查更新以及下载管理等
  • 7:实现多线程下载,可以进行暂停,取消等操作
  • 8:其他功能

好了,废话少说,我们现在所要做的第一件事情就是先回顾一下android的基础知识。在我们以后的博客中,都会回顾一下与我们这篇进程相关的基础知识。

首先,我们知道安卓的四大组件分别为:

  • 1:activity(活动)
  • 2:service(服务)
  • 3:Broadcast Receiver(广播)
  • 4:Content Provider(内容提供者)

在这一篇博客中我们主要回忆的是android的第一个组件activity和android的Application。

我们知道,在我们进行android开发的时候,每一个activity都对应一个相应的界面,那么每一个activity都对应自己的生命周期,首先我们就来讨论一下activity的生命周期,所谓声明周期,就是activity从创建到销毁的过程。

我们看一下android的api中关于activity的声明周期的函数有以下几个:

@Override
    protected void onCreate(Bundle savedInstanceState) {
        setContentView(R.layout.activity_main);

        Log.e("activity--->","create");

        super.onCreate(savedInstanceState);


    }

    @Override
    protected void onStart() {
        Log.e("activity--->","start");
        super.onStart();
    }

    @Override
    protected void onRestart() {
        Log.e("activity--->","restart");
        super.onRestart();
    }

    @Override
    protected void onResume() {
        Log.e("activity--->","resume");
        super.onResume();
    }

    @Override
    protected void onPause() {
        Log.e("activity--->","pause");
        super.onPause();
    }

    @Override
    protected void onStop() {
        Log.e("activity--->","stop");
        super.onStop();
    }

    @Override
    protected void onDestroy() {
        Log.e("activity--->","destroy");
        super.onDestroy();
    }

1:首先我们看一下,当一个activity启动的时候,函数的调用顺序:

这里写图片描述

即onCreate()->onStart()->onResume()

2:当第一个activity启动另外一个activity的时候,两个activity分别调用什么函数呢?

我们来看一下:

这里写图片描述

即activity1 onPause()->activity2 onCreate() -> activity2 onStart() -> activity2 onResume() -> activity1 onStop()

3:当从第二个activity返回到第一个activity的时候,函数是如何调用的,我们来看一下:

这里写图片描述

即 activity2 onPause() -> activity1 onRestart() -> activity1 onStart() -> activity1 onResume() -> activity2 onStop() -> activity2 onDestroy()

4:当activity销毁的时候,会有哪几种情况呢?

第一种,按下返回键销毁activity:

这里写图片描述

activity onPause() -> activity onStop() -> activity onDestroy()

第二种:process kill的时候,也就是杀死进程的时候

activity onPause() -> Process kill
或者为
activity onPause() -> activity onStop() -> Process kill

下面我们来具体说一下这几个函数:

在我们进行项目开发的时候,这些函数我们基本上都是从父类中继承而来。

1:onCreate():当activity第一次启动的时候,该方法触发,在该函数中基本上完成activity的初始化工作。该函数有一个参数,用来保存在函数OnSaveInstance()的时候,保存的状态。

2:onStart():该函数表示开始该activity,即将该activity展示给用户

3:onResume():当一个activity与用户发生交互的时候,该方法被触发

4:onPause():一个activity从前台运行转到后台运行的时候,该方法被触发

5:onStop():当一个activity不需要展示给用户的时候,触发该方法。但是有的时候,该函数不会被触发而activity就已经被销毁了,我们刚刚看到的,三种activity被销毁的方式,所以,如果想要保存activity的状态,可以在onPause()函数中设置。

6:onRestart():当停止状态的活动再次展现给用户的时候,该函数被调用

7:onDestroy():当activity被销毁的时候被触发,但是有的时候不会被触发而直接销毁。

还有就是,所有的activity都是在activity栈中被管理的,这里不再多说。

下面我们来说一说android程序中的Application。

我们会误以为在android程序运行的时候,会直接运行第一个activity,其实这是不对的,其实一个程序的运行,首先会运行application。其实一个android程序的运行首先运行的是Application的onCreate()函数,而不是第一个Activity的onCreate()函数,在一个android程序中可以没有activity,但是必须要有Application。

在Application中,经常会定义一些全局的变量供其他activity使用。有兴趣的同学可以了解一下Application的声明周期。

好了,在这一篇中,我们先回顾了一些一会我们将会要用到的基础知识,下面一篇博客将要正式开始我们的android市场开发之路。

目录
相关文章
|
5月前
|
物联网 区块链 vr&ar
未来已来:探索区块链、物联网与虚拟现实技术的融合与应用安卓与iOS开发中的跨平台框架选择
【8月更文挑战第30天】在科技的巨轮下,新技术不断涌现,引领着社会进步。本文将聚焦于当前最前沿的技术——区块链、物联网和虚拟现实,探讨它们各自的发展趋势及其在未来可能的应用场景。我们将从这些技术的基本定义出发,逐步深入到它们的相互作用和集成应用,最后展望它们如何共同塑造一个全新的数字生态系统。
|
6月前
|
开发框架 前端开发 Android开发
安卓与iOS开发中的跨平台框架解析
在移动应用开发的广阔舞台上,安卓和iOS一直是两大主角。随着技术的进步,开发者们渴望能有一种方式,让他们的应用能同时在这两大平台上运行,而不必为每一个平台单独编写代码。这就是跨平台框架诞生的背景。本文将探讨几种流行的跨平台框架,包括它们的优势、局限性,以及如何根据项目需求选择合适的框架。我们将从技术的深度和广度两个维度,对这些框架进行比较分析,旨在为开发者提供一个清晰的指南,帮助他们在安卓和iOS的开发旅程中,做出明智的选择。
|
2月前
|
算法 JavaScript Android开发
|
2月前
|
开发框架 Dart Android开发
安卓与iOS的跨平台开发:Flutter框架深度解析
在移动应用开发的海洋中,Flutter作为一艘灵活的帆船,正引领着开发者们驶向跨平台开发的新纪元。本文将揭开Flutter神秘的面纱,从其架构到核心特性,再到实际应用案例,我们将一同探索这个由谷歌打造的开源UI工具包如何让安卓与iOS应用开发变得更加高效而统一。你将看到,借助Flutter,打造精美、高性能的应用不再是难题,而是变成了一场创造性的旅程。
|
3月前
|
Java 程序员 API
Android|集成 slf4j + logback 作为日志框架
做个简单改造,统一 Android APP 和 Java 后端项目打印日志的体验。
149 1
|
4月前
|
前端开发 Java 数据库
💡Android开发者必看!掌握这5大框架,轻松打造爆款应用不是梦!🏆
在Android开发领域,框架犹如指路明灯,助力开发者加速应用开发并提升品质。本文将介绍五大必备框架:Retrofit简化网络请求,Room优化数据库访问,MVVM架构提高代码可维护性,Dagger 2管理依赖注入,Jetpack Compose革新UI开发。掌握这些框架,助你在竞争激烈的市场中脱颖而出,打造爆款应用。
451 3
|
4月前
|
编译器 Android开发 开发者
带你了解Android Jetpack库中的依赖注入框架:Hilt
本文介绍了Hilt,这是Google为Android开发的依赖注入框架,基于Dagger构建,旨在简化依赖注入过程。Hilt通过自动化的组件和注解减少了DI的样板代码,提高了应用的可测试性和可维护性。文章详细讲解了Hilt的主要概念、基本用法及原理,帮助开发者更好地理解和应用Hilt。
101 8
|
5月前
|
设计模式 Java Android开发
探索安卓应用开发:从新手到专家的旅程探索iOS开发中的SwiftUI框架
【8月更文挑战第29天】本文旨在通过一个易于理解的旅程比喻,带领读者深入探讨安卓应用开发的各个方面。我们将从基础概念入手,逐步过渡到高级技术,最后讨论如何维护和推广你的应用。无论你是编程新手还是有经验的开发者,这篇文章都将为你提供有价值的见解和实用的代码示例。让我们一起开始这段激动人心的旅程吧!
|
5月前
|
Android开发
基于Amlogic 安卓9.0, 驱动简说(三):使用misc框架,让驱动更简单
如何使用Amlogic T972安卓9.0系统上的misc框架来简化驱动程序开发,通过misc框架自动分配设备号并创建设备文件,从而减少代码量并避免设备号冲突。
60 0
基于Amlogic 安卓9.0, 驱动简说(三):使用misc框架,让驱动更简单
|
5月前
|
存储 前端开发 Java
Android MVVM框架详解与应用
在Android开发中,随着应用复杂度的增加,如何有效地组织和管理代码成为了一个重要的问题。MVVM(Model-View-ViewModel)架构模式因其清晰的结构和高效的开发效率,逐渐成为Android开发者们青睐的架构模式之一。本文将详细介绍Android MVVM框架的基本概念、优势、实现流程以及一个实际案例。
162 0