- 博客(46)
- 资源 (2)
- 收藏
- 关注
原创 android 启动四大组件
启动Activity:使用方法。启动Service:使用方法。发送广播:使用方法。启动Fragment:通过添加到Activity中。操作:通过查询或操作数据。*启动一个类包含action在 Android 中,启动一个类通常是指启动一个应用的某个组件(如Activity如果你需要通过代码启动一个 APK 文件中的某个组件,并且这个组件需要通过特定的Intent动作(action)来启动,你可以使用Intent来实现。
2025-04-09 15:59:04
668
原创 安卓源码如何导入AS
通过上面的步骤就可以实现安卓系统源码的导入(不限于framework,systemui和setting)对后面修改源码和看源码都很方便。9.导入后选择创建module(如下图)加载完选择—》next按钮 —》在次选择next按钮—》create 按钮出现。13.添加android模块后添加apply按钮—》在点击OK按钮,完成模块导入。6.选择modules ->(点击“-”号)把所有的module都删除。8.在次选择需要导入的项目的路径(和第一个路径相似:图3)2.依次选择AS 的file-》open。
2024-12-27 10:16:04
213
原创 git 同步分支操作
在 Git 中,同步分支中的某一条特定提交(记录)而不是整个分支的更改,通常意味着你想将那个特定的提交(及其所有前置依赖提交)应用到另一个分支上。会创建一个新的提交,即使它与原始提交在内容上完全相同,它们在 Git 的历史中也是不同的提交,因为它们有不同的哈希值(由于提交时间戳、父提交等信息的不同)。在 Git 中,将同一套代码的不同分支进行同步(即将一个分支的更改合并到另一个分支)通常涉及以下步骤。命令允许你选择一个或多个特定的提交,并将它们复制到当前分支上,就像它们是在当前分支上直接创建的一样。
2024-12-21 15:56:13
578
原创 linux 命令获取apk 的安装应用的包名
如果你有一个已连接的 Android 设备或模拟器,并且 APK 已经安装在该设备上,你可以使用 adb(Android Debug Bridge)工具来获取包名。在 Linux 系统中,如果你想获取已安装 APK 应用的包名,通常你会在处理 Android 设备或 APK 文件时遇到这个问题。你也可以手动解压 APK 文件(APK 文件本质上是 ZIP 文件),然后查看 AndroidManifest.xml 文件中的 package 属性。通过这些方法,你可以轻松地获取 APK 文件的包名。
2024-12-09 11:59:00
593
原创 Lambda表达式的定义和使用
Lambda表达式基于数学中的λ演算得名,直接对应于其中的lambda抽象(lambda abstraction)。在编程中,Lambda表达式通常用于简化代码,特别是当需要传递一个简短的函数作为参数时。
2024-12-09 11:06:33
337
原创 Android Profiler 内存分析
Android studio(下面简称AS)为App提供的性能分析工具,在AS3.0+替换掉旧的分析工具,对于其使用方法,官方也有对应的介绍:Android Profiler对于使用方法,我只用到比较简单的功能,高级的还没用到,使用案例进行简答的使用,在此之前,你可能需要到官方文档中了解Profiler中一些字段的基本意思内存性能分析器是 Android Profiler 中的一个组件,可帮助您识别可能会导致应用卡顿、冻结甚至崩溃的内存泄漏和内存抖动。
2024-11-07 11:46:55
1801
原创 android源码 system目录下 android源码目录结构
android源码 system目录下 android源码目录结构_lanhy的技术博客_51CTO博客
2024-10-29 11:30:43
182
原创 安卓取消触摸屏幕的指针效果
在安卓系统中,取消触摸屏幕的指针效果(通常指开发者模式下的屏幕点按反馈显示或指针位置显示)可以通过ADB(Android Debug Bridge)命令来实现。如果你希望以脚本化的方式执行这些操作,可以将上述ADB命令写入一个批处理文件(.bat)或Shell脚本中,并一键执行。但是,如果你更改了系统设置,并且在设备重启后希望保持这些更改,那么这些更改应该会被保留下来(除非系统进行了更新或重置)。执行这些命令可能需要设备的root权限,或者你的设备需要处于开发者模式和USB调试开启状态。
2024-10-26 18:03:00
708
原创 git push到远程怎么回退
提示:本次提交前的一个id(4ea35.............................)才能回退你本地需要的逻辑处理提交。3.git git reset (全部文件会回退本地修改状态) git reset HEAD 回退当前文件。3.git git reset (全部文件会回退本地修改状态) git reset HEAD 回退当前文件。2.git reset --soft commitid(回退前的id) 会回退到commit 状态。而且需要保留本地的修改文件。
2024-10-25 21:02:59
1131
1
原创 git checkout 恢复修改之前的代码
如果你想要恢复一个文件或目录到之前的某个提交中的状态,你可以使用 git checkout 后跟具体的提交哈希(或引用,如分支名、标签等)和文件路径。但是,需要注意的是,从 Git 2.23 版本开始,git switch 和 git restore 命令被引入以提供更清晰和专门的用途:git switch 用于切换分支,而 git restore 用于恢复工作目录中的文件。当你提到“修改路径”时,我假设你是指使用 git checkout 来恢复某个文件或目录到之前的某个状态(比如某个提交中的状态)。
2024-10-16 17:11:36
550
原创 安卓 shape 的使用
在目录下创建一个名为的文件,内容如下:这个定义了一个红色的矩形。在目录下创建一个名为的文件,内容如下:注意:这里使用来定义圆形,但在没有指定的情况下,形状会尽可能充满其容器,所以通常配合ImageView或其他容器使用时,需要设置容器的宽高相等以实现完美的圆形效果。在目录下创建一个名为的文件,内容如下:这个定义了一个红色填充、白色边框,且四个角均为8dp圆角的矩形。通过<shape>元素,你可以灵活地定义各种形状,并将其应用于你的Android应用中。
2024-09-25 15:24:29
537
原创 安卓蓝牙技术的使用和场景
1.蓝牙协议应用领域蓝牙协议是一种无线通信技术,广泛应用于短距离的数据和语音传输。:蓝牙技术允许智能手机、平板电脑、笔记本电脑等设备之间进行数据传输和共享。例如,通过蓝牙将手机中的照片传输到电脑上。:使用蓝牙连接无线耳机和音响,用户可以享受无线听音乐和通话的便利。这是蓝牙最常见的应用之一。:蓝牙技术在智能家居设备中的应用也越来越广泛,如智能灯泡、智能锁和温度控制器等,用户可以通过手机或其他智能设备远程控制。
2024-08-29 09:58:36
1634
原创 Hashmap 和Hashtable 的介绍,使用和区别
1.Hashmap的介绍和使用HashMap是 Java 中一种非常流行的 Map 接口的实现,它存储的内容为键值对(key-value pairs)。使用哈希表作为其内部数据结构,HashMap提供了良好的平均查询时间和较高的插入和删除效率。以下是关于HashMap。
2024-08-29 09:45:58
1017
原创 java中的原子性
原子性是实现线程安全的关键之一,通过上述方法可以有效保护数据不被并发操作破坏。在设计多线程程序时,确保涉及共享数据的操作具备原子性非常重要,可以选择合适的工具和策略来达成这一目的,从而提升程序的健壮性和可靠性。
2024-08-27 17:00:42
446
原创 安卓中synchronized 关键字 的作用和介绍
在Java中,关键字用于控制多线程环境下对方法或代码块的访问,确保在同一时刻只有一个线程可以执行该方法或代码块。当你在方法声明中使用关键字,这意味着任何线程在调用该方法之前必须获得该方法所属对象的锁。这通常用于保护共享资源的一致性,防止因多线程同时修改同一数据而导致的数据不一致或竞态条件。在Java中,关键字是用来控制多个线程访问共享资源的一种机制,确保在同一时刻只有一个线程可以执行特定段代码。这主要是用来解决多线程环境下的线程安全问题。使用和。
2024-08-27 16:55:09
1444
原创 安卓中回调函数的使用
回调函数通常定义为接口,它包含要执行的动作的方法。当一个操作完成时(无论是成功还是失败),通过这些接口的方法可以通知其他部分的代码。在Android中,你可以使用回调来管理不同组件之间的通信,如从数据库获取数据、从网络加载数据等。异步任务回调通过使用这些回调和监听模式,你可以编写出响应性更强、结构更清晰的应用程序。
2024-08-27 15:35:55
857
原创 安卓中 onClick(View v) 方法在主线程还是子线程运行
方法内执行了耗时的操作(如网络请求、大量数据处理等),这可能会导致主线程阻塞,进而影响用户体验(如界面卡顿、无响应等)。为了避免这种情况,你应该将这些耗时的操作放在子线程中执行,然后通过Handler或其他机制将结果传回主线程来更新UI。这个方法是在用户与界面元素(如按钮)进行交互时,由系统框架自动调用的。由于Android的UI操作必须是线程安全的,并且只能在主线程上进行,因此任何与UI相关的回调(包括。方法模拟了一个耗时的操作,我们通过在子线程中调用它来避免阻塞主线程。来处理跨线程的消息传递,因为。
2024-08-23 21:29:34
519
原创 安卓中携程和线程的区别。携程是指什么?
在安卓和其他编程环境中,协程(Coroutine)和线程(Thread)是两种不同的并发处理机制。在具体实现上,协程可以帮助开发者以更简洁的方式编写异步代码,同时保持代码的可读性和可维护性。在安卓开发中,利用 Kotlin 协程库(如 kotlinx-coroutines)可以非常方便地实现这些功能。
2024-08-19 10:34:35
707
原创 Android基础篇 TextView 设置行间距字间距
Android系统中TextView默认显示中文时会比较紧凑,不是很美观。为了让每行保持一定的行间距,可以设置属性android:lineSpacingExtra或android:lineSpacingMultiplier。关于Android下TextView中文换行问题,可查看Android自定义view-文本自动换行。设置行间距的倍数,如”1.2″。设置行间距,如”3dp”。
2024-08-07 17:20:56
1013
转载 android layout values drawable等分辨率适配
第1种,格式:"values-sw值dp",屏幕宽高的较小值,大于等于"值"时,取此目录下的dimens文件中的dp值,不受横竖屏影响。第2种,格式:"values-w值dp",屏幕宽度,大于等于"值"时,取此目录下的dimens文件中的dp值,横竖屏切换时取值会变。第3种,格式:"values-h值dp",屏幕高度,大于等于"值"时,取此目录下的dimens文件中的dp值,横竖屏切换时取值会变。res/layout目录后跟分辨率,格式:"layout-高x宽",每个layout目录下都写一个布局文件。
2024-08-07 15:19:20
264
原创 android 广播的发送和接收
在Android中 Broadcast是一种 广泛运用在引用程序之间传输信息的机制。而BroadcastReceiver 是对发送出来的Broadcaset进行过滤接受并响应的一类组件。如果不需发送广播到别的应用 使用 LocalBroadcastManger就可以了。
2024-08-02 19:45:29
1272
原创 Android获取当前在前台运行的应用和判断当前应用进程是否存在
要实现只在特定应用(比如“K歌”)运行时显示对话框,你需要在触发对话框的事件中加入判断逻辑,检查当前是否是特定应用正在运行。在Android中,可以通过检查当前在前台运行的应用来实现这一功能。这通常涉及到使用来获取前台应用的信息。
2024-07-30 13:49:36
1098
原创 在Android开发中,如何优化onCreate()和onResume()方法以提高应用性能?
在Android开发中,onCreate()和onResume()方法是活动生命周期中非常重要的两个回调方法,它们分别在活动创建和重新获得焦点时被调用。
2024-07-27 09:23:20
731
原创 安卓adb shell top 命令的使用
是一个在 Android 开发中常用的命令,它使用 Android Debug Bridge (adb) 来运行。这个命令对于开发者来说非常有用,因为它可以帮助他们识别性能瓶颈、内存使用情况以及可能的内存泄漏问题。需要你的设备已经开启开发者模式,并且与你的电脑通过 USB 调试模式连接。命令,这通常用于监视 Android 设备上的进程和系统资源使用情况。如果你需要对特定的进程进行更深入的分析,你还可以使用。命令来获取更多信息,或者使用。
2024-07-27 09:22:09
950
原创 安卓返回事件的方法和区别
2.在Android开发中,除了onBackPressed()和onKeyDown(int keyCode, KeyEvent event),还有许多其他常用的事件处理方法,用于处理不同类型的用户输入和系统事件。使用场景: onBackPressed()主要用于处理返回键的默认行为,而onKeyDown()则更灵活,可以用于处理任意按键的事件。触发条件: onBackPressed()仅在返回键被按下时触发,而onKeyDown()则在任何键被按下时触发。当被启动的活动返回结果时,这个方法会被调用。
2024-07-27 08:47:16
615
原创 安卓 mvp 的架构的详细介绍
MVP(Model-View-Presenter)是一种软件架构模式,常用于构建用户界面(UI)。它将应用程序的逻辑划分为三个部分:Model、View 和 Presenter。MVP 的主要目标是分离视图和业务逻辑,使代码更易于维护和测试。在上述示例中,LoginActivity 是 View,负责显示 UI 和接收用户输入。LoginPresenter 是 Presenter,负责处理登录逻辑并与 Model 进行交互。LoginModel 是 Model,负责处理数据逻辑。
2024-07-19 22:10:21
1070
原创 java 中的虚拟机的介绍
JVM 是 Java 平台的重要组成部分,提供了跨平台的能力和自动内存管理等特性。理解 JVM 的工作原理和内部机制对于优化 Java 应用程序的性能和解决实际问题具有重要意义。
2024-07-19 22:04:06
932
原创 Android获取当前屏幕显示的是哪个activity
这是一个常见的方法,尽管从 Android 5.0 (API 21) 开始,有些方法变得不太可靠或受限制。方法一:使用 ActivityManager 获取当前运行的任务信息。方法来获取当前显示的 Activity 名称。在你的 Activity 或其他组件中调用。
2024-07-17 14:57:38
2951
原创 安卓onNewIntent 什么时候执行
是 Android 中 生命周期的一部分。它在特定情况下被调用,主要用于处理新的 ,而不是创建新的 实例。详细介绍如下: 启动模式: 启动模式:显式调用 方法:配置 启动模式为 或 :在 中覆盖 方法:启动这个 时,如果它已经在栈顶,将会调用 方法:通过正确配置和使用 方法,可以有效地管理 的生命周期,提升应用的性能和用户体验。二。通过正确配置和使用 方法,可以有效地管理 的生命周期,提升应用的性能和用户体验。二.onNewIntent什么时候执行 方法在 中执行的时机主要有以下
2024-07-11 13:47:29
1442
原创 安卓下拉菜单平移动画开发
在 Android 中实现下拉菜单的平移动画,可以使用类来实现菜单的平移效果。在这个示例中,我们将创建一个简单的下拉菜单,当用户点击按钮时,菜单会从屏幕顶部平移出来或隐藏。
2024-06-28 15:48:46
937
原创 安卓弹框要恢复和清理 SharedPreferences 中保存的数据
通过上述代码,用户可以在应用中点击按钮来清理中的所有数据。这种方法不仅可以用于清理对话框状态,还可以用于其他需要清理和重置状态的功能。
2024-06-27 10:37:03
700
原创 Android 应用中,对话框只在第一次提醒一次,后续不会再提醒。
以上代码展示了如何使用存储用户的选择状态,并确保对话框只在第一次选中后提醒一次。通过这种方式,可以实现用户友好的提醒功能,不会在每次启动应用时都显示同样的对话框。
2024-06-27 10:20:34
976
原创 安卓button 点击变换颜色
在安卓开发中,要实现一个按钮在被点击时改变其背景颜色(通常表示被选中),然后再点击一次时恢复原样(去掉选中的状态),你需要使用一个布尔值来跟踪按钮的当前状态,并在点击事件中根据这个状态来改变背景。// 恢复原来的颜色。// 设置选中时的颜色。// 如果按钮未被选中,则设置为选中状态。// 如果按钮被选中,则去掉选中状态。
2024-06-13 20:52:11
1094
2
原创 Android之延迟执行的几种方法
/延时五百毫秒,再次执行这个runnable,如果isRegister为false了就停止执行了。//延时五百毫秒,执行runnable。},0,1000);//每隔一秒使用handler发送一下消息,也就是每隔一秒执行一次,一直重复执行。//3秒后每隔5秒执行一次。/*执行一段逻辑*///需要循环执行的代码。
2024-05-15 20:45:14
4277
原创 Android LinearLayout水平摆放4个子布局
- 可选,用于在TextView之间添加间隔 -->android:gravity="center_vertical" android:padding="16dp" android:text="字1"-- 第一个TextView -->-- 第二个TextView -->-- 第三个TextView -->-- 第四个TextView -->在这个示例中,我使用了。
2024-05-07 20:32:58
672
原创 android如何获取第三方音乐应用app正在播放的信息?
android.util.Log.d(TAG, "setMediaPlayMusic: " + "播放状态:" + state + "应用包名:" + packageName);// 获取歌曲的图片。// 假设只有一个活动的媒体会话。// 获取播放状态(如 PLAYING, PAUSED 等)// 2 代表暂停 3 代表播放状态。// 根据包名获取APP名称。
2024-05-06 20:15:59
1536
3
原创 安卓13平台 rk3326 底层节点控制灯光
2.dsp发送对应的指令控制切换模式。* LED1和LED2组合。* 1,0 AUX亮。* 改变节点模式状态灯。* 0,1 BT亮。* 0,0 全灭。
2024-03-28 22:26:30
694
ImageCompressionUtils.java
2020-07-03
Eventbus 初步使用的DEMO
2018-10-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人