文章目录一、动态权限的引入二、Android6.0之后运行时权限策略变化2.1 权限等级2.1.1 正常权限2.1.2 危险权限2.1.3 特殊权限2.2 运行时请求危险权限2.2.1 检查权限2.2.2 请求权限2.2.3 处理权限请求响应2.3 使用第三方开源框架2.3.1 EasyPermissions2.3.2 PermissionsDispatcher2.4 运行时请求的再次封装2.4
【引子】 1、两种开发模式 组件和插件  (1)组件化开发:  就是将一个app分成多个模块,每个模块都是一个组件lib(即“公共代码”:统计模块,网络模块、图片处理模块等等),开发的过程中我们可以让这些组件相互依赖或者单独调试部分组件等,但是最终发布的时候是将这些组件合并统一成一个apk。 (2)插件化开发:  
Android Virtualview:淘宝、天猫 又一个动态、高性能的UI框架力作前言淘宝、天猫一直致力于解决 页面动态的问题在2017年的4月发布了v1.0解决方案:Tangram模型 及其对应的 Android库 vlayout,该解决方案在手机淘宝、天猫 Android版 内广泛使用 若还不了解Tangram模型 和 vlayout,具体请看文章Android Tangram模型:连淘
项目中有功能需要在代码中动态创建UGUI对象,但是在网上搜索了很久都没有找到类似的教程,最后终于在官方文档中找到了方法,趁着记忆犹新,写下动态创建UGUI的方法,供需要的朋友参考一、新建一个Test项目 首先我们新建一个名为Test的项目来实践我们这次的内容,项目创建成功后,我们新建一个Button对象,如下图: 新的UGUI全部都基于一个Canvas画布,如果你的场景里面没有Canvas,当你
转载 2023-06-26 22:34:49
204阅读
# Android UI动态切换实现指南 ## 1. 引言 在Android开发中,UI动态切换是一项常见的需求。它可以使应用程序在不同的场景下展示不同的界面,以提供更好的用户体验。本文将向你介绍实现Android UI动态切换的步骤和相关代码。 ## 2. 实现步骤 下表列出了实现Android UI动态切换的步骤。每个步骤的代码实现将在下文中详细介绍。 | 步骤 | 描述 | | -
原创 2023-10-04 07:44:11
128阅读
Android项目里的SO库正好动态加载系列文章谈到了加载SO库的地方,我觉得这里可以顺便谈谈使用SO库时需要注意的一些问题。或许这些问题对于经常和SO库开发打交道的同学来说已经是老生长谈,但是既然要讨论一整个动态加载系列,我想还是有必要说说使用SO库时的一些问题。在项目里使用SO库非常简单,在 加载SD卡中的SO库 中也有谈到,只需要把需要用到的SO库拷贝进&nbs
# Android动态代码创建UI的实现 ## 概述 在Android开发中,我们通常使用XML布局文件来定义和创建界面UI。但是有些场景下,我们可能需要在运行时动态地创建UI,而不是使用静态的XML布局文件。本文将介绍如何在Android中使用代码来实现动态创建UI的功能。 ## 流程概览 下面是实现动态创建UI的整个流程: | 步骤 | 动作 | | ---- | ---- | | 步骤
原创 2023-08-12 07:21:04
293阅读
iOS/flutter动态杂谈为什么需要动态?实际上运营需求倒是其次,更主要的是修复线上严重问题。那么是否一定要动态呢?倒也不一定,国外开发者似乎更倾向于通过更好的机制来避免问题产生,搞更完善的CR/CI/单元测试之类的,而国内开发者更倾向于用动态手段进行兜底。这种差异是客观存在的,可能跟思维方式和技术发展甚至市场环境都有一定关系。这里我们不去深究,作为一个国内的iOS开发者,动态是不得
简述通过Fragment,相当于在一个activity中嵌入一个子activity以及其layout。Fragm
原创 2022-09-08 11:06:31
218阅读
在多年的迭代和升级工作中,组件项目越来越庞大(几十个模块,近10个第三方播放SDK),直接导致发版困难、方法数超标、工作效率大大降低,质量问题频发等等。项目迫切需要一套方案来解决这些问题。由于我们是自行研发的系统和主板,如果直接使用第三方框架,可能会引起相关的适配问题而不好解决,所以需要实现一套自己的插件框架,也便于后期进行更多的定制。于是进行了下面粗浅的研究。项目是影视类项目,引进了很多第三
本发明涉及Android应用开发和维护领域,特别涉及一种基于Android动态布局方法及系统。背景技术:随着移动互联的高速发展以及智能手机的普及,越来越多的传统和非传统行业逐渐步入了智能移动的工作新模式,通过Android应用来完成日常生活工作也越来越普遍,因此Android应用需求爆发式增长。在Android应用开发和维护中,界面动态布局能够有效的兼容各种应用场景,简化维护工作,有效灵活的
布局是一种可用于放置很多控件的容器,它可以按照一定的规律调整内部控件的位置,从而编写出漂亮的界面。当然,布局的内部除了放置控件外,也可以放置布局,通过多层布局的嵌套,我们就能够实现一些比较复杂的界面咯O(∩_∩)O~1 线性布局(LinearLayout )线性布局会将它所包含的所有控件放在线性方向上依次排列。我们来实践一下,布局文件:<?xml version="1.0" encoding
转载 2023-07-21 22:21:03
106阅读
前面有提到非大型项目一般不会进行组件,但是就像上面提到的功能重用,这个优势并不是只能用到大型项目 。我们可以在写需求或库时完全可以拥有组件思想,把它们单独写成一个基础组件或业务基础组件。当第二个项目来的时候正好也需要这个组件,那我们就省去了拆出这个组件的时间(因为写需求的时候很可能会造成大量耦合,后续拆分要花费时间),比如登录组件,分享组件等等都是可以在一开始就写成组件的。组件需解决的问题说
这里我们我们就讨论一下怎么在android 平台下创建模态框! 首先声明一下:本文中提到的代码是我偶尔在一篇文章中看到的,但是绝非是抄袭原版 代码很大程度是我的,思想是我自己的理解,只不过我想声明一下防止别人误会!可以说这篇文 章绝对是原创! 那么创建模态框本文提供两种思路: 第一:利用AlertDialog,可以测试一下 在android 下面
转载 2023-07-25 17:47:36
210阅读
这里的服务指的是接口API,在代码解耦中,有一种非常重要的方法就是“面向接口编程”,面向接口编程使得协作的模块之间只需要关注接口API,而无需关注API的具体实现。一套好的面向接口编程架构应该至少包含两个方面:简洁通用的接口定义,以及无迹可寻的接口实现。本文介绍的是基于动态代理实现的服务框架,作用场景可以是APP模块化开发或者SDK开发。先从动态代理说起Java的代理模式可以分成静态代理和动态代理
携程Android App的插件动态加载框架已上线半年,经历了初期的探索和持续的打磨优化,新框架和工程配置经受住了生产实践的考验。本文将详细介绍Android平台插件式开发和动态加载技术的原理和实现细节,回顾携程Android App的架构演化过程,期望我们的经验能帮助到更多的Android工程师。 需求驱动 2014年,随着业务发展需要和携程无线部门的拆分,各业务产品模块归属到各业务BU,
背景由于Android 应用规模越来越大,程序业务越来越复杂,一个细微的修改,就需要打包重上面,这对一个大型企业来说,无疑是不利的,对用户来说,频繁的更新也让人很厌烦,对程序员来说打包akp,在运行时,在方法数,临近阀值,会报65535的错。在这种情况下,动态加载技术就应运而生,在移动互联网技术日渐成熟,Android程序员技能越来成熟的情况下,可以预见的未来,插件化开发,将会是解决Android
转载 2024-04-08 11:31:31
29阅读
摘要:随着移动设备融入日常生活,移动应用程序可以访问个人数据和网络,从而造成了数据泄露威胁。因此,有必要设计有效的技术来分析和检测这些威胁。目前,针对Android恶意应用程序的污点流分析主要分为静态和动态两种。静态分析基于在不执行代码的情况下提取的特征,而动态分析则基于在代码执行时提取的特征。通常,静态分析更有效,它详尽地检查所有数据流并精确定位有问题的数据流,但是,静态分析会因过度计算而产生误
其实说白了就是AndroidStudio动态调试Smali,一直在用的方法,挺有效的逆向分析方法。把apk反编译成Smali然后倒入AndroidStudio中,然后通过jdwp调试相关进程。基本技能会使用AndroidStudio的debug的功能,不会的看这里能够理解简单的Smali语法看这里能够使用apktool反编译apk,并且重新打包,不会的看这里工具AndroidStudio 最好是最
转载 2023-11-15 22:21:22
38阅读
UI/UE UI是User Interface的简称,即用户接口,也称用户界面。UI泛指用户的操作界面,对手机来说,UI设计就是app的页面设计。一个好的UI,不但能让用户操作起来更加舒适、方便,而且还能让app变得有个性、有品位,所以UI设计做得好,app就成功了一半(另一半当然是代码设计啦)。 UE是User Experience的简称,即用户体验,它是用户在使用一个产品(或服务)的过程中建
  • 1
  • 2
  • 3
  • 4
  • 5