![](https://img-blog.csdnimg.cn/20200330155045538.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Android
文章平均质量分 72
Android开发
ta叫我小白
学到老,活到老。
展开
-
Kotlin协程中调度器Dispatchers的介绍
在 Kotlin 的协程中,Dispatchers 是用于指定协程运行的调度器(dispatcher),它决定了协程在哪个线程或线程池中执行。Dispatchers 包含了几种类型,每种类型都有不同的应用场景。在选择 Dispatchers 类型时,需要根据任务的特性和执行环境来进行选择,以确保协程能够在合适的线程中执行,从而提高应用的性能和响应性。原创 2024-05-10 10:56:42 · 435 阅读 · 0 评论 -
Android app通过jcifs-ng实现Samba连接共享文件夹
Android端使用Samba连接共享文件夹,下载或上传文件的功能实现。如果你是用jcifs工具包,那么你要注意jcifs-ng 和 jcifs 支持的SMB版本区别。这里有关于jcifs-ng的使用介绍。原创 2024-05-09 15:29:07 · 1206 阅读 · 1 评论 -
【Android Audio Focus 音频焦点】
Android 中的音频焦点(Audio Focus)是一种机制,用于管理应用程序之间的音频资源竞争。当多个应用程序同时请求使用音频设备时,通过音频焦点机制可以确保最终用户的体验不受影响。两个或两个以上的 Android 应用可同时向同一输出流播放音频。系统会将所有音频流混合在一起。虽然这是一项出色的技术,但却会给用户带来很大的困扰。为了避免所有音乐应用同时播放,Android 引入了“音频焦点”的概念。一次只能有一个应用获得音频焦点。原创 2023-12-07 16:59:59 · 2283 阅读 · 0 评论 -
【Android MediaCodec 将音频转换为 pcm 格式】
Android MediaCodec 将音频转换为 pcm 格式示例原创 2023-11-30 14:54:57 · 990 阅读 · 0 评论 -
Android.mk 和 CMakeLists.txt 的转换规则
例如,Android.mk 中的 LOCAL_MODULE 指令通常会被转换成 CMakeLists.txt 中的项目名称。在 Android.mk 中,你可以使用 LOCAL_C_INCLUDES 和 LOCAL_CPP_INCLUDES 指令来声明头文件的路径。在 Android.mk 中,你可以使用 LOCAL_SRC_FILES 指令来声明要编译的源代码文件。需要注意的是,在 CMake 中,库的名称通常是去掉前缀和后缀的纯库名,例如 libfoo.so 库在 CMake 中的名称为 foo。原创 2023-03-14 21:26:57 · 1679 阅读 · 0 评论 -
Android自定义View之『 自定义组合控件 』
开发中经常遇到一些使用率很高的组合控件,比如用户头像、名称、背景及点击动画,再比如新闻列表中的新闻图片、标题、时间、评论等,这些都可以“抽象”成一个组合式控件,以便于调用。这里以一个简要的新闻版块信息为例,简要说明一下组合控件的构建流程。效果图:1、在attrs.xml中定义属性,供自定义类InfoBlockView使用:<?xml version="1.0" encoding="utf-8"?><resources> <declare-st.原创 2020-06-24 14:16:20 · 750 阅读 · 0 评论 -
Android自定义View之『 定义带圆角框的TextView』(继承系统控件方式)
该自定义方式:继承系统控件,再定义。除了这种方式,还有【组合自定义方式】和【继承View自定义方式】,对于这两种,本文暂不涉及。需求:实现一个带圆角边框的文字控件。例如下图:1、新建MyTextView.javapackage com.example.blc.myviewapplication;import android.content.Context;import android.content.res.TypedArray;import android.graphics.原创 2020-06-20 17:20:00 · 628 阅读 · 0 评论 -
关于ViewPager清除已加载Fragment,重新创建新的Fragment的方法
最近在项目中使用ViewPager+Fragment实现左右两个滑动切换界面。但是遇到一个问题:在不退出当前Activity的情况下,重新加载Fragment,却得到了空白界面,并没有生成新的Fragment添加进去。这个问题可能是由于旧的Fragment没有被清除导致的。查看了 FragmentPagerAdapter 类的创建实例的函数 instantiateItem :@Non...原创 2019-08-16 09:14:58 · 6707 阅读 · 2 评论 -
Android线程中执行“getevent”命令时的线程退出(结束)问题
项目中遇到需要执行shell命令“getevent”获取坐标参数的需求,但是发现无法结束运行该命令的线程,后来终于发现解决方法。在此记录下。 我在线程中通过ProcessBuilder(或者Runtime.getRuntime().exec())执行命令“getevent -qlt”(需要root权限)。用过这个命令的同志都知道getevent是一个不断读取事件的命令,可以通过cm原创 2016-11-29 11:31:00 · 2663 阅读 · 1 评论 -
Java笔记:[反射篇] 利用反射,获取类中的私有内部类对象,并调用该对象的方法
有时候,你会想使用Android自带的某个控件,但发现某些参数需要重新设置,但是并没有暴露出来修改的入口。这时反射就可以帮上你的忙了~我们以RecyclerView为例,看看反射的使用方法。原创 2016-03-09 18:48:05 · 7480 阅读 · 2 评论 -
Android笔记:导航栏和状态栏的透明度设置
下面设置导航栏和状态栏透明度的方法需要条件:API level 至少为19状态栏(status bar)半透明:getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);导航栏(navigation bar)半透明:getWindow().addFlags(Windo原创 2016-02-23 16:49:25 · 805 阅读 · 0 评论 -
Android log信息的跨进程读取问题
笔记1:关于一个应用读取其他应用的log信息问题(跨进程读取log信息问题): 由于工作项目有类似需求,需要在代码中读取其他应用的log信息,但是尝试了好多方法,浪费了近一天时间,最后发现了以下结论: android4.1之前版本通过申请android.permission.READ_LOGS权限就可以读取其他应用的log。但是谷歌发现这样存在安全风险,原创 2016-01-20 17:41:28 · 778 阅读 · 0 评论 -
android adb shell 查询进程流量情况
通过adb shell查看应用的流量使用情况。原创 2016-01-19 14:47:35 · 11159 阅读 · 0 评论 -
Android 主线程与子线程的通信 By Handler and Message
//MainActivity.javapackage com.example.multipleThread;import com.example.sqlitedatabase.R;import android.app.Activity;import android.os.Bundle;import android.os.Handler;import android.os.Mess原创 2014-11-22 13:58:17 · 785 阅读 · 0 评论 -
关于Android中Runtime.exec()方法的使用误区
在工作中曾经遇到需要使用Java代码执行shell命令的问题。Android中倒是有几个方法可以来用一下。由于被困扰了一段时间,今特记之,已明己。之前是这样用的:Runtime.getRuntime().exec("ps | grep xxx");但是不幸的是,在该方法返回的InputStream流中并没有获得我想要的结果。郁闷ing。在网上查找了很多资料,终于。。。不废话原创 2015-11-18 19:43:42 · 4746 阅读 · 3 评论 -
关于Android中AlertDialog的使用问题:点击AlertDialog外部不消失的代码操作
关于Android中AlertDialog的基本使用方法。点击对话框外部的响应问题:点击AlertDialog外部不消失的代码设置原创 2015-01-24 17:52:00 · 1275 阅读 · 0 评论 -
Android 异步任务 AsyncTask 的使用总结
程序终结者——异步任务 AsyncTask原创 2014-11-24 10:56:03 · 336 阅读 · 0 评论