Android
plx_csdn
这个作者很懒,什么都没留下…
展开
-
Android app启动图适配
app启动后的白屏问题,默认都是在splash页面加主题配置,主题配置一个背景来达到用户点击app图标就立马启动app的假象,大多情况下,使用背景单一的图片作为启动图,我们在设置背景颜色,就能适配的很不错了(背景颜色+logo图片的模式)。但是当启动图不再单一,而且复杂的图形时候,适配就成大问题了,下面介绍我的方法:1 设置splash主题<style name="MySplashTheme" parent="@android:style/Theme.Holo.NoActionBar">原创 2022-01-03 10:42:28 · 2517 阅读 · 0 评论 -
RecycleView 代码设置滑动
常用的代码设置滑动是用scrollToPosition()smoothScrollToPosition()这两个方法设置的recycleview会员滑动的效果,如果数据过多的话需要等待的时间过长,发现了一个新方法,没有动效但是滑动很快((LinearLayoutManager)videoList.getLayoutManager()).scrollToPositionWithOffset(index,0)0那里的偏移值不用管...原创 2021-09-07 17:06:17 · 712 阅读 · 0 评论 -
Android app 防止用户短时间内多次点击
日常开发中,app必须处理好用户连续点击的问题,因为短时间内的多次重复点击,不管是网络请求或者提交数据,都会重复,网络请求中虽然也可以设置过滤重复的提交,但当你点击一个按钮打开一个Activity,你就会打开多个了,设置Activity的启动模式是没有用处的。如果你还记得android的事件分发机制,你就发现出来很简单了。1 android事件分发 借用网络上的一张图,可以发现事件分发是有个U型走势,无论什么事件,都是从Activity的dispatchTouchEvent()分发的,需要注意事件分发的原创 2021-03-27 09:49:42 · 2909 阅读 · 5 评论 -
RecyclerView 局部更新
如果列表中的某个item数据发生微小变化而需要更新UI状态,直接notifyDataSetChanged()的方式会影响性能,今天看到Android官方的列表局部更新方式,分享给大家: void onNewDataArrived(List<News> news) { List<News> oldNews = myAdapter.getItems(); DiffResult result = DiffUtil.calculateDiff(ne原创 2020-07-02 11:55:37 · 498 阅读 · 0 评论 -
Android 录音(录音时为pcm,然后转为MP3)
项目中用的评论回复功能,录制语言时为pcm格式,然后转换为MP3格式:package zhiji.dajing.com.util;import android.media.AudioFormat;import android.media.AudioRecord;import android.media.MediaRecorder;import android.os.Environment;import android.os.Handler;import android.util.Log;原创 2020-06-09 13:53:06 · 2401 阅读 · 3 评论 -
Android 静默安装
写在前面的一段话:如果你的项目是在各大厂的手机上面使用,那么我劝你放弃.这个静默安装使用于定制的系统上面,当然 你非要在手机上面用,那么就只有无障碍服务这一种方法了,root的手机.........不现实.经过一段时间的查找资料,静默安装(自动安装)有三种办法: 1 已经root的手机,拿到root权限(年纪大了,不想折腾了 手机也没有刷过了,所以这个方法我没有试过) ...原创 2019-11-22 09:53:33 · 265 阅读 · 0 评论 -
Android8.0通知权限适配
关于这个版本8.0以上获取通知栏状态 大部分手机都ok的 主要是国产的OPPO vivo 怎么拿都是true 下面的方法是找了好久的综合解决版本 终于成功搞掉了vivo和OPPOpublic static boolean isNotificationEnabled(Context context) { if (Build.VERSION.SDK_INT >= Buil...原创 2019-03-11 15:55:14 · 1263 阅读 · 0 评论 -
Android Dialog设置透明度
@Override public void show() { super.show(); WindowManager m = ((Activity) mContext).getWindowManager(); Display d = m.getDefaultDisplay(); WindowManager.LayoutPar...原创 2019-03-28 13:56:58 · 1027 阅读 · 0 评论 -
Android 判断栈中Activity是否存在
网上各种办法,最后经过测试,在栈中你能获取到的只有baseActivity和topActivity,如果你需要判断的Activity在栈别的位置,那么根本判断不了,因为返回的只有栈中Activity的个数,并没有Activity的名字。 private boolean isExistMainActivity(Class<?> activity) { Intent ...原创 2019-06-22 15:58:47 · 9944 阅读 · 0 评论 -
RecyclerView 根据item宽自适应网格布局
在Github里面找了下,有hongyang大佬的flowLayout,但是好久没有维护了,Android8.0貌似也使用有问题,后面就找到了Google官方的FlexboxLayoutManager,地址是:https://github.com/google/flexbox-layout,使用也非常的简单 FlexboxLayoutManager layoutManager = new...原创 2019-06-27 13:31:20 · 2936 阅读 · 0 评论 -
Compilation error. See log for more details
如果xml文件配置错误,build和clean等是找不到错误具体位置的,使用命令:gradlew clean build 可以找到xml文件错误的位置对于第三方SDK冲突的问题:application标签下面配置:tools:replace="android:allowBackup"android:allowBackup="false"...原创 2019-06-29 14:08:06 · 2688 阅读 · 0 评论 -
Program type already present: com.google.protobuf.micro.a
今天集成融云的时候出现了这个错误,网上一搜 都明白是依赖重复了,需要删掉一个APP的或者是moudle里面的,但是死活就是找不到重复的依赖(你气不气啊) 也用了gradlew dependencies app:dependencies 的命令去查看依赖 但还是没有具体的报错信息, 其实答案一直就在身边,出现这个错误的时候 Run build 里面有一个链接给你(告诉你去Google查看原因) 链...原创 2019-07-16 16:21:54 · 1159 阅读 · 2 评论 -
Fiddle抓包手机
首先 手机必须和电脑处在同一网络fiddle设置第二步:获取电脑IP地址,用手机浏览器打开 http://电脑IP地址:8888/ ,然后下载fiddle证书并且安装第三步,设置手机端网络的代理为手动,主机名为电脑IP地址,端口为fiddle设置的端口(一般是8888)大功告成...原创 2019-08-03 20:06:47 · 316 阅读 · 0 评论 -
监听手机蓝牙开关
private BroadcastReceiver mStatusReceive = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { int blueState = intent.getInt...原创 2018-07-13 10:57:31 · 1301 阅读 · 0 评论 -
我的RxJava学习之旅 四
distinct 去除重复数据public static void test13() { // 过滤重复的数据 List<Student> list = new ArrayList<>(); list.add(new Student("张三",18)); list.add(new Student("李四",18...原创 2018-03-14 11:26:53 · 171 阅读 · 0 评论 -
Git的使用
一般来说,当你成功安装Git后,AndroidStudio是会和Git关联起来的(具体设置百度,非常简单),使用起来非常方便.如下图: 这里可以看到不管是提交代码还是刷新都非常方便,基本不用使用git命令! 但是有的时候当我们右键项目名的时候却发现根本没有Git的时候,而且项目文件结果也和一般的Android项目不一样了(比如我现在在搞的一个Cordova项目),那我们就得使原创 2016-12-14 14:28:23 · 279 阅读 · 0 评论 -
Android(Java)加载SO文件
原文地址点击打开链接一、前言Android中有时候为了效率以及平台开发库的支持,难免会用到NDK开发,那么都会产生一个so文件,通过native方法进行调用,开发和调用步骤很简单,这里就不多说了,本文主要来介绍,我们在使用so的时候总是会出现一些常见的问题,而现在插件化开发也很普遍了,有时候插件中也会包含一些so文件,需要加载,这时候也会出现一些问题。本文就来详细总转载 2016-12-08 19:18:14 · 6930 阅读 · 0 评论 -
RXjava 学习基础篇
原文地址点击打开链接目录目录前言RxJava 概念初步作用 - 异步模式 - 观察者模式结构 - 响应式编程优势 - 逻辑简洁RxJava 依赖RxJava 入门事件产生事件消费事件订阅区分回调动作入门示例RxJava 进阶Scheduler线程控制变换map操作符flatMap操作符RxJava 其他转载 2016-12-15 16:44:17 · 569 阅读 · 0 评论 -
Android 状态栏隐藏问题
转载请注明地址: http://write.blog.csdn.net/postedit?ref=toolbar&ticket=ST-115185-XsUMM5H1LCzIubq12aQ6-passport.csdn.net 谢谢! 对于动态显示和隐藏状态栏,写Demo中可能很容易就实现了,但是在项目中就不一定了,因为牵扯的方面可能太多了,下面说说我踩的那些坑:1,原创 2016-12-26 09:04:28 · 825 阅读 · 0 评论 -
Android studio 快捷键大全
功能描述keymap对应名字MacWin/Linux提示错误解决方案Show Intention Actionsoption + enteralt + enterAS配置界面Preferencescommand + ,control+alt+S工程项目配置界面Project Structurecommand +原创 2016-12-21 10:08:08 · 439 阅读 · 0 评论 -
Java+Opencv 颜色识别
Java+Opencv 颜色识别最近在做的项目中涉及到了图像识别,使用的第三方检测是Opencv,鉴于网上用Java来做的资料非常少,所以我就写了这篇博客,希望对以后的同学有点帮助! 注意:颜色提取对图片要求较高,如果你的图片比较模糊的(几百kb,有2M就没问题了),请不要浪费时间了,这里写的是关于颜色的提取——- 原图: 这里讲述红色的提取: 1,获取图片对象Mat原创 2017-04-10 15:12:38 · 13279 阅读 · 2 评论 -
RecyclerView的使用
之前做一个应用商店类的项目,第一次使用RecyclerView,下面说说怎么使用,这里只说adapter使用1,首先是Adapter 的继承,不再像Listview继承BaseAdapter,而是继承 RecycleView.Adapter public class RecommendAdapter extends RecyclerView.Adapter implements Obser原创 2017-03-16 11:09:22 · 384 阅读 · 0 评论 -
本地代码关联到远程仓库
本地的代码默认是没有.git这个文件的,也就是本地的仓库: 1 命令 git init 在你项目的位置创建.git文件2 命令 git remote add origin 3 命令 git add * 添加所有文件4 命令 git commit --m "首次提交"5 命令 git push -u origin master 这样本地的代码就提交到远程仓库了原创 2017-12-12 11:58:38 · 1553 阅读 · 0 评论 -
我的RxJava 学习之旅 五
onErrorReturn : 处理Observable中的onError事件(自己消化掉)并返回一个自己设定的数据public static void test24(){ Observable.create(new Observable.OnSubscribe<Integer>() { @Override public ...原创 2018-03-16 16:12:48 · 145 阅读 · 0 评论 -
我的RxJava学习之旅 一
我学习的RxJava是从1.0版本开始的,目前流行的都是2.0,但网上好多的文章都是写2.0版本,对于我这个从未接触的人来说好多地方是看不懂的(某些操作符根本不知道意思),所以只要从最基本的一步一步来,哎 人笨就是这样的---RxJava的原理我就不献丑了--下面开始正文 我只讲操作符Observable<String> observable = Observable.create(n...原创 2018-03-12 14:37:53 · 162 阅读 · 0 评论 -
我的RxJava学习之旅 二
AsyncSubject 它可以是被观察者 也可以是观察者 (ps: 雌雄同体)public static void test4(){// public abstract class Subject<T, R> extends Observable<R> implements Observer<T> 源码 AsyncSubje...原创 2018-03-12 16:27:03 · 151 阅读 · 0 评论 -
我的RxJava之旅 三
Observable.defer: 创建一个返回Observable的Observable方法public static void test7(){ // observable这个对象是没有什么作用的 每订阅一次其内部就会创建一个observable Observable<Integer> observable = Observable.defer(ne...原创 2018-03-14 10:42:07 · 248 阅读 · 0 评论 -
RecyclerView 使用时空指针异常
本位为博主原创--转载请注明出处!!!http://write.blog.csdn.net/postedit?ref=toolbar&ticket=ST-261061-dK9CqGBfrGLK6LNjcKrF-passport.csdn.net今天使用RecyclerView 的时候(在Fragmnet里面),应用启动就挂掉,Log打印是空指针异常然后死活找不到原因原创 2016-11-08 16:02:08 · 2642 阅读 · 0 评论