Android学习记录

简介: activity的生命周期:指从创建到销毁的过程启动状态,启动之后很快进入下一个状态;运行状态,处于屏幕最前端,可见可获取焦点,可与用户进行交互暂停状态,无法获取焦点,用户对他的操作没有影响。停止状态,不可见,内存不足时会销毁销毁状态,会被清理出内存

学习记录


activity的生命周期:指从创建到销毁的过程

1.启动状态,启动之后很快进入下一个状态;

2.运行状态,处于屏幕最前端,可见可获取焦点,可与用户进行交互

3.暂停状态,无法获取焦点,用户对他的操作没有影响。

4.停止状态,不可见,内存不足时会销毁

5.销毁状态,会被清理出内存

不同状态调用不同方法:
 一般方法调用流程:
onCreate()---> onStart()---> onResume() ---> onPause()---> onStop() ---> onDestroy(), onRestart()

android中的任务栈(任务栈管理activity)

Intent(意图)是程序中各组件之间进行交互的重要方式;

作用

指定组件要执行的动作

不同组件之间进行数据传递


一般用于启动Activity、Service发送广播等;启动组件的方式不同可分为:显示意图和隐式意图

控制启动activity:

1.隐式意图

(1)在清单文件中配置意图过滤器

<!-- 意图过滤器(隐式意图) -->    
        <intent-filter>
        <!-- action 后面字符串可以随机写,但是java文件中需要与此保持一致-->
            <action android:name="android.zinksl.action.main2" />
       <!-- 此处一般选择DEFAULT-->
            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>

(2)在Mainactivity.java 中配置意图(Intent)

//通过隐式意图开启activity
    Intent intent = new Intent();
    intent.setAction("android.zinksl.action.main2");
    intent.addCategory("android.intent.category.DEFAULT");
    startActivity(intent);

2.显示意图控制activity:

//通过显示意图开启Activity
 Intent intent = new Intent(this,ActExample.class);
 startActivity(intent);

通过隐式Intent(意图)打开手机默认浏览器,并访问指定网站;

//通过id找到按钮
    Button buttond = (Button)findViewById(R.id.biadu);
      //点击事件
    buttond.setOnClickListener(new View.OnClickListener() {
        @Override
        //点击后执行函数
        public void onClick(View v) {
            //隐式意图
            Intent intent = new Intent();
            intent.setAction("android.intent.action.VIEW");
            intent.setData(Uri.parse("https://www.baidu.com"));
            startActivity(intent);
        }
    });


目录
相关文章
|
Android开发 NoSQL Perl
|
前端开发 Android开发 数据格式
|
8天前
|
消息中间件 网络协议 Java
Android 开发中实现数据传递:广播和Handler
Android 开发中实现数据传递:广播和Handler
13 1
|
10天前
|
Linux 编译器 Android开发
FFmpeg开发笔记(九)Linux交叉编译Android的x265库
在Linux环境下,本文指导如何交叉编译x265的so库以适应Android。首先,需安装cmake和下载android-ndk-r21e。接着,下载x265源码,修改crosscompile.cmake的编译器设置。配置x265源码,使用指定的NDK路径,并在配置界面修改相关选项。随后,修改编译规则,编译并安装x265,调整pc描述文件并更新PKG_CONFIG_PATH。最后,修改FFmpeg配置脚本启用x265支持,编译安装FFmpeg,将生成的so文件导入Android工程,调整gradle配置以确保顺利运行。
32 1
FFmpeg开发笔记(九)Linux交叉编译Android的x265库
|
11天前
|
Unix Linux Shell
FFmpeg开发笔记(八)Linux交叉编译Android的FFmpeg库
在Linux环境下交叉编译Android所需的FFmpeg so库,首先下载`android-ndk-r21e`,然后解压。接着,上传FFmpeg及相关库(如x264、freetype、lame)源码,修改相关sh文件,将`SYSTEM=windows-x86_64`改为`SYSTEM=linux-x86_64`并删除回车符。对x264的configure文件进行修改,然后编译x264。同样编译其他第三方库。设置环境变量`PKG_CONFIG_PATH`,最后在FFmpeg源码目录执行配置、编译和安装命令,生成的so文件复制到App工程指定目录。
43 9
FFmpeg开发笔记(八)Linux交叉编译Android的FFmpeg库
|
1天前
|
前端开发 Android开发 iOS开发
【Flutter前端技术开发专栏】Flutter在Android与iOS上的性能对比
【4月更文挑战第30天】Flutter 框架实现跨平台移动应用,通过一致的 UI 渲染(Skia 引擎)、热重载功能和响应式框架提高开发效率和用户体验。然而,Android 和 iOS 的系统差异、渲染机制及编译过程影响性能。性能对比显示,iOS 可能因硬件优化提供更流畅体验,而 Android 更具灵活性和广泛硬件支持。开发者可采用代码、资源优化和特定平台优化策略,利用性能分析工具提升应用性能。
【Flutter前端技术开发专栏】Flutter在Android与iOS上的性能对比
|
2天前
|
机器学习/深度学习 安全 数据处理
构建未来:基于Android的智能家居控制系统开发
【4月更文挑战第29天】 随着物联网技术的蓬勃发展,智能家居已成为现代技术革新的重要领域。本文将深入探讨基于Android平台的智能家居控制系统的设计和实现,旨在提供一种用户友好、高度集成且功能丰富的解决方案。通过利用Android设备的广泛普及和其强大的处理能力,结合最新的无线通讯技术和人工智能算法,我们旨在打造一个可靠、易用且具有高度可定制性的智能家居控制环境。文中不仅详细阐述了系统架构、关键技术选型以及界面设计,还对可能遇到的安全挑战进行了分析,并提出了相应的解决策略。
|
2天前
|
监控 Java Android开发
安卓应用开发:打造高效用户界面的五大策略
【4月更文挑战第29天】 在安卓应用开发的世界中,构建一个既美观又高效的用户界面(UI)对于吸引和保留用户至关重要。本文将深入探讨五种策略,这些策略可以帮助开发者优化安卓应用的UI性能。我们将从布局优化讲起,逐步过渡到绘制优化、内存管理、异步处理以及最终的用户交互细节调整。通过这些实践技巧,你将能够为用户提供流畅而直观的体验,确保你的应用在竞争激烈的市场中脱颖而出。
|
4天前
|
机器学习/深度学习 搜索推荐 Android开发
【专栏】安卓应用开发:构建高效用户界面的实用指南
【4月更文挑战第27天】本文介绍了构建高效安卓用户界面的指南,分为设计原则和技巧两部分。设计原则包括一致性、简洁性和可访问性,强调遵循安卓系统规范,保持界面简洁,考虑不同用户需求。技巧方面,建议合理布局、优化图标和图片、运用动画效果、提供个性化设置及优化性能。随着技术发展,未来安卓应用开发将融合更多智能化和个性化元素,开发者需持续学习新技术,提升用户体验。