android tip
迅哥儿00001
努力,干巴爹
展开
-
AudioRecord一个设备只创建一个线程
不要太相信方法名,尤其是那种看起来很简单的方法名。在很多博客下面都已经讲过AudioRecord的创建流程,从android_media_AudioRecord.cpp--->AudioRecord--->AudidPolicyService--->AudioPolicyManager--->AudioFlinger其中过程就不细讲,其中最关键的方法就是getInputForAttr()前面的调用不提,最终会调用到AudioPolicyManager.cpp的getInp原创 2022-04-14 15:12:33 · 781 阅读 · 0 评论 -
Program type already present: com.x.x
最近调整项目架构的时候报了这个问题,原因是引用的包冲突了:A moudle引用了tts.jarB moudle引用了tts.jar,同时引用了A moudle解决方法:删除B moudle的tts.jar,然后把A引用tts的implementation改为api,然后把implementationA的地方也改成api,就可以实现没有编译错误,且没有引用重复...原创 2021-09-02 18:07:17 · 258 阅读 · 0 评论 -
记录一次大量数据导致页面ANR的解决(Greendao,RxJava)
记录一次大量数据导致页面ANR的解决问题开始解决办法问题开始最开始测试的时候只有几十条数据,无所谓。到了昨天测得时候导入了2000条,这两千条要下拉搜索,也可以输入搜索。界面差不多这样在主界面获取了这个下拉数据保存之后,再进入页面用Greendao取出去,甚至实时搜索。在滑动下拉的时候出现了数据不全,多输几次就卡死的情况。解决办法解决问题的时候,我在想,数据显示不全是什么原因。(找原...原创 2019-08-01 11:11:48 · 1018 阅读 · 0 评论 -
重构的经历
年初入职了一家公司,公司原本Android开发只有一个人,我去了算两个。刚开始,他给我介绍了一种目录结构,和后台用业务,模块分类类似,接触之后觉得太方便了,分享记录一下:包名模块包名MVP{View,Presenter}(接口类)ActivityPresenter重构原因这种愉悦的感觉并没有维持很久,当我和这位同事共同开发一个项目的时候,我进入项目的时候,他已经做了一段时间了(也许...原创 2019-06-17 15:02:15 · 149 阅读 · 0 评论 -
关于项目中的NFC使用的流程
关于项目中的NFC使用的流程第一次做NFC,主要是做一个记录。初始化的时候是这样:nfcUtils = new NfcUtils(this,getApplicationContext());------------------------------------------------------ /** * 构造函数,用于初始化nfc */ public N...原创 2019-03-09 14:15:32 · 1709 阅读 · 0 评论 -
Plugin is too old, please update to a more recent version, or set ANDROID_DAILY_OVERRIDE
今天下午打开Android studio,提示有更新,我表示觉得很不想更新(这习惯似乎不好,哈哈),然后我就点了Ignore……,到后面我新建Project之后是酱紫的:16:04:46 Gradle sync failed: Plugin is too old, please update to a more recent version, or set ANDROID_DAILY_OVER原创 2016-06-20 22:41:53 · 918 阅读 · 0 评论 -
手机号码,正则表达式的校验
移动:134、135、136、137、138、139、150、151、157(TD)、158、159、187、188,178 联通:130、131、132、152、155、156、185、186,176 电信:133、153、180、189、177(1349卫通)原创 2016-04-16 09:08:03 · 585 阅读 · 0 评论 -
关于Git的学习
去年其实就已经在偶尔用下Git,但也没怎么放心上,今年因为一些原因越来越觉得Git很必要,特意学习下。首先是安装,以及命令行的使用:小猪总结好得我自己已经不知道说什么,引用下 小猪总结的原创 2016-02-19 10:43:22 · 295 阅读 · 0 评论 -
关于xml类型的背景文件的编写
现在我只会用shape来写,把要写的效果放中间,然后选择标签慢慢加入solid:背景颜色:例如:stroke:边框颜色:例如:padding:设置边距:例如:corners:设置圆角:例如:,android:topLeftRadius=""gradient:设置渐变,当solid也在时,谁在后谁起作用,angle用来设置渐变的方向:例如:原创 2016-03-02 20:30:26 · 408 阅读 · 0 评论 -
关于8位颜色的一两点理解
8位颜色值,前两位是指透明度,后6位是指颜色值,比如 ff000000 表示完全不透明的颜色值ff的10进制的值是255,后面是黑色,则前面这个颜色是指完全不透明的黑色下面是一些例子:半透明的黑色:7f 00000030%透明的黑色:4d 000000半透明的白色:30%透明的白色:4d ffffff原创 2016-01-23 15:51:05 · 2155 阅读 · 0 评论 -
自定义控件
关于如何自定义一个控件,首先配置attr文件,在res-->value目录下 这是Java文件,继承自View类,paint一个控件,设置字,或者其他package com.example.myview;import android.content.Context;import android.content.r原创 2015-09-29 21:45:43 · 521 阅读 · 0 评论 -
android 设置主页面的方式
<activity android:name=".MainActivity" android:label="@string/app_name" ><!-- package="com.example.myview" 尽量写成全部的目录,免得因为路径的原因导致出错 -->原创 2015-09-30 20:23:15 · 3234 阅读 · 0 评论 -
设置没有标题的两种方式
1、java编码实现: requestWindowFeature(Window.FEATURE_NO_TITLE); getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);2、xml编码实现a转载 2015-09-28 10:18:06 · 385 阅读 · 0 评论