Android

Android显示系统——Transaction

Transaction是应用与SurfaceFlinger交流的方式之一,应用通过打开一个Transaction,然后设置各种setXXX操作,最后通过apply把所有的设定操作提交给SurfaceFlinger进行处理。 Transaction最常用的使用方法(套路)一般如下: ```cpp Tr ......
显示系统 Transaction Android 系统

android架构组件Lifecycle

Lifecycle 组件指的是 android.arch.lifecycle 包下提供的各种类与接口,可以让开发者构建能感知其他组件(主要指Activity 、Fragment)生命周期(lifecycle-aware)的类。 在android开发的过程中,我们常常需要让一些操作能够感知Activi ......
架构 组件 Lifecycle android

Android架构组件LiveData

LiveData LiveData是基于观察者模式创建的,其中,LiveData是被观察者,观察者通过注册方法,监听被观察者的数据变化。LiveData在数据发生变化的时候,会通知观察者。 LiveData是一个容器,存放数据的容器,它的数据变化可以被监听,也就是LiveData是一个被观察者,如下 ......
架构 组件 LiveData Android

Android系统开发 Activity启动流程探索

前言 此博客基于Android10版本,探索Activitiy的启动流程。Activitiy启动流程相当复杂,这里先看看简单概述的流程图: 在说Activity启动流程时,我们一般会把这部分功能归于ActivityManagerService,但是系统进程中主要参与Activity的启动的是Acti ......
Activity 流程 Android 系统

Android 14 功能和变更列表

Android 14 功能和变更列表https://developer.android.google.cn/about/versions/14/summary?hl=zh-cn Android 13 功能和变更列表https://developer.android.google.cn/about/v ......
Android 功能 14

Appium环境搭建 - Android SDK安装

Appium环境搭建 - Android SDK安装 下载 进入网站 https://www.androiddevtools.cn/ 依次点击 AndroidSDK 工具>> SDK Tools>>会跳转到以下界面,Windows建议选择.exe后缀 配置安装 安装环境变量 ANDROID_HOME ......
Android 环境 Appium SDK

Android实时获取摄像头画面传输至PC端

# 前言 最近在做一个PC端小应用,需要获取摄像头画面,但是电脑摄像头像素太低,而且位置调整不方便,又不想为此单独买个摄像头。于是想起了之前淘汰掉的手机,成像质量还是杠杠的,能不能把手机摄像头连接到电脑上使用呢?经过搜索,在网上找到了几款这类应用,但是都是闭源的。我一向偏好使用开源软件,但是找了挺久 ......
实时 摄像头 画面 Android

视频直播网站源码,Android 获取屏幕像素(宽高)

视频直播网站源码,Android 获取屏幕像素(宽高) Resources resources = this.getResources();DisplayMetrics dm = resources.getDisplayMetrics();int screenWidth = dm.widthPixe ......
视频直播 像素 源码 屏幕 Android

直播网站源码,Android获取屏幕高宽

直播网站源码,Android获取屏幕高宽 The first:通过WindowManager来获取,个人建议使用 import android.content.Context;import android.util.DisplayMetrics;import android.view.WindowM ......
源码 屏幕 Android 网站

Android使用WebView打开网页配置

AndroidManifest.xmlapplication配置之上 <uses-permission android:name="android.permission.INTERNET"/> application中配置明文,可以用http地址 android:usesCleartextTraff ......
Android WebView 网页

FART脚本针对Android12 + Frida16适配

针对 @hanbinglengyue 的FART项目下的Frida脱壳脚本进行最新适配,可在Frida16.1.0 + Android12环境下进行脱壳 项目地址:https://github.com/LLeavesG/FART-Fix 具体使用方法请参见原项目FART:https://github ......
脚本 Android Frida FART 12

Android sdk安装

Android sdk安装 前言:本方法只是借助开发工具下载SDK 1.下载 安装android stuido,地址如下:点击 安装过程可在网页查看:点击 2.启动android studio,下载各种android 开发 工具和libs。 3.进入到主画面后, 点击上方菜单栏File->Setti ......
Android sdk

Android ANR简介

一、ANR定义 ANR(Application Not Responding), 如果 Android 应用的界面线程处于阻塞状态的时间过长,会触发“应用无响应”(ANR) 错误。如果应用位于前台,系统会向用户显示一个对话框,如图 1 所示。ANR 对话框会为用户提供强行退出应用的选项。 当点击了C ......
Android 简介 ANR

Android Gradle 构建脚本中配置之aapt

aaptOptions 是一个配置项块,其中包含了两个属性: cruncherEnabled:用于控制资源压缩。将该属性设置为 false,表示禁用资源压缩,默认为 true。禁用资源压缩可以加快构建过程,但可能会导致 APK 文件体积增大。 useNewCruncher:用于指定是否使用新版资源压 ......
脚本 Android Gradle aapt

Android studio 获取每次编译apk时的日期

项目中需要获取apk的编译日期,首先肯定是用手动的方式获取,但这样容易遗忘,怎么样通过代码的方式获取呢?其实android 为我们提供了一个BuildConfig的类,android 每次编译的时候都会自动生成 一次BuildConfig 类,这个类包含着编译时的各个参数,所以只需要在这个类中增加一 ......
日期 Android studio apk

Android获取App内存使用情况的方法

ActivityManager activityManager = (ActivityManager) getSystemService(ACTIVITY_SERVICE); //最大分配内存 int memory = activityManager.getMemoryClass(); System ......
内存 Android 情况 方法 App

Android显示系统——SurfaceFlinger之Layer Bounds计算方法

### Layer Bounds计算过程分析 从SurfaceFlinger的这里看起: ```cpp void SurfaceFlinger::computeLayerBounds() { const FloatRect maxBounds = getMaxDisplayBounds(); for ......

使用GoEasy快速实现Android原生app中的websocket消息推送

摘要: GoEasy带来了一项令开发者振奋的消息:全面支持Android原生平台!现在,您可以在Android应用中使用最酷炫的实时通信功能,借助GoEasy轻松实现消息的发送和接收。本文将带您领略GoEasy最新版本的威力,为您的应用增添一抹鲜活的互动色彩。 嗨,开发者朋友们!是时候展现您的技术才 ......
websocket Android 消息 GoEasy app

解决Android Studio项目一直在下载Gradle

#### 1.更换项目的Gradle下载源 一般下载源配置在项目的`gradle-wrapper.properties`文件中 内容大体如下 ```properties distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists ......
Android 项目 Studio Gradle

Android Launcher apk 授信安装

对安装的apk进行校验,除了系统应用市场中下载的,其它渠道的apk都进行安装拦截,并且弹框提示。 首先需要把验证的证书保存在数据库本地,后面需要用到 然后注册系统广播,用于接收 apk 安装时的监听,这个广播由系统发出 新装时的 action ‘android.intent.action.PACKA ......
Launcher Android apk

Android 环境变量配置

**`+`开头的为新增** **`*`开头的为更新添加** `+` ANDROID_HOME -> sdk地址,例如[D:\Developer\Android\Sdk] `*` Path -> %ANDROID_HOME%\tools `*` Path -> %ANDROID_HOME%\platf ......
变量 Android 环境

Android BottomNavigation底部导航栏使用

原文地址: [Android BottomNavigation底部导航栏使用 - Stars-One的杂货小窝](https://stars-one.site/2023/07/04/android-bottomnavigation-use) ## 基本使用 本文侧重点记录一些特殊的样式设置,所以基本 ......
BottomNavigation 底部 Android

MAUI Blazor Android 输入框软键盘遮挡问题2.0

## 前言 关于MAUI Blazor Android 输入框软键盘遮挡问题,之前的文章已经有了答案,[MAUI Blazor Android 输入框软键盘遮挡问题](https://www.cnblogs.com/Yu-Core/p/17186722.html "MAUI Blazor Andro ......
键盘 Android Blazor 问题 MAUI

Android、iOS快速全球化工具

### 动机 在进行移动端全球化的时候,我们需要根据语言类型准备格式相同,文本不同的好多个文件,如果一个一个翻译显然很浪费时间,如果整篇复制到Google翻译通常翻译出来的文本是没办法直接用的,所以我通过有道云API实现了一个翻译iOS全球化文件的工具类。Android可以重写文本匹配的部分。 ## ......
Android 工具 全球 iOS

Android 原生混合flutte运行:Could not resolve io.flutter。

Android 原生项目混合开发flutter ,在运行新项目的时候报错。 > Could not resolve io.flutter:flutter_embedding_debug:1.0.0-2a3401c9bbb5a9a9aec74d4f735d18a9dd3ebf2d. 解决方案 添加 u ......
Android flutter resolve flutte Could

如何用Airtest脚本无线连接Android设备?

有很多同学,在使用纯Airtest脚本的形式连接无线设备时,还是遇到了一些困难。今天我们就继续无线连接这个话题,聊聊怎么用纯Airtest脚本连接无线Android设备。 ......
脚本 Airtest Android 无线 设备

Android各组件/控件间通信利器之EventBus

来源:https://www.cnblogs.com/lwbqqyumidi/p/4041455.html一、build.gradle 中 dependencies节 增加配置 api 'org.greenrobot:eventbus:3.0.0'二、注册EventBus,一般放到onCreate里 ......
利器 控件 组件 EventBus Android

Android开发_开启子线程执行耗时操作

```java Activity activity = (Activity) getContext(); new Thread(new Runnable() { @Override public void run() { activity.runOnUiThread(new Runnable() { ......
线程 Android

Android:倒计时、定时器、定时执行次数使用笔记

原文:https://blog.csdn.net/weixin_40420578/article/details/103876900 一.倒计时(3、2、1) CountDownTimer() //一共3秒,每隔1秒执行一次 CountDownTimer timer = new CountDownT ......
定时器 次数 Android 笔记

Android模式和Project模式切换

* 安卓模式![image.png](https://raw.githubusercontent.com/sandeulllll/blog-img/main/20230701194913.png) * 项目模式![image.png](https://raw.githubusercontent.co ......
模式 Android Project