Android

Android自定义弹窗提示效果

2021-09-09
本文实例为大家分享了Android 自定义弹窗提示的具体代码,供大家参考,具体内容如下 Java文件: private void showSetDeBugDialog() { AlertDialog.Builder setDeBugDialog = new AlertDialog.Builder(this); //获取界面 View dialogView = LayoutInflater.from(this).inflate(R.layout.system_admin_psw_alert_dia

Android 2d游戏开发之贪吃蛇基于surfaceview

2021-09-09
前两个游戏是基于View游戏框架的,View游戏框架只适合做静止的,异步触发的游戏,如果做一直在动的游戏,View的效率就不高了,我们需要一种同步触发的游戏框架,也就是surfaceview游戏框架,你可能会问,什么乱七八糟的,啥叫同步?啥叫异步?...我就不告诉你...我们先看一下这个同步框架,看看骚年你能不能自己领悟. GameView.java(继承自SurfaceView) package com.next.eatsnake; import android.content.Context

详解Android内存优化策略

2021-09-09
目录 前言 一.内存优化策略 二.具体优化的点 1.避免内存泄漏 2.Bitmap等大对象的优化策略 (1) 优化Bitmap分辨率 (2) 优化单个像素点内存 (3) Bitmap的缓存策略 (4) drawable资源选择合适的drawable文件夹存放 (5) 其他大对象的优化 (6) 避免内存抖动 3.原生API回调释放内存 4.内存排查工具 (1)LeakCanary监测内存泄漏 (2)通过Proflier监控内存 (3)通过MAT工具排查内存泄漏 总结 前言 在开始之前需要先搞明白一

Android仿QQ微信未读消息小红点BadgeHelper

2021-09-09
Android 小红点 未读消息功能 BadgeHelper 因为最近的项目需求,翻遍github上的未读消息红点开源库, 发现大部分 不能适配不同情况的布局, 所以我写了一个能兼容全部的 ! 网上的写法是 继承TextView然后生成一个小红点drawable,设置到背景中去, 然后把目标view外层加一层FrameLayout,然后把小红点添加进去 但这样做的问题来了, 小红点与目标View 会叠起来!, 挡住文字,!!! 看得我瞎了~~~ 而且 他们提供的setOffsetX setpad

手把手教你Android全局触摸事件监听

2021-09-08
Android系统全局触摸事件监听 Android触摸全局监听指的是调用监听后在任何界面都能获取到触摸事件. 要实现这个功能必须要修改源码添加新的接口,因为系统默认是不暴露这个方法的. 源码 监听系统全局触摸事件的类和相关代码: frameworks\base\services\core\java\com\android\server\wm\WindowManagerService.java @Override public void registerPointerEventListener(P

详解Android内存泄露及优化方案一

2021-09-08
目录 一.常见的内存泄露应用场景? 1.单例的不恰当使用 2.静态变量导致内存泄露 3.非静态内部类导致内存泄露 4.未取消注册或回调导致内存泄露 5.定时器Timer 和 TimerTask 导致内存泄露 6.集合中的对象未清理造成内存泄露 7.资源未关闭或释放导致内存泄露 8.动画造成内存泄露 9.WebView 造成内存泄露 总结 一.常见的内存泄露应用场景? 1.单例的不恰当使用 单例是我们开发中最常见和使用最频繁的设计模式之一,所以如果使用不当就会导致内存泄露.因为单例的静态特性使得它

Android Lottie实现中秋月饼变明月动画特效实例

2021-09-08
目录 前言 Lottie 案例尝试 1. 集成依赖 2. 添加 LottieAnimationView 加载网络资源 3. 加载本地资源 4. 循环播放 & 动画监听 5. 暂停 & 继续 & 取消 小扩展 1. 硬件加速器 2. json 文件解析 总结 前言 小菜在 Android 端进行动画处理时主要用的是 Android 自带的三种动画形式,今天小菜简单尝试通过 Airbnb Lottie 展示一个中秋月饼变明月的小动画: Lottie Lottie 动画是 Airbnb

Android开发中amera2 Preview使用详解

2021-09-08
目录 前言 一.Camera2 Preview需要用到哪些模块 二.各个模块的功能和之间的关系 2.1 SurfaceTexture之SurfaceTextureListener 2.1.1 首先看关于SurfaceTexture的说明 2.1.2 SurfaceTextureListener的使用 2.2 CameraManager 2.2.1 CameraManager的作用 2.2.2 使用CameraManager打开Camera 2.3 CameraDevice之StateCallba

超详细的Android开发调试工具ADB命令及安装介绍

2021-09-08
目录 一.ADB简介 二.安装ADB 三.环境变量 四.连接真机 五.常用命令 查看ADB版本 帮助信息(重要) 开启ADB服务端 关闭ADB服务端 安装App 卸载App Push文件 Pull文件 查看日志 六.高级技巧- 指定多个设备中的1个或n个 WLAN连接 如何建立连接? 如何断开WLAN连接? 七.高级Unix命令行工具(Android基于Linux内核) 查看Android设备可用命令(重要) 执行任意的可用命令 input 八.经常使用的Unix命令行工具 九.ADB原理 采用

Android自定义View实现九宫格图形解锁(Kotlin版)

2021-09-07
本文实例为大家分享了Android自定义View实现九宫格图形解锁的具体代码,供大家参考,具体内容如下 效果: 代码: package com.example.kotlin_test import android.content.Context import android.graphics.Canvas import android.graphics.Color import android.graphics.Paint import android.util.AttributeSet imp

Android中使用TextToSpeech的方法

2021-09-07
前言 在一年前,和朋友一起码了一个英语APP,仿照某APP实现了单词的功能,最开始就是借助的TextToSpeech,后面感觉声音不够好听,于是使用了第三方 APP初稿如图: 实现 1.初始化语音.这是一个异步操作.初始化完成后调用oninitListener(第二个参数). TextToSpeech mTts = new TextToSpeech(this, this); 2.实现TextToSpeech.OnInitListener 注意:语言可能不可用. // 实现TextToSpeech

Android开发中关于组件导出的风险及防范

2021-09-07
前言 近年来,移动APP存在一个非常的重要的问题就是安全问题,造成的后果有可能是用户的隐私泄露和财产损失等,对于一款成熟的APP或者是金融银行类APP,这无疑是最致命的,所以对APP进行有效的防范也是很有必要. 近段时间,公司安排了某安全公司对我们的APP进行了全方面的安全测试,根据文档检测结果看,整体上看还是很安全的,其中有一项就是组件导出风险,接下来我们说说四大组件.组件导出必要性.风险以及如何防范. 一.四大组件 从事Android开发,我们都知道Android有四大组件, 分别是: 活动

Android Handler,Message,MessageQueue,Loper源码解析详解

2021-09-07
本文主要是对Handler和消息循环的实现原理进行源码分析,如果不熟悉Handler可以参见博文< Android中Handler的使用>,里面对Android为何以引入Handler机制以及如何使用Handler做了讲解. 概括来说,Handler是Android中引入的一种让开发者参与处理线程中消息循环的机制.我们在使用Handler的时候与Message打交道最多,Message是Hanlder机制向开发人员暴露出来的相关类,可以通过Message类完成大部分操作Handler的功能.但

Android动态表格的实现代码(内容、样式可扩缩)

2021-09-07
1.实现动态表格效果如下: 2.项目如下: **3.activity_smart_table.xml,表格布局代码如下:** <com.bin.david.form.core.SmartTable android:id="@+id/table" android:layout_weight="1" android:layout_width="match_parent" android:layout_height="0dp"

Android AS创建自定义布局案例详解

2021-09-07
先创建一个title.xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" andr

Android之事件分发机制与冲突详解

2021-09-07
在日常的开发过程中,我们往往会在同一个界面中出现内外两层或者多层View同时滑动的现象,这个时候往往**会出现滑动冲突.面对滑动冲突,很多开发人员不知道从哪里入手,**即便稍微有点思路,也要费点时间才能解决.其实滑动冲突的解决是有一定的套路的. 下面主要针对Android开发中几种常见的滑动冲突及对应的解决方案来进行讲解 常见的滑动冲突场景! 目前常见的滑动冲突主要可以分为以下三种来概括: 外部滑动方向和内部View的滑动方向不一致,内部的View和外部的View的滑动方向是**互相垂直的,**

Android11绕过反射限制的方法

2021-09-07
目录 1. 问题出现的背景 2. 分析问题出现的原因 3. 解决方案 1. 问题出现的背景 腾讯视频在集成我们 replay sdk 的时候发现这么个错误,导致整个 db mock 功能完全失效. Accessing hidden field Landroid/database/sqlite/SQLiteCursor; ->mDriver:Landroid/database/sqlite/SQLiteCursorDriver; (greylist-max-o, reflection, denie

Android Handler的使用详解

2021-09-06
在Android开发中,我们经常会遇到这样一种情况:在UI界面上进行某项操作后要执行一段很耗时的代码,比如我们在界面上点击了一个"下载"按钮,那么我们需要执行网络请求,这是一个耗时操作,因为不知道什么时候才能完成.为了保证不影响UI线程,所以我们会创建一个新的线程去执行我们的耗时的代码.当我们的耗时操作完成时,我们需要更新UI界面以告知用户操作完成了.所以我们可能会写出如下的代码: package ispring.com.testhandler; import android.app.

Flutter路由fluro引入配置和使用的具体方法

2021-09-06
目录 flutter_fluro简介 引入fluro 初始化Fluro 编写rotuer_handler 配置路由 把Fluro的Router静态化 把路由注册/注入到顶层 在首页使用 总结: Flutter本身提供了路由机制,作个人的小型项目,完全足够了.但是如果你要作企业级开发,可能就会把入口文件变得臃肿不堪.而再Flutter问世之初,就已经了企业级路由方案fluro. flutter_fluro简介 fluro简化了Flutter的路由开发,也是目前Flutter生态中最成熟的路由框架.

Android ListView 实例讲解清晰易懂

2021-09-06
一.前言 在某些场景下,单一文字的ListView Item已不适合当前需求,因此需要我们自定义Item布局来满足需求.下面我们来实现一个带图标和文字的Item. 二.代码展示 1.定义包含ListView的布局文件activity_main.xml,Activity在onCreate()时加载. <?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.Con