安卓Activity学习笔记

一.Activity简介

Activity是Android应用的关键组件,用于与客户交互。

有助于完成系统和应用程序之间的以下重要交互:

  • 跟踪用户当前关注的内容(屏幕上的内容),以便系统继续运行托管 Activity 的进程。
  • 了解先前使用的进程包含用户可能返回到的已停止 activity,并更高地确定这些进程的优先级,以确保这些进程保持可用。
  • 帮助应用处理终止其进程的情况,以便用户能够返回 Activity 并恢复其先前的状态。
  • 提供一种方式,让应用实现彼此之间的用户流,并让系统协调这些流。这方面的一个主要示例是分享。

二.Activity的基本用法

(1)为了确保能够使用 activity,必须在AndroidManifes清单中声明这些 activity 及其某些属性。       

        1.如需声明 activity,需在清单文件中添加 <activity> 元素,其唯一必需属性是 android:name,用于指定 activity 的类名称,此外可以自行添加定义标签、图标或界面主题等 activity 特性的属性。

        2.在 <activity> 元素中声明 <intent-filter> 属性可指定activity 可以响应的 intent 类型。此元素的定义包括 <action> 元素,以及可选的 <category> 元素和/或 <data> 元素。以下两句生明表示将该activity指定为程序的主activity.

<activity
 android:name=".MainActivity"
 android:exported="true"
 android:label="@string/app_name"
 android:theme="@style/Theme.ActivityTest">
  <intent-filter>
     <action android:name="android.intent.action.MAIN" />
     <category android:name="android.intent.category.LAUNCHER" />
  </intent-filter>
</activity>

         3.使用<uses-permission> 标签来声明权限,防止对用户比较敏感的操作,如获取隐私等导致程序崩溃,以下是在社交媒体上分享帖子的权限

android:permission=”com.google.socialapp.permission.SHARE_POST”

 (2)  Activity绑定布局

    1.借用kotlin-android-extensions插件

    在阅读《第一行代码》中,里面大量使用到了kotlin-android-extensions插件的findViewById(),

我也没在意,因为个人因素,读了半本之后才去实践,发现以下代码报错才已经被废除了

import kotlinx.android.synthetic.main.fragment_place.view.*

  以下是《第一行代码》中Activity实现绑定布局,用作对比

class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        Log.d("data", "onCreate execute")
    }

}

  不过,作者也发布了转换使用ViewBinding的方法,学起来也不难,大家可以直接去搜作者文章,我毕竟只是自己总结(kotlin-android-extensions插件也被废弃了?扶我起来-CSDN博客

   2.借用ViewBinding绑定布局

  首先,需要在build.gradle中添加依赖,找到buildFeatures,添加以下代码

bulidFeatures
{
  viewbinding = true
}

 然后,androidstudio会自动生成布局文件对于的Binding类,记得导入

import com.example.包名.databinding.ActivityMainBinding

首先调用activity_main.xml布局文件对应的Binding类ActivityMainBinding的inflate()函数去加载该布局,inflate()函数接收一个LayoutInflater参数,在Activity中是可以直接获取到的。

接下来调用Binding类的getRoot()函数可以得到activity_main.xml中根元素的实例,调用getTextView()函数可以获得id为textView的元素实例。         

把根元素的实例传入到setContentView()函数当中,这样Activity就可以成功显示activity_main.xml这个布局的内容了。然后获取TextView控件的实例,并给它设置要显示的文字即可。

class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        val binding = ActivityMainBinding.inflate(layoutInflater)
        setContentView(binding.root)
        binding.textView.text = "Hello World"
    }

}

