在android系统的安全模型中,应用程序在默认的情况下不可以执行任何对其他应用程序,系统或者用户带来负面影响的操作。如果应用需要执行某些操作,就需要声明使用这个操作对应的权限。 (在manifest文件中 添加<uses-permission>标记) android 系统提供了一系列这样的权限,具体可以查看android 权限,另外,android系统在
转载 2023-07-24 23:42:43
97阅读
# Android中的provided用法详解 在Android开发中,我们经常会使用到provided这个关键字,它在build.gradle文件中扮演着重要的角色。那么,什么是provided关键字?它有什么作用呢?接下来,我们将一一为您介绍。 ## 什么是provided关键字? 在Android开发中,我们使用Gradle构建工具来管理项目依赖关系。在Gradle中,provided
原创 3月前
68阅读
前言不知何时起,单纯的Android应用层开发越来越少了,主流技术演变也越来越快,从之前的rxjava到如今的协程,从之前MVC到如今的MVVM,还有Flutter、Compose等技术,可以说是日新月异。当我们在使用这些技术时,通常会犯一个毛病,那就是使用简单,深入困难。随便新技术,可能几天就上手了,但是没有深入理解,时间久了,就容易欠下许多技术债。这时开始就有很多Android做应用层开发的,
# 教你如何替代 Android 中的 updateConfiguration 在 Android 开发中,`updateConfiguration` 方法用于更新应用的配置,但在最新版本中,该方法已被标记为无效(deprecated)。因此,开发者需要采用新的方法来实现相同的功能。本文将为你解释如何替代 `updateConfiguration`,并提供详细的步骤和代码示例。 ## 实现流程
原创 23天前
28阅读
# Android中isVisible方法的过时问题 ## 引言 在Android开发过程中,我们经常会使用到View的isVisible方法来判断View是否可见。然而,从Android 8.0开始,isVisible方法被标记为过时。本文将介绍isVisible方法的过时原因,以及如何正确地判断View的可见性。 ## isVisible方法的过时原因 在Android 8.0之前,我
原创 7月前
61阅读
# 如何实现“android zipAlignEnabled 过时” ## 一、流程表格 | 步骤 | 操作 | | ---- | ---- | | 1 | 打开项目中的 build.gradle 文件 | | 2 | 在 android {...} 块内添加以下代码 | | 3 | 在终端中执行 zipalign 命令对 APK 进行优化 | ## 二、详细步骤 ### 1. 打开项目中
原创 2月前
580阅读
# Android getRunningTasks 过时Android开发中,我们经常需要获取当前运行的任务信息,比如获取当前运行的应用程序包名、获取当前顶层Activity等。在过去的版本中,我们可以使用`getRunningTasks`方法来实现这个功能。然而,随着Android的版本更新,该方法已经被标记为过时。 ## 为什么会过时? `getRunningTasks`方法的过时
原创 11月前
984阅读
# 实现 Android `defaultDisplay` 的替代方案 在 Android 开发中,常常会使用 `defaultDisplay` 方法来获取设备的显示信息,但这个方法近年来已经被标记为过时。为了保持应用的兼容性,我们需要找到一种新的方式来获取相同的信息。本文将指导你如何实现这一点。 ## 流程概述 下面的表格展示了实现替代方案的整个流程: | 步骤 | 描述
原创 1月前
17阅读
# 如何替代过时Android LoaderManager 在 Android 开发中,`LoaderManager` 是一个常用于处理异步加载数据的工具。然而,随着 Android 的发展,`LoaderManager` 已被标记为过时,建议使用其他替代方案如 `ViewModel` 和 `LiveData`。在这篇文章中,我们将详细讲解如何实现这一替代过程。 ## 流程概述 以下是替
原创 1月前
13阅读
ConnectivityManager是网络连接相关的管理器,它主要用于查询网络状态并在网络发生改变时发出状态变化通知。这个类主要负责的下列四个方面:     1.  监控网络状态(包括WiFi, GPRS, UMTS等)。     2.  当网络连接改变时发送广播Intent。     
线性布局是将放入其中的组件按照垂直或水平方向来布局。每一行或每一列中只能放一个组件,并且Android的线性布局不会换行,当组件排列到窗口边缘后将不会被显示出来。基本的语法格式如下:属性列表>在线性布局管理器中,常用的属性包括android:orientation、android:gravity、android:layout_width、android:layout_height、andro
C:\Users\liuan\.AndroidStudio2.3 和.android 目录删除 然后重新配置andorid studio如果海报错的话把这个注释掉dexOptions {// incremental true javaMaxHeapSize "4g" }
原创 2023-03-10 00:47:20
85阅读
当你是一位程序员其实很有必要对写完的代码负责任,是否你会怀疑自己写的代码已经是完美了。我常常很奇怪的怀疑自己写的代码这里不行那里可能有问题,当这些疑问都出来的时候怎么让自己安心呢?那就是让自己的代码经过这些性能分析工具的分析,只有通过它们的检测才能给自己下一个定心丸,所以开始学习性能分析。Systrace前言Systrace允许你跟踪系统的行踪(trace),它可以告诉你在哪些线程、进程在这段时间
上周六碰到Android在线编译系统中的几个问题,记录如下: 问题1: 问题描述:将Java应用放在packages\apps下面一起编译,单独进入应用mm编译,可以install安装到out下面的system/app下面,但根目录上make却不会 原因:LOCAL_MODULE_TAGS :=optional 的模块会被编译,但不会安装到image里面,要想让是optional的模块安装的话,
转载 1月前
28阅读
ProgressBar是Android下的进度条,也是为数不多的直接继承于View类的控件,直接子类有AbsSeekBar和ContentLoadingProgressBar,其中AbsSeekBar的子类有SeekBar和RatingBar,ProgressBar一般用于显示一个过程,例如数据加载过程,文件下载进度,音乐播放进度等。ProgressBar的使用注意:1、ProgressBar有两
本文是Android性能优化工具系列的第一篇,这个系列主要介绍Android性能优化过程中会使用到的一些工具,以及如何用这些工具来发现问题和解决问题。在性能优化方面,Android有不少性能工具供大家来使用,按照我们一贯地 “发现问题-解决问题”的思路来看,发现问题才是最主要的,一上来就想着如何去解决问题,反而会事倍功半。 这一篇先来简单介绍一下Systrace这个工具。Systrace简单介绍
转载 2023-07-24 22:48:30
175阅读
ColorFilter详解 ColorFilter主要用来处理颜色,这里将讲解它的三个子类,ColorMatrixColorFilter,  LightingColorFilter以及PorterDuffColorFilter。 1.ColorMatrixColorFilter: ColorMatrixColorFilter的构造方法很简单,一个是传入数组,一个是传入
本次学习Android四大组件之一——ContentProvider组件。这是应用程序之间共享数据的一种接口机制,提供了更高级的数据共享方法。 实践:本次学习之后做一个使用ContentProvider来实现数据共享的简单实例。一、ContentProvider简介(一)理论支持1、ContentProvider(数据提供者)是在应用程序之间共享数据的一种接口机制。 2、ContentProv
如何在Android Studio中使用"provided" ## 简介 在Android开发中,我们常常使用一些第三方库来帮助我们实现功能。有时候,我们希望在编译我们的应用程序时,不将这些库打包到最终的APK文件中,而是在运行时由设备提供。为了实现这个目标,我们可以使用"provided"关键字来声明这些库是由设备提供的,而不是由我们的应用程序提供。 在本文中,我将向您展示如何在Androi
原创 7月前
59阅读
把view看做一个矩形,分别表示的是一个view的左边,上边,右边,下边距离他的父组件的距离。getRight() =getLeft() + getWidth() getBottom()= getTop() + getHeight()一、坐标研究一每个view group包含一个宽度和高度(layout_width和layout_height),每个view必须定义它们。很多LayoutParam
转载 2023-07-30 18:43:10
55阅读
  • 1
  • 2
  • 3
  • 4
  • 5