![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
安卓基础篇
文章平均质量分 58
Mrsongs的心情杂货铺
Android Framework 开发者,擅长网络模块,ROM定制。
展开
-
Selinux权限配置详解
基础知识都已经学习完了,但是还不知道怎么样,下面从不同的场景,实现了几个例子,可以参考学习一下。 对于 /extern/sepolicy 的修改如下方法编译: 不过对于 MTK 的 Android 系统,不建议修改 external/sepolicy,而是修改 device/mediatek/common/sepolicy,在 plicy 目录下,make relabel 可更新或创建标识映射。 情景:定义一个 init 启动的 service --- demo_s转载 2023-07-15 16:45:00 · 1599 阅读 · 0 评论 -
看完这篇文章,彻底解决Mediaplayer重复播放视频黑屏的问题
protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.layout_video); surface = (SurfaceView) findViewBy...原创 2019-04-16 15:50:09 · 12722 阅读 · 3 评论 -
使用addr2line 定位 FORTIFY: vsprintf: prevented write past end of buffer‘ 报错解决思路
一、前言C/C++平时用的不多,写段代码就错误百出,最近写了一段文件读取的。运行的时候直接so挂掉了。网上百度了一下 FORTIFY: vsprintf: prevented write past end of buffer 报错一般是由于传入的参数的问题。这里像下面的这样的so崩溃的堆栈打印 怎么去定位分析呢。这里介绍一个实用的工具 addr2line--------- beginning of crash05-21 14:36:18.879 4405 4434 F libc : FORT原创 2022-05-21 15:49:45 · 1863 阅读 · 1 评论 -
Android 11.0 GMS版本将Google搜索框移到顶部修改方法
前言带有GMS包的软件会发现如下图所示的Google 搜索栏在底部的位置,但是怎么找 packages/app/Launcher3 中的代码都没有找到这个Google 搜索框的位置,其实它是GMS包中overlay 控制的一个wediget控件,他的代码位置是xxx你的 gms包目录/packages/apps/Google/google/apps/SearchLauncher【修改前界面】![在这里插入图片描述](https://img-blog.csdnimg.cn/381f236ab3b2446原创 2022-03-23 12:31:08 · 4157 阅读 · 0 评论 -
如何自定义Theme让应用适配多套UI风格
这里写自定义目录标题前言效果预览功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入前言这是一段无聊的碎碎念。昨晚练琴...原创 2018-10-27 15:58:25 · 817 阅读 · 0 评论 -
Android 按键屏蔽短按但不屏蔽长按的方法
记录一下屏蔽短按但不屏蔽长按的方法,代码如下 private boolean shortPress = false; @Override public boolean onKeyDown(int keyCode, @NonNull KeyEvent event) { Log.d(TAG,"onKeyDown"); if (keyCode =...原创 2019-02-19 09:57:36 · 1259 阅读 · 0 评论 -
Handler 内存泄漏的解决方法
使用工具检测handler的泄漏https://blog.csdn.net/javazejian/article/details/50839443https://blog.csdn.net/alex01550/article/details/82744191原创 2019-04-30 14:45:38 · 253 阅读 · 0 评论 -
Android 异步任务类之AsyncTask 完全解析
1、什么是AsyncTask1、是一种轻量级的异步任务类;2、是一个封装了线程池和Handler的异步框架;3、使用它可以更加方便的执行后台任务以及在主线程访问UI,但他不适合进行特别耗时的后台任务;今天我们来回顾复习下AsyncTask, 它是Android 一种轻量级的异步任务类,从实现来说,AsyncTask封装了线程池和Handler。它可以在线程池中执行后台任务,把执行的进度和结...原创 2019-05-14 11:47:34 · 781 阅读 · 0 评论 -
Android 异步任务之Handler解析
1、Handler消息源码流程分析(含手写笔记)2、Handler(面试详解)3、Android消息机制Handler的实现原理解析原创 2019-05-14 16:38:59 · 281 阅读 · 0 评论 -
Android异步任务之HandlerThread解析
Android 进阶15:HandlerThread 使用场景及源码解析原创 2019-05-14 17:43:17 · 268 阅读 · 0 评论 -
Android异步任务之线程池
Java并发编程:线程池的使用原创 2019-05-14 18:04:38 · 229 阅读 · 0 评论 -
彻底弄懂 Activity 的四种启动模式
前言工作了那么久只知道Activity有四种启动模式,但是对其原理还是没有弄明白,今天来总结一下这四种启动模式和适用的场景。一、什么是 taskAffinity ?我们在开发 Android 应用程序时,可以配置 Activity 的任务属性的,即告诉系统,这个 Activity 是要在新的任务中启动呢,还是在已有的任务中启动,亦或是其它的 Activity 能不能与这个 Activity ...原创 2019-05-24 18:13:06 · 553 阅读 · 0 评论 -
AlertDialog不能用ApplicationContext解决方式
AlertDialog不能用ApplicationContext最近在写代码的过程中发现在源码中弹一个alertdialog报错了,窗口没有依附的token,后来查了一个我的context传的是ApplicationContext。查找了一下源码中的关机的dialog弹出方式是通过调用shutdown方法传入的context。shutdown(final Context context, St...原创 2019-10-10 10:29:18 · 987 阅读 · 0 评论 -
Android常见的倒计时和延迟的几种方式
这里写自定义目录标题前言效果图Handler 实现倒计时Timer + handler 实现倒计时HandlerThread+runOnUiThread方式几种方式的优缺点设定内容居中、居左、居右SmartyPants导出与导入导出导入前言在日常的开发过程中经常会需要用到倒计时或者延时。前段时间的有一个延迟自动关闭dialog的需求,进度条需要等待一会才会到达100%,当时我直接···Th...原创 2018-10-31 19:29:02 · 1455 阅读 · 0 评论 -
Markdown 语法
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma...原创 2018-09-18 17:12:41 · 207 阅读 · 0 评论 -
HandleMessage更新UI
由于子线程不能进行UI更新的操作,因此安卓提供了一套异步消息处理机制,本文先写出Handler和message的用法,下文介绍AsyncTask. 总结一下HandleMessage的用法 1.首先定义一个常量值作为message的标志符 2.实例化一个handler对象,并重写handleMessage方法,在这里对 message进行处理 3.在触发事件中(比如点击事件)中创建一个线程原创 2016-08-16 16:13:09 · 928 阅读 · 0 评论 -
AsyncTask与HttpURLConnection下载网络图片
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_pare原创 2016-08-18 20:25:30 · 442 阅读 · 0 评论 -
android基础篇之Intent用法
Intent启动Activity的方式有显示启动(Explicit Intents),隐式启动(Implicit Intents)。显示启动:Intent intent=new Intent(MainActivity.this,OtherActivity.class);startActivity(intent);隐式启动: 首先在AndroidManifest.xml文件中OtherActivi原创 2017-01-02 16:36:13 · 500 阅读 · 0 评论 -
RecyclerView没有调用onCreateViewHolder()和onBindViewHolder()的可能原因
最近在做一个图片加载的项目。从网上拿到的json数据是ok的,但是就是没有显示出来图片,最后跟踪发现RecyclerViewAdapter的几个抽象方法没有执行,原来原因是getItemCount()的返回值为零,只有大于零时才会加载。原创 2017-01-20 16:29:58 · 16586 阅读 · 3 评论 -
启动一个不可见的Activity会闪一下的原因
最近在做一个静默安装的应用,在开发过程中发现安装的时候会闪一下,目测像是进入了静默安装的Acitivity的界面,但是明明我在静默安装的activity里没有加载布局。//setContentView(R.layout.activity_main); 最后发现是在将activity的主题改为Theme.NoDisplay 就可以了。<activity android:name="...原创 2018-05-15 17:24:36 · 1891 阅读 · 0 评论 -
Android 中随焦点动态改变Seekbar 的Progress 颜色和滑块的颜色
----前言 最近做的一个项目中有个需求是Recyclerview 的seekbar item 在获取到焦点后要改变seekbar 的进度条的颜色。这个小小的需求却耗费了一下午的时间,既然解决了就写篇博客记录下吧,查了很多很少有这种问题的正确解决办法,希望这篇博客能帮读者解决问题。 首先Seekbar是分三个层次一层层叠加的,分别是 backgrand、secondaryProg...原创 2018-07-24 14:23:39 · 3897 阅读 · 1 评论 -
使用接口回调的方法为Recycleview 的item 添加点击监听事件
Recycleview是一款很强大的控件,但是使用过的同学可能会发现它并没有自带的点击事件,如果想要给item添加点击事件要怎么做呢,其实可以用接口回调的方法去完成。一、首先定义一个接口的方法我们可以直接以内部类的形式在Adapter 中实现,也可以单独定义一个接口类public interface OnItemClickListener { void onItemCl...原创 2018-07-08 17:15:35 · 970 阅读 · 0 评论 -
Android 多机型分辨率适配总结
上周做的任务主要就是适配了,虽然网上有很多大神写的博客,但这里自己还是做一个总结,记性再好也有忘记的时候。 一般设计人员切的图是按照PX尺寸设计的,我们在适配机型的时候需要将其运用到不同分辨类型的设备中。我们常用到的dpi 有320,240,160等等,而且还有什么dp,px 这些。我们需要搞清楚一些基本的概念。...原创 2018-08-11 16:11:39 · 938 阅读 · 0 评论 -
Android 软键盘会导致界面移位的解决方法
我在做的一个项目中有个界面会弹出软键盘,但是软键盘弹出来时会把下面的button 挤上去,后来查了下可以用android:windowSoftInputMode=”adjustResize” 属性解决,这篇博客是介绍这个属性的。———————以下内容为转别人的,出处已不详————————–android:windowSoftInputModeactivity主窗口与软键盘的交互模式,可...原创 2018-08-15 15:19:10 · 2360 阅读 · 0 评论 -
Android Progressbar圆形进度条顺时针旋转
原文链接:https://blog.csdn.net/zhaozhiwen6140/article/details/51849835在网络请求拿取数据的过程中,如果出现网速太慢以及数据量太大的情况,一般加入一个要求用户先进行等待的界面,等到数据全部拿到再进行展示效果会好一些,展示如下。1.首先在drawable文件夹下新建一个animated-rotate标签的xml文件,如下:...转载 2018-09-03 10:47:54 · 2432 阅读 · 0 评论 -
Service、IntentService生命周期总结
版权声明:本文为转载文章,原文链接如下: https://blog.csdn.net/qq_30993595/article/details/78452064 Service内容基本会在这章总结到,总结顺序如下:Service概...转载 2018-09-12 17:07:16 · 2841 阅读 · 0 评论 -
android基础篇之菜单menu
创建菜单Menude 步骤:一、在res目录下新建一个menu文件夹,在此文件夹里新建一个menu的布局文件比如main.xml 二、在main.xml里添加tiem,一个item对应一个item项 三、在activity中重写onCreateOptionsMenu()方法和onOptionsItemSelected()public boolean onCreateOptionsMenu(Men原创 2017-01-02 14:36:37 · 445 阅读 · 0 评论