展开

关键词

Android_Jetpack组件---Naviagtion源码解析

并且对其进行源码解析。 基本相关介绍可以查看我之前翻译的文章,基本就是google翻译了一个大概。 一、Android Jetpack_Note_CodeLabs一Navigation 2. 源码解析 3.1 NavHostFragment 官网上是这样介绍它的:NavHostFragment provides an area within your layout for self-contained 这样就将组件的状态切换绑定起来了,当fragment切换时,上面提到的接口分发,去切换布局按钮等状态。 4.3.2 NavController NavContorller是整个导航组件的核心,通过它来加载xml中fragment节点转化成NavDestination,并保存在栈内,通过navigate() 组件有更深的理解。

57110

Android_Jetpack组件---Lifecycles源码解析

Android_Jetpack组件—Lifecycles源码解析 date: 2019-06-11 15:14:58 1. Android_Jetpack组件—Naviagtion源码解析 2. 基础 2.1 简介 Lifecycles是一个持有组件生命周期状态(如Activity、Fragment)信息的类,并允许其他对象观察此状态。 Lifecycle组件中通过两个枚举类来跟踪其关联组件的生命周期: ? 4.3 Lifecycle解析生命周期 我们声明的MyObserver中的方法都是带有注解的,查看OnLifecycleEvent: @Retention(RetentionPolicy.RUNTIME

46640
  • 广告
    关闭

    腾讯云域名特惠,新用户抢购首年只需1元

    腾讯云域名专场特惠:个人新用户.top仅1元/年,企业新用户.com仅1元/年,另外购买域名赠送免费版证书和解析…

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Android四大组件全面解析,夯实基础。

    Android四大组件 lay a solid foundation 夯实基础 Activity 生命周期 1.与Fragment进行绑定时的生命周期变动 SDK28 模拟器28 进入Activity 这种广播效率比较高,但同时也意味着它是无法被截断的。 但宿主进程此时很容易在系统需要内存时被优先杀死,因为它属于空进程(没有任何活动组件的进程)。 ContentProvider 内容提供者 Android四大组件之一,它主要作用就是将程序的内部数据和外部进行共享,微数据提供外部访问接口,被访问的数据主要以数据库的形式存在,而且还可以选择共享那一部分的数据 contentprovider是一种跨程序共享数据的重要组件。 为什么Android要提供 ContentProvider ,而不是直接让我们进行操作,这样不是更复杂吗?

    14930

    Android四大组件完全解析(二)---Service

    -- permission定义了开启该service时所需要的权限--> <service android:name="com.android.server.backup.KeyValueBackupJob " android:permission="android.permission.BIND_JOB_SERVICE" > </service> Service的两种启动方式 android:permission="android.permission.。。。。" startActivity(Intent.createChooser(intent, "Select share target")); 以上代码会赋予intent所指向的组件访问 Sample 看一下官网给的例子 第一种情况:本地调用service servcie最常见的用法就是作为应用程序的第二大组件。除非特殊声明,否则一个.apk中的所有组件都运行在同一个进程中。

    62380

    Android四大组件完全解析(一)---Activity

    本文参考\android\android\frameworks\base\core\java\android\app\Activity.java文件中的类注释,以及android/frameworks/ ,是应用程序组件碎片的意思,可以被放在activity内部。 在可见期间activity对用户可见,但有可能不在前台无法与用户交互。在这两个方法之间,你可以保存activity需要展现给用户的资源。 为了让preferences可以应用程序多个组件(activities,receivers,services,providers)之间共享,你可以使用已有的方法 Context#getSharedPreferences savedInstanceState中取出先前onSaveInstanceState保存的数据,以保证它在重新打开时获取到用户最后离开时的状态 empty process(空进程)是一个没有任何activity或者其他应用组件的进程

    1K100

    Android四大组件:Service史上最全面解析

    前言 Service作为Android四大组件之一,应用非常广泛 本文将介绍对Service进行全面介绍(基础认识、生命周期、使用和应用场景) ---- 目录 ? ---- 1. 基础知识 定义:服务,属于Android中的计算型组件 作用:提供需要在后台长期运行的服务(如复杂计算、下载等等) 特点:长生命周期的、没有用户界面、在后台运行 ---- 2. 生命周期方法详解 具体请看我写的文章:Android:Service生命周期最全面解析 ---- 3. Service分类 3.1 Service的类型 ? 3.2 详细介绍 ? 4. Service的使用解析 由上述可知,服务Service总共分为: ? 多线程全面解析:IntentService用法&源码 ---- 7.总结 本文对Service的所有知识进行了全面解析(基础认识、生命周期、使用和应用场景 接下来会介绍继续介绍Android开发中的相关知识

    57720

    Android四大组件:BroadcastReceiver史上最全面解析

    前言 BroadcastReceiver(广播接收器),属于Android四大组件之一 在Android开发中,BroadcastReceiver的应用场景非常多 今天,我将详细讲解关于BroadcastReceiver 定义 BroadcastReceiver,本质上是一个全局的监听器,属于Android四大组件之一。 不同组件之间通信(包括应用内 / 不同应用之间) b. Android系统在特定情况下与App之间的消息通信 如当电话呼入时、网络可用时 c. 多线程通信 ---- 3. BroadcastReceivre基类 必须复写抽象方法onReceive()方法 广播接收器接收到相应广播后,会自动回调onReceive()方法 一般情况下,onReceive方法会涉及与其他组件之间的交互 所接收; android:permission="string" //BroadcastReceiver运行所处的进程 //默认为app的进程,可以指定独立的进程 //注:Android四大基本组件都可以通过此属性指定自己的独立进程

    48410

    Kotlin 替代Java? 谷歌重磅推出 Kotlin 免费视频课程

    此前我们报道过微软推出 Python 免费在线视频教程,为 Python 初学者提供学习材料。 谷歌为使用 Kotlin 开发 Android 应用提供了一流的支持,包括 Kotlin 的 Android API 和 API 扩展。 ? Building Android apps in Kotlin 这套课程是针对如何使用 Kotlin 进行 Android 开发,从 “Hello World”开始由浅入深,本课程从在一个屏幕上构建基本的交互式用户界面开始 在这个过程中,你将了解 Android Jetpack 组件,如数据库空间、后台处理工作管理器、导航组件等等。 还有使用库来简化常见的任务,例如用于图像加载的 Glide、用于网络的 Retroeft 以及用于 JSON 解析的 Moshi。

    20920

    谷歌推出 Kotlin 免费课程,让你轻松入门 Android 开发!

    本文转自开源中国,作者 afterer 最近,微软推出了一套免费的 Python 在线视频课程,为 Python 初学者提供学习材料。 谷歌为使用 Kotlin 开发 Android 应用提供了一流的支持,包括 Kotlin 的 Android API 和 API 扩展。 ? 在这个过程中,你将了解 Android Jetpack 组件,如数据库空间、后台处理工作管理器、导航组件等等。 还有使用库来简化常见的任务,例如用于图像加载的 Glide、用于网络的 Retroeft 以及用于 JSON 解析的 Moshi。 为了助力推动 Android 应用市场生态,整套课程完全免费开发,有想学习 Android 技术,自己折腾个小应用的同学可以学起来啦~ 课程地址: https://android-developers.googleblog.com

    93920

    一文彻底搞清楚 Material Design

    所有的材料对象都包含 x,y,z 三个维度。z 轴代表了海拔高度,而不是材料的厚度,这一点很多资料都是错误的。材料的厚度永远是 1 dp 不能改变。x ,y 就是对应了材料的长宽,可以改变。 这里的材料Android 世界中就是一个个的控件,我们可以把控件想象成现实世界中的物体,规定每个物体的厚度都是固定不变的,永远是 1dp,x,y就对应了控件的长和宽。 为了配合 material desig, android 提供了新的主题、新的配合主题的组件、和自定义阴影和新动画 api 来看看 Android 为了配合 Material Design 都增加了哪些新的控件 动态海拔高度偏移:指的是从静止状态向目标海拔移动的距离(translationZ) 组件的海拔高度: 同一组件在不同的应用中,海拔高度是相同的,比如:不同应用中的浮动操作按钮的海拔是相同的 同一组件在不同的平台和设备中 动态海拔高度偏移是组件从静止海拔高度向目标海拔高度所移动的距离。所有组件在被按下时,默认所增加的海拔高度是一样的。一旦输入事件完成或取消,组件会回到原来静止的海拔高度。 ? ?

    51010

    一文道尽Flutter最新最全的学习资料

    组件 演示 Official Gallery - Flutter Team提供的材料设计小部件演示。 Flutter Xlider [216⭐] - 具有RTL支持的水平和垂直材料设计滑块和范围滑块,由Ali-Azmoud提供。 Photo View [1135⭐] - 简单的可缩放的Image组件,由Renan C. Araújo提供。 SVG [938⭐] - 支持SVG 解析和渲染的库,由 Dan Field提供。 Testing Flutter Gherkin [95⭐] - 功能齐全的Gherkin解析器和UI自动测试运行程序,由Jon Samwell。 社区 演讲材料 Logo - 贴纸印象的logo。 通讯 Gitter - 一个不错的Flutter交流渠道。

    43520

    安卓解惑:互联网行业陷入瓶颈,身为程序员的不可替代性愈见变弱,快要找不到工作了

    国产智能芯片、无人驾驶技术、医学、高分子材料、5G6G 技术等网络等的科研工作者...这些所谓的有高护城河、有技术复杂度、有社会影响力的人我理解才叫技术流。 现在的程序员卑微且被压榨的狠吗? 以前是只要你会Android四大组件的都是个香饽饽,那样的时代已经过去了,随着人机交互的体验要求,App的用户体验的要求、流畅度等等,已经不可同日而语。 2.Jetpack架构组件从入门到精通 Android Jetpack - Navigation Android Jetpack - Data Binding Android Jetpack - ViewModel 架构组件之Lifecycle Android Jetpack Compose 最全上手指南 3.Framework精编内核解析 主要内容包含: 深入解析Binder 深入解析Handler Dalvik 热修复 插件化 组件化框架设计 图片加载框架 网络请求框架 RXJava 响应式编程框架设计 IOC 架构设计 Android架构组件Jetpack 6.NDK模块开发 NDK 模块开发 JNI 模块

    27900

    程序员:在一个公司待了5年,环境舒适,是继续温水煮青蛙还是跳槽?

    高级UI与FrameWork源码:高级UI晋升+Framework内核解析+Android组件内核+数据持久化 360°全方面性能调优:设计思想与代码质量优化+程序性能优化+开发效率优化 解读开源框架设计思想 :热修复设计+插件化框架解读+组件化框架设计+图片加载框架+网络访问框架设计+RXJava响应式编程框架设计+IOC架构设计+Android架构组件Jetpack NDK模块开发:NDK基础知识体系+底层图片处理 2.Jetpack架构组件从入门到精通 Android Jetpack - Navigation Android Jetpack - Data Binding Android Jetpack - ViewModel 架构组件之Lifecycle Android Jetpack Compose 最全上手指南 3.Framework精编内核解析 主要内容包含: 深入解析Binder 深入解析Handler Dalvik 热修复 插件化 组件化框架设计 图片加载框架 网络请求框架 RXJava 响应式编程框架设计 IOC 架构设计 Android架构组件Jetpack 6.NDK模块开发 NDK 模块开发 JNI 模块

    45900

    App 组件化模块化之路——构建开发架构思路

    目前遇到的主要有以下几点问题: 代码量激增引起结构混乱 各个模块相互引用且耦合度高 无法独立开发或者调试组件代码 无法应对组件插拔的需求(例如:产品经理今天把这个功能加上,第二天又去掉,第三天又加回来T_T 因为根据实际业务需求,这一层会分离出许多独立组件(其实就是对应于 Android Studio 的 Module),但这些组件可以独立运行,相当于一个小应用(组件如何独立运行将在应用层中会详细解析)。 <action android:name="android.intent.action.VIEW"/> <category android:name="android.intent.category.DEFAULT 其中 Main 是对各个业务组件的整合,是最终打包的产品的上层应用。而组件入口是独立运行和调试各个组件的子应用。 Dev 在 Android Studio 中是对应一个 Application 。 在 gradle 中配置为 apply plugin: 'com.android.application' 它是一个可以独立运行的子工程,要调试 Module A 那么在 Dev 中将引用该组件 dependencies

    92620

    Android Tangram模型:连淘宝、天猫都在用的UI框架模型你一定要懂

    注:本篇文章已授权微信公众号 guolin_blog (郭霖)独家发布 前言 Tangram 是阿里出品、用于快速实现组合布局的框架模型,在手机天猫 Android & iOS版 内广泛使用 ? 回收和复用——Tangram在Android和iOS平台上分别开发了VLayout和 LazyScroll两个基础组件,通过一个双索引可见区域组件发现算法,实现了跨父节点组件的高效回收和复用。 5.3 原理解析 当页面数据传入时: 核心引擎调用 数据解析器 将 数据 转换成卡片和组件对象 解析过程会根据之前注册过的卡片、组件类型来解析 未定义的数据将会被抛弃 数据解析器将解析完毕的卡片、 扩展模块 上面介绍的内容里是Tangram的核心功能 但当需要落实到具体业务,仅仅该核心功能是无法满足的,还需要很多辅助、扩展的功能 Tangram 采用 插件化形式 进行扩展: ? 的实现方案 具体请看文章:Android开源库V - Layout:淘宝、天猫都在用的UI框架,赶紧用起来吧!

    1.3K10

    Android开发笔记(一百七十六)借助FileProvider发送彩信

    通过系统相册固然可以获得照片的路径对象,却无法知晓更多的详细信息,例如图片名称、文件大小、文件路径等等都不知道,也就无法进行个性化的定制开发。 为了把更多的文件信息开放出来,Android设计了专门的媒体共享库,允许开发者通过内容组件从中获取更详细的媒体信息。 就图片而言,相册媒体库的路径为MediaStore.Images.Media.EXTERNAL_CONTENT_URI,于是通过内容解析器即可从媒体库依次遍历得到图片列表详情。 MediaStore.Images.Media.SIZE, // 文件大小 MediaStore.Images.Media.DATA}; // 文件路径 然后根据内容解析器查询媒体库的图片信息 external_storage_root" /> </paths> 接着打开AndroidManifest.xml,在application节点末尾添加下面的provider标签,用于声明当前应用的提供器组件

    10020

    建站四部曲之前端显示篇(React+上线)

    :8089/api/android/note/area/A/12/12 ----按部分名称查询 http://192.168.43.60:8089/api/android/note/name/材料 http://192.168.43.60:8089/api/android/note/name/材料/2/2 ----按类型名称查询(类型定义表见第一篇) http://192.168.43.60 很简单,样式上面的自己怎么好看怎么来吧 回顾一下按部分名称查询接口:http://192.168.43.60:8089/api/android/note/name/材料 export default 上线.png ---- >那个jQuery随意操纵dom的时代已经一去不复返了,React的思想非常符合Android 我经常把React自定义组件Android自定义控件去比较: React 组件接收的props就像Android自定义控件中的自定义属性,并且React灵活很多 css的布局就像Android中的布局,相比而言,css强大很多 ES6的语法加持,更让React写起来符合

    32030

    Android项目解耦--路由框架ARouter的使用

    App一般都会走向组件化、插件化的道路,而组件化、插件化的前提就是解耦,那么我们首先要做的就是解耦页面之间的依赖关系。 ? ; Native页&M页跳转统一Native页面有不同的协议,管理复杂; 页面跳转过程无法干预(增加拦截过滤,日志打点); 页面跳转结果无法修改(跳转失败进行重定向); 模块解耦&高效开发 "声明/使用 ARouter应用场景 从外部URL映射到内部页面,以及参数传递与解析 跨模块页面跳转,模块间解耦 拦截跳转过程,处理登陆、埋点等逻辑 跨模块API调用,通过控制反转来做组件解耦 ARouter的已支持功能 支持直接解析标准URL进行跳转,并自动注入参数到目标页面中 支持多模块工程使用 支持添加多个拦截器,自定义拦截顺序 支持依赖注入,可单独作为依赖注入框架使用 支持InstantRun(本人使用时貌似有问题无法找到该类 、服务等组件均自动注册到框架 支持多种方式配置转场动画 支持获取Fragment ARouter项目集成 添加依赖配置 android { defaultConfig { ...

    1.5K10

    扫码关注腾讯云开发者

    领取腾讯云代金券