- 博客(37)
- 资源 (1)
- 问答 (7)
- 收藏
- 关注
原创 Android jitpack.io下载第三方库失败
还有一个容易出问题的点,当gradle升级到7.0之后的版本,如果你的项目里面build文件设置的仓库地址是http链接就会报错不安全,需要改成HTTPS链接。正常情况下这样改就OK了,但是我这个奇葩电脑就是不行,还是报错........又是搞了两天,在电脑的C:\Users\Administrator\.gradle文件夹里面发现了一个init.gradle文件,里面设置了一个阿里云的http链接,我看同事的电脑都没有这个文件,不知道这个文件是怎么来的.........
2023-05-16 10:22:07 1404 3
原创 Android 友盟推送SDK集成---一路艰辛
这是一份详细集成友盟推送SDK的心酸历程,也集成了华为、小米、OPPO、vivo厂商通道,处理了app进程关闭、app在后台、app前台通知点击的处理1 根据友盟自动集成文档,集成友盟SDK 友盟地址点击这里2 集成后查看友盟demo,进行预初始化那些,打印友盟token等3 使用友盟的推送工具测试集成是否OK以上这三步最简单,就不多说了。重点来了:1 友盟的自定义点击通知时的打开动作 UmengNotificationClickHandlerUmengNotific...
2022-03-26 21:16:24 3796
原创 Android app启动图适配
app启动后的白屏问题,默认都是在splash页面加主题配置,主题配置一个背景来达到用户点击app图标就立马启动app的假象,大多情况下,使用背景单一的图片作为启动图,我们在设置背景颜色,就能适配的很不错了(背景颜色+logo图片的模式)。但是当启动图不再单一,而且复杂的图形时候,适配就成大问题了,下面介绍我的方法:1 设置splash主题<style name="MySplashTheme" parent="@android:style/Theme.Holo.NoActionBar">
2022-01-03 10:42:28 2584
原创 Android 事件分发机制
从左上角开始,整个事件分发为U型走势,根据图片理解不同的返回值(true,false,super)对事件的消费情况
2022-01-03 10:27:54 1075
原创 RecycleView 代码设置滑动
常用的代码设置滑动是用scrollToPosition()smoothScrollToPosition()这两个方法设置的recycleview会员滑动的效果,如果数据过多的话需要等待的时间过长,发现了一个新方法,没有动效但是滑动很快((LinearLayoutManager)videoList.getLayoutManager()).scrollToPositionWithOffset(index,0)0那里的偏移值不用管...
2021-09-07 17:06:17 724
原创 MiFlash 刷机有感
年纪大了一直不想折腾了,这两天刚好有一台老爸换下的红米note7,就手贱的想刷下,上一次刷机还是18年吧,那时候用的还是一加3T ,刷机这块,真的一加可以说在做的各位都是垃圾,现在我用的mate40P,是刷不了了的。先说说刷机,我也是一知半解的。就跟电脑换操作系统一样的,分卡刷和线刷。卡刷就是先刷一个第三方的RC,第三方的RC功能比较强大,这样后面你才能用内存卡刷机,线刷就是用数据线连接电脑刷机。刷机之前先解锁BL,刷机之前先解锁BL,刷机之前先解锁BL。我这次是用卡刷的,先解锁BL,官网申请一
2021-05-13 15:18:43 4859 1
原创 Android app 防止用户短时间内多次点击
日常开发中,app必须处理好用户连续点击的问题,因为短时间内的多次重复点击,不管是网络请求或者提交数据,都会重复,网络请求中虽然也可以设置过滤重复的提交,但当你点击一个按钮打开一个Activity,你就会打开多个了,设置Activity的启动模式是没有用处的。如果你还记得android的事件分发机制,你就发现出来很简单了。1 android事件分发 借用网络上的一张图,可以发现事件分发是有个U型走势,无论什么事件,都是从Activity的dispatchTouchEvent()分发的,需要注意事件分发的
2021-03-27 09:49:42 2971 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 532
原创 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 2541 3
原创 Android 静默安装
写在前面的一段话:如果你的项目是在各大厂的手机上面使用,那么我劝你放弃.这个静默安装使用于定制的系统上面,当然 你非要在手机上面用,那么就只有无障碍服务这一种方法了,root的手机.........不现实.经过一段时间的查找资料,静默安装(自动安装)有三种办法: 1 已经root的手机,拿到root权限(年纪大了,不想折腾了 手机也没有刷过了,所以这个方法我没有试过) ...
2019-11-22 09:53:33 317
原创 Fiddle抓包手机
首先 手机必须和电脑处在同一网络fiddle设置第二步:获取电脑IP地址,用手机浏览器打开 http://电脑IP地址:8888/ ,然后下载fiddle证书并且安装第三步,设置手机端网络的代理为手动,主机名为电脑IP地址,端口为fiddle设置的端口(一般是8888)大功告成...
2019-08-03 20:06:47 319
原创 Program type already present: com.google.protobuf.micro.a
今天集成融云的时候出现了这个错误,网上一搜 都明白是依赖重复了,需要删掉一个APP的或者是moudle里面的,但是死活就是找不到重复的依赖(你气不气啊) 也用了gradlew dependencies app:dependencies 的命令去查看依赖 但还是没有具体的报错信息, 其实答案一直就在身边,出现这个错误的时候 Run build 里面有一个链接给你(告诉你去Google查看原因) 链...
2019-07-16 16:21:54 1186 2
原创 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 2751
原创 RecyclerView 根据item宽自适应网格布局
在Github里面找了下,有hongyang大佬的flowLayout,但是好久没有维护了,Android8.0貌似也使用有问题,后面就找到了Google官方的FlexboxLayoutManager,地址是:https://github.com/google/flexbox-layout,使用也非常的简单 FlexboxLayoutManager layoutManager = new...
2019-06-27 13:31:20 2945
原创 Android 判断栈中Activity是否存在
网上各种办法,最后经过测试,在栈中你能获取到的只有baseActivity和topActivity,如果你需要判断的Activity在栈别的位置,那么根本判断不了,因为返回的只有栈中Activity的个数,并没有Activity的名字。 private boolean isExistMainActivity(Class<?> activity) { Intent ...
2019-06-22 15:58:47 9982
原创 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 1051
原创 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 1288
原创 监听手机蓝牙开关
private BroadcastReceiver mStatusReceive = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { int blueState = intent.getInt...
2018-07-13 10:57:31 1328
原创 我的RxJava 学习之旅 五
onErrorReturn : 处理Observable中的onError事件(自己消化掉)并返回一个自己设定的数据public static void test24(){ Observable.create(new Observable.OnSubscribe<Integer>() { @Override public ...
2018-03-16 16:12:48 170
原创 我的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 196
原创 我的RxJava之旅 三
Observable.defer: 创建一个返回Observable的Observable方法public static void test7(){ // observable这个对象是没有什么作用的 每订阅一次其内部就会创建一个observable Observable<Integer> observable = Observable.defer(ne...
2018-03-14 10:42:07 275
原创 我的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 157
原创 我的RxJava学习之旅 一
我学习的RxJava是从1.0版本开始的,目前流行的都是2.0,但网上好多的文章都是写2.0版本,对于我这个从未接触的人来说好多地方是看不懂的(某些操作符根本不知道意思),所以只要从最基本的一步一步来,哎 人笨就是这样的---RxJava的原理我就不献丑了--下面开始正文 我只讲操作符Observable<String> observable = Observable.create(n...
2018-03-12 14:37:53 170
原创 本地代码关联到远程仓库
本地的代码默认是没有.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 1566
原创 Java+Opencv 颜色识别
Java+Opencv 颜色识别最近在做的项目中涉及到了图像识别,使用的第三方检测是Opencv,鉴于网上用Java来做的资料非常少,所以我就写了这篇博客,希望对以后的同学有点帮助! 注意:颜色提取对图片要求较高,如果你的图片比较模糊的(几百kb,有2M就没问题了),请不要浪费时间了,这里写的是关于颜色的提取——- 原图: 这里讲述红色的提取: 1,获取图片对象Mat
2017-04-10 15:12:38 13317 2
原创 RecyclerView的使用
之前做一个应用商店类的项目,第一次使用RecyclerView,下面说说怎么使用,这里只说adapter使用1,首先是Adapter 的继承,不再像Listview继承BaseAdapter,而是继承 RecycleView.Adapter public class RecommendAdapter extends RecyclerView.Adapter implements Obser
2017-03-16 11:09:22 396
原创 Android 状态栏隐藏问题
转载请注明地址: http://write.blog.csdn.net/postedit?ref=toolbar&ticket=ST-115185-XsUMM5H1LCzIubq12aQ6-passport.csdn.net 谢谢! 对于动态显示和隐藏状态栏,写Demo中可能很容易就实现了,但是在项目中就不一定了,因为牵扯的方面可能太多了,下面说说我踩的那些坑:1,
2016-12-26 09:04:28 853
原创 Android studio 快捷键大全
功能描述keymap对应名字MacWin/Linux提示错误解决方案Show Intention Actionsoption + enteralt + enterAS配置界面Preferencescommand + ,control+alt+S工程项目配置界面Project Structurecommand +
2016-12-21 10:08:08 463
转载 RXjava 学习基础篇
原文地址点击打开链接目录目录前言RxJava 概念初步作用 - 异步模式 - 观察者模式结构 - 响应式编程优势 - 逻辑简洁RxJava 依赖RxJava 入门事件产生事件消费事件订阅区分回调动作入门示例RxJava 进阶Scheduler线程控制变换map操作符flatMap操作符RxJava 其他
2016-12-15 16:44:17 576
转载 Cordova 开发基础
转载地址:点击打开链接Cordova是什么? 初学Cordova的人,虽然了解一点点,知道Cordova是用来将html, css, js变成app的,但并不知道到底是怎么用的,原理是什么。经常会有这样的困惑: 它是一个可以把H5代码变成iOS、安卓等原生代码的东西? 它是一个封装了H5浏览器的壳?可以装在iOS、安卓等平台的app,一打开这个APP就会访问我web ap
2016-12-14 17:50:38 519
原创 Git的使用
一般来说,当你成功安装Git后,AndroidStudio是会和Git关联起来的(具体设置百度,非常简单),使用起来非常方便.如下图: 这里可以看到不管是提交代码还是刷新都非常方便,基本不用使用git命令! 但是有的时候当我们右键项目名的时候却发现根本没有Git的时候,而且项目文件结果也和一般的Android项目不一样了(比如我现在在搞的一个Cordova项目),那我们就得使
2016-12-14 14:28:23 286
转载 Android(Java)加载SO文件
原文地址点击打开链接一、前言Android中有时候为了效率以及平台开发库的支持,难免会用到NDK开发,那么都会产生一个so文件,通过native方法进行调用,开发和调用步骤很简单,这里就不多说了,本文主要来介绍,我们在使用so的时候总是会出现一些常见的问题,而现在插件化开发也很普遍了,有时候插件中也会包含一些so文件,需要加载,这时候也会出现一些问题。本文就来详细总
2016-12-08 19:18:14 7011
原创 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 2652
原创 自定义View随手指滑动
本文为博主原创--欢迎转载--但是请注明出处(珍惜他人劳动成果)!本文实现的效果为图片(或者别的控件)跟随手指的滑动,不会超过屏幕边界,下面直接上代码,为什么代码报红我也不清楚哈,第一次写博客.布局--xml version="1.0" encoding="utf-8"?><com.dingying.servicetest.MyView xmlns:android="ht
2016-10-02 15:17:38 319
转载 FragmentPagerAdapter刷新
在一个 Android 应用中,我使用 FragmentPagerAdapter 来 处理多 Fragment 页面的横向滑动。不过我碰到了一个问题,即当 Fragment 对应的数据集发生改变时,我希望能够通过调用 mAdapter.notifyDataSetChanged() 来触发 Fragment 页面使用新的数据调整或重新生成其内容,可是当我调用 notifyDataSetChanged
2016-08-19 19:40:34 429
转载 Android Handler的优化使用
看到一遍写的不错的文字,引用一下!Handler:普通用法:Handler用于处理和从队列MessageQueue中得到Message。一般我们要重写Handler的handleMessage(Message msg){}方法来处理,如下代码:public class MainActivity extends Activity { private Tex
2016-08-17 00:48:20 399
国内获取基站定位(经纬度坐标)
2018-07-24
百度地图SDKInitializer.initialize(this)报错
2017-12-06
Android VNC 控制电脑不能连接
2017-10-18
Android 微信界面切换
2016-12-15
XWalkView视屏不能全屏
2016-11-01
下拉框的使用细节 popup
2016-07-21
TA创建的收藏夹 TA关注的收藏夹
TA关注的人