
应用程序开发
文章平均质量分 81
Android学习小分队
这个作者很懒,什么都没留下…
展开
-
Android Hook机制
其实Hook并不是Android的专属。其实在Android出现之前,HOOK(钩子,挂钩)是一种实现Windows平台下类似于中断的机制。HOOK机制允许应用程序拦截并处理Windows消息或指定事件,当指定的消息发出后,HOOK程序就可以在消息到达目标窗口之前将其捕获,从而得到对消息的控制权,进而可以对该消息进行处理或修改,加入我们所需的功能,PC端游戏外挂用的就是这个原理。原创 2022-11-21 17:56:16 · 3605 阅读 · 0 评论 -
Android logd日志原理
无论是Android系统开发,还是应用开发,都离不开log,Androd上层采用logcat输出log。当日志输出过于频繁或者日志占用内存过大时,会有日志裁剪的动作:每次裁剪日志行数等于总行数的10%,并且需要大于等于4行,且不超过256行,优先裁剪黑名单以及log打印最多的那个uid, 以及system uid中打印日志最多的pid进程中的日志,也可以设置不裁剪的白名单。比如persist.logd.size.system;LOG_BUFFER_SIZE, 即256k;原创 2022-11-10 22:32:40 · 1475 阅读 · 0 评论 -
Android系统启动-Init进程
init进程是Linux系统中用户空间的第一个进程,进程号固定为1。Kernel启动后,在用户空间启动init进程,并调用init中的main()方法执行init进程的职责。解析并运行所有的init.rc相关文件根据rc文件,生成相应的设备驱动节点处理子进程的终止(signal方式)提供属性服务的功能接下来从main()方法说起。创建一块共享的内存空间,用于属性服务器;解析各个rc文件,并启动相应属性服务进程;原创 2022-11-08 22:28:15 · 690 阅读 · 0 评论 -
PowerManagerService之亮屏流程分析
亮屏的方式有很多,其中最常用的是 Power 键亮屏,这个流程比较简单,本文希望通过分析这个流程,从而理清操作屏幕的通用流程。原创 2022-11-06 23:22:23 · 771 阅读 · 0 评论 -
我在学了flutter后,得到了同事和项目主管的认可(内附flutter自学手册)
Flutter是一个跨平台开发工具,作为一位做了两年Android原生开发的人来说,对这种跨平台工具其实是不怎么看好的,也没有那么多时间去学,公司也没有这方面的需求。一次偶然的机会吧,看到了一篇安利flutter的文章,它对我产生的很大的兴趣。于是在接下来的一个月里,一有空我就去自学,去向同行长辈请教,上手了之后才发现原来flutter是这么好用,以下是我的使用感受:1、flutter使用的是dart语言,dart具备许多主流语言的共性,还有灵活的构造函数和简洁清晰的用语等,学起来也相对轻松很多。原创 2022-11-03 00:21:09 · 219 阅读 · 0 评论 -
Android通过搜索框架实现搜索功能
Android 搜索框架提供了搜索弹窗和搜索控件两种使用方式。搜索弹窗:系统控制的弹窗,激活后显示在页面顶部,输入的内容提交后会通过Intent传递到指定的搜索Activity中处理,可以添加搜索建议。搜索控件(SearchView):系统实现的搜索控件,可以放在任意位置(可以与Toolbar结合使用),默认情况下与EditText类似,需要自己添加监听处理用户输入的数据,通过配置可以达到与搜索弹窗一致的行为。原创 2022-10-30 23:39:32 · 3254 阅读 · 0 评论 -
Android中FileProvider的各种应用场景
有部分同学只要是上传或者下载,只要用到了文件,不管三七二十一写个 FileProvider 再说。不是每一种情况都需要使用 FileProvider 的,啥?你问行不行?有没有毛病?这… 写了确实可以,没毛病!但是这没有必要啊。如果不需要FileProvider就不需要定义啊,如果定义了重复的 FileProvider,还会导致清单文件合并失败,需要处理冲突,从而引出又一个问题,解决 FileProvider 的冲突问题,当然这不是本文的重点,网上也有解决方案。原创 2022-10-27 09:00:00 · 699 阅读 · 0 评论 -
Android音频管理器AudioManager用法
当我们在听歌时,当我们在刷小视频时,当我们在看动漫、在看电影、在追剧时,不知道是否有人注意到,在这些软件中滑动屏幕或者拖动滑动条就可以直接控制音量,而不需要去按手机硬件上的音量键。先调用 getSysytemService方法来获取系统的音频管理器,然后再调用 AudioManager的方法控制手机音频即可。在某些时候,程序需要管理系统音量,或者让系统直接静音,这就要借助于Android提供的AudioManager来实现了。STREAM_MUSIC:手机音乐的声音。最后在onCreat中实现 静音。原创 2022-10-26 22:05:07 · 1426 阅读 · 0 评论 -
Android 第三方库AgentWeb的使用
Android开发经常会用到WebView,用于加载网页。系统自带的WebView性能和流畅度都一般,AgentWeb是一款第三方的WebView,性能比系统自带的要好,功能也更多。AgentWeb是一个高度封装的Android WebView,简单易用,带进度条,支持文件上传,下载,简化Javascript通信,链式调用,加强Web安全的库。让你轻松集成一个轻量级浏览器在应用上。原创 2022-10-26 00:18:37 · 4555 阅读 · 0 评论 -
使用stipopsdk将贴纸集成到Android应用程序中
我们将开始为手机和平板电脑创建一个新项目。然后我们选择基本活动或空活动。确保选择Kotlin,并检查是否将最低SDK设置为API级别26以上的任何值,以便演示程序正常工作。准备工作已经基本完成了。剩下的就是将存储库和依赖项添加到我们的构建中。Jitpack存储库转到根构建的存储库部分的末尾。Stipop SDK依赖性将转到应用程序构建的依赖项部分的末尾。正式开始:让我们从stipopsdk开始吧我们在一开始下载的json文件将放在“assets”文件夹中,该文件夹位于app > src > main原创 2022-10-24 22:29:36 · 165 阅读 · 0 评论 -
探索Android LiveData的使用和行为
Android LiveData是可观察和生命周期感知的数据。假设生命周期所有者是一个活动,生命周期感知意味着它只在活动处于活动状态时向UI发送更新。Activity is active表示UI在后台(已启动状态)或在前台(恢复状态)可见。原创 2022-10-23 20:15:19 · 761 阅读 · 0 评论 -
通过 OkHttp 拦截器拦截安卓系统中的网络请求
对于每一个新的特性,产品api的新端点都必须被创建来向应用程序提供数据,在api还没有准备好使用之前,Android团队使用拦截器来模拟网络请求,并提供虚拟响应,以便继续进行开发工作。3、最后,我们在我们的按钮上添加了一个点击监听器,该监听器通过改造进行网络调用,并将数据放在textview中。这是一个简单的布局,包含一个按钮和一个文本视图,我们将通过单击按钮进行网络调用,并在文本视图中显示数据。在继续之前,让我们首先在项目中添加一个测试响应,拦截器将在拦截请求后提供该响应。以上就是本文的全部内容,原创 2022-10-18 14:09:05 · 2210 阅读 · 0 评论 -
在Android上使用OpenCV创建和优化自定义模糊
图像由排列在二维网格中的若干像素组成;行和列。图像的分辨率是行数和列数的乘积,行表示图像的高度,列表示图像的宽度。一个1080x720的图像总共有777600个像素,每个像素都由一些称为通道的颜色组成。数字图像通常由3个通道组成;红,绿,蓝。灰度图像只有一个通道;黑色或白色。每个像素由8位(~1字节)表示,其值范围为0-255。每当模糊等效果应用于图像时,实际上,这是一组直接应用于像素的数学运算,以获得所需的结果。有各种各样的技术用来模糊图像,其中一些是:1、均值滤波器2、高斯模糊。原创 2022-10-17 14:43:20 · 478 阅读 · 0 评论 -
在Android上探索动态特征导航
在这篇文章中,我们将深入研究动态特性导航库,不仅学习如何在应用程序中使用它,还将了解它的组件如何在引擎盖下工作。原创 2022-10-14 20:50:43 · 512 阅读 · 0 评论 -
在 Flutter 中切换应用页面
很多人在刚接触这个行业的时候或者是在遇到瓶颈期的时候,总会遇到一些问题,比如学了一段时间感觉没有方向感,不知道该从那里入手去学习,需要一份小编整理出来的学习资料的。在应用程序中浏览屏幕是一项非常重要的功能,因为应用程序包含两个或更多屏幕。在颤振中,屏幕被称为路线。最后,如果大伙有什么好的学习方法或建议欢迎大家在评论中积极留言哈,希望大家能够共同学习、共同努力、共同进步。每条路线都有一个按钮,当它们被点击时,可以进行导航。...原创 2022-08-31 10:29:44 · 956 阅读 · 0 评论