三.Activity的生命周期

 (1)Activity的四种状态

        1.运行状态。此时Activity位于栈顶。

        2.暂停状态。此时Activity不处于栈顶,但仍然可见,如对话框形式的Activity。

        3.停止状态。此时Activity不处于栈顶,且完全不可见,此时系统仍会为Activity保存状态和成员变量。

        4.销毁状态。此时Activity已被移除栈,被系统回收。

 (2) Activity的七个回调方法

        1.OnCreate()。在Activity第一次创建时调用,完成Activity的初始化步骤,加载布局,绑定事件等等。此方法会接收参数 savedInstanceState,是包含 activity 之前保存状态的 Bundle 对象,通常为空,可以借用该对象与onSavedInstanceState()方法来保存数据,来解决Activity被回收后重新创建时临时数据丢失的问题。

        2.OnStart()。在Activity由不可见变为可见时调用,此时 activity 准备进入前台并实现互动。

        3.OnResume()。在Activity准备好与用户交互时调用,此时一定处于栈顶,是运行状态。

        4.OnPause()。系统准备启动或恢复另外一个Activity时调用。

        5.OnStop()。在Activity完全不可见时调用。如果启动对话框形式的Activity,不会执行该方法。

        6.OnDestory()。在Activity被销毁前调用。

        7.OnRestart()。在Activity由停止状态变为运行状态时调用。

  • 20
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: Android Studio是Google推出的Android应用程序开发工具,它集成了开发、调试、打包等功能。要学习使用Android Studio,需要了解以下几个方面的知识: 1. Java基础: Android开发是基于Java语言的,所以要学习Android Studio首先要掌握Java基础知识。 2. Android基础: 了解Android操作系统的基本构架和常用组件,如Activity、Service、BroadcastReceiver等。 3. Android Studio使用: 了解Android Studio的基本界面和常用功能,如创建工程、编写代码、调试程序等。 4. Android SDK: 了解Android SDK的安装和配置,以及如何使用SDK Manager来下载SDK并配置项目。 5. 练习实践: 多练习实际项目,熟悉Android Studio的使用,并不断练习和完善自己的技能。 ### 回答2: Android Studio 是一个为 Android 来开发的整体开发环境。它基于 IntelliJ IDEA ,强调速度和智能操作,并致力于为应用程序开发提供高效率的开发工具。Android Studio 的推出,使得 Android 开发者更加容易地创建高质量的应用程序。 首先,要学 Android Studio ,你需要首先了解一些基本知识。学习 Android Studio 的工具包括 Gradle 、 Kotlin 和 Java 等。通过学习这些基础知识,你可以了解不同的语言、工具和框架。 在学习 Android Studio 时要使用实战性的方法。也就是说,每次学习新的东西时,你需要找到一个相关的例子。这样可以帮助你更好地理解它。如果你使用 Android Studio 模板,这将非常有用。这些模板可以帮助你创建常见的应用程序结构,并且你可以基于这些模板创建自己的应用程序。 另外,还有很多不同的工具和插件可以帮助你学习 Android Studio 。例如, Android Studio 网站上有很多有用的文章和教程,可以帮助你更好地理解 Android Studio 。还有很多在线工具可以帮助你实现特定的功能,在初学者阶段,这些工具可以为学习的难度减轻很多。 总之,学习 Android Studio 任重而道远。需要有耐心和时间,还需要不断地尝试和实践。在这个过程中,你可以尝试教学资料、交流学习合作、进一步增强你的知识水平。通过不断的应用和实践,一定可以成为一名优秀的 Android 开发者并圆满地完成应用开发。 ### 回答3: 作为一个应用开发者,学习使用安卓应用程序开发套件非常重要。Android Studio是Google出品的最新安卓开发工具,它具有多种强大的工具和功能,可以极大地提高应用程序的开发效率和质量。在学习过程中,个人对Android Studio的理解主要体现在以下几个方面。 首先,要开始使用Android Studio,需要了解它的基本结构和工具。Android Studio主要由三个主要组件组成:IDE、SDK、和Emulator。IDE是开发者使用的主要工具。它提供了编写、测试和调试代码所需的所有基本功能,包括视觉化设计器,代码编辑器和调试工具。SDK是开发应用程序所需的软件开发包。它包括实用程序和库,可用于在应用程序中实现预定功能。Emulator是一个虚拟的安卓设备,可以用来在开发应用程序时模拟真实设备上的应用程序运行情况。 其次,一些基本的编程知识也必不可少,例如Java编程、XML语言、UI界面设计等。Java是Android Studio中最常用的编程语言,用于编写应用程序的逻辑代码;XML语言则用于设计UI界面。在学习这些基本知识时,建议首先了解Java语言特性和面向对象编程理念,熟悉它们的基本语法和数据类型。同时,也可以通过在线教程和网课等方式加强对UI设计和布局的理解。 最后,学会使用网上的资源和社区的帮助非常重要。Android Studio的开发者社区很大,有很多在线资源可以帮助开发者的开发学习,例如stack overflow、CSDN社区等。同时,Google官方的开发者网站也提供了大量的文档资料、教程、API使用说明等。 总之,Android Studio的学习需要进行持续不断的针对不同方面的学习和实践。要充分运用Android Studio的强大功能,建议在掌握基础知识的基础上,多做实际的项目练习,不断提高自己的技术水平和代码能力,才能成为一名优秀的安卓应用程序开发者。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值