![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android
Android凯
目前在做应用开发,沉淀一下准备转项目管理
展开
-
Retrofit+RxJava网络请求失败,报HTTP 400 Bad Request,没有返回errorBody的信息
Retrofit+RxJava网络请求失败,报HTTP 400 Bad Request,没有返回errorBody的信息原创 2022-09-21 17:02:19 · 2503 阅读 · 1 评论 -
自定义多个圆点LoadingProgress
先上效果图,支持代码设置颜色,支持停止和重复旋转。下面直接上代码:import android.content.Context;import android.content.res.TypedArray;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.util.AttributeSet;import android.原创 2021-09-24 09:47:41 · 402 阅读 · 0 评论 -
The Huawei Lite Simulator supports only Lite projects.
最近在研究鸿蒙开发,点运行一直报The Huawei Lite Simulator supports only Lite projects.,原来是模拟器没有打开,把模拟器打开了就行原创 2021-05-07 09:50:00 · 2840 阅读 · 3 评论 -
今天用IJKPlayer播放视频,频繁切换视频,发现一直报what=-10000,extra=0
今天用IJKPlayer播放视频,频繁切换视频,发现一直报what=-10000,extra=0。以为是播放器没有释放资源的问题,然后就对播放器进行各种优化,最后发现是视频被删除了的原因导致。视频压根不存在,粗心了。...原创 2021-03-05 11:02:39 · 2047 阅读 · 1 评论 -
Android不想要第三方的library的权限的时候
第三方的library包含了我们不想要的权限的时候,我们可以再自己的manifest中进行如下设置<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" tools:node="remove" />原创 2020-08-14 12:30:47 · 787 阅读 · 0 评论 -
ViewPager显示左右两边item的一部分,ViewPager显示左右两边的View
上图就是效果图,设置起来其实很简单,现在xml文件中进行如下设置: <androidx.viewpager.widget.ViewPager android:layout_width="match_parent" android:id="@+id/vp_Ad_Container" android:clipToPadding="false" android:paddi...原创 2020-05-28 11:47:54 · 4098 阅读 · 0 评论 -
google计费接入,Billing结算库支付
谷歌计费接入文档地址:https://developer.android.com/google/play/billing/billing_overview。因为公司的海外游戏策略变更,需要接入google支付,让土豪用户直接付钱,没钱的就看广告嘛。我们没有采用google钱包,只是用Google的结算库版本,因为我们公司没有申请为google的商户。1.添加google billing库的...原创 2019-12-31 18:28:51 · 7614 阅读 · 2 评论 -
广点通-优量汇广告接入文档
总是忘记广点通广告的接入连接:在这里标记一下:https://developers.adnet.qq.com/doc/android/access_doc,大家有广告接入的问题可以一起交流。原创 2019-12-30 11:56:23 · 34767 阅读 · 9 评论 -
Proxy 代理模式学习
Java android 代理模式学习,这篇文章讲的挺详细的:https://blog.csdn.net/briblue/article/details/73928350原创 2018-12-27 15:25:31 · 203 阅读 · 0 评论 -
Google Admob错误码对照表
时间一长,总会忘记google AdMob错误码代表啥意思。这里写下来mark一下,希望对有需要的同行也有点帮助。0 ERROR_CODE_INTERNAL_ERROR 内部错误 1 ERROR_CODE_INVALID_REQUEST 无效的请求 2 ERROR_CODE_NETWORK_ERROR 网络错误 3 ERROR_CODE...原创 2019-04-01 15:53:48 · 6468 阅读 · 0 评论 -
App保活,无声音乐保活
最近在做一个运动手环项目,需要不断的更新运动数据,并且在灭屏的状态下给用户推送来电和短信。大部分手机在App灭屏的状态下就会把App睡眠了,这样是推送不了短信的,用户不满意啊。后来发现播放音乐之类的灭屏也能播啊,那就假装咱也是音乐播放方应用吧。1.Service的内容:import android.app.ActivityManager;import android.app.Notif...原创 2019-05-14 13:53:03 · 1395 阅读 · 0 评论 -
Android——Bluetooth 蓝牙4.0开发
蓝牙 4.0蓝牙4.0集成了传统蓝牙和低功耗蓝牙两个标准,所以蓝牙4.0有双模和单模之分。双模即传统蓝牙部分+低功耗蓝牙部分,单模即是单纯的低功耗蓝牙部分(BLE)。蓝牙操作流程蓝牙开发之前需要在 AndroidManifest.xml 中申请蓝牙相关权限 <!-- 蓝牙相关权限 --> <uses-permission android:name="an...原创 2019-05-13 11:06:00 · 1458 阅读 · 0 评论 -
蓝牙开发:Android 8.1及以上系统后台模式无法开启扫描问题
在Android 8.1 及以上系统中,正常状况下扫描蓝牙没有问题,但是当App处于后台时,无法开启扫描方法并有如下提示BtGatt.ScanManager: Cannot start unfiltered scan in screen-off. This scan will be resumed later: 9这是因为你开启的扫描扫描方法是没有设置扫描过滤器的问题,在A...原创 2019-05-13 11:10:35 · 3424 阅读 · 4 评论 -
在子View未知Parent的情况下解决You must call removeView() on the child's parent first的问题
交代一下发生这事的背景:接入Ironsource的广告,反复打开banner广告的情况下,报了如下错误:java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first. at android...原创 2019-07-02 11:31:21 · 933 阅读 · 0 评论 -
Android9.0蓝牙扫描失败,ScanCallback.onScanFailed(int errorCode),errorCode=2
最近蓝牙手环在Android9.0的手机上回连总是连接不上,老在扫描的地方onScanFailed里回调errorCode=2,errorCode共有下面4种情况:errorCode=1;Fails to start scan as BLE scan with the same settings is already started by the app.errorCode=2...原创 2019-07-08 13:58:14 · 6835 阅读 · 1 评论 -
隐藏底部导航栏的虚拟按键,并响应点击事件。解决:点击的时候会唤起底部导航栏第二次点击才会响应点击事件
最近在搞Android视频广告,需要全屏播放并隐藏虚拟按键,所以去查了一下资料,最后总结如下:private void hiddenNavigationBar() { final Window window = activity.getWindow(); window.setFlags(WindowManager.LayoutParams.FLAG_FULLS...原创 2019-08-15 14:46:28 · 1260 阅读 · 0 评论 -
全源码教你一键锁屏
全源码教你一键锁屏。原创 2017-07-19 14:09:05 · 2173 阅读 · 0 评论 -
笔记:dialog渲染WebView不能显示
Dialog 用来渲染WebView做视频广告,遇到了一个很奇怪的问题,WebView的js生效,但是WebView没有显示。如果先调用show()再加载webView的话就可以显示,但是广告做的是预加载,因此不能先show(),要把广告的内容加载完成再show.()。 最后我是这样解决问题的,先调用一次show(),再调用一次hide(),然后再加载内容,内容加...原创 2018-12-04 19:08:01 · 2731 阅读 · 0 评论 -
response2.body().string()只能被调用一次,调用一次之后就就会被释放
response2.body().string()只能被调用一次,调用一次之后就就会被释放,再次调用会爆:java.lang.IllegalStateException: closed因为:调用一次之后它的内存就被释放了...原创 2018-09-28 14:58:17 · 636 阅读 · 1 评论 -
安装 Genymotion2.8.1版本
最近使用Android Studio 3.0.1 安装 Genymotion ,浪费了很多时间才安装好,因此记录下来,希望大家少走一些弯路.下载文件1.首先下载文件 链接:https://pan.baidu.com/s/1KVYlzX6IrMaBABXbyMtl6A,提取码:1d2g2.一共有五个文件:3.首先安装 VirtualBox 5.1.14.exe (如果你已安装了其他...原创 2019-12-30 13:39:18 · 31203 阅读 · 24 评论 -
Error:Execution failed for task ':app:mergeDebugResources'
如题,很久没做带UI的应用了,都快忘记了怎么处理UI相关的问题了。这里做个笔记,省的出错的时候还得到处查资料。当我们更改了图片等资源文件或者资源文件存在错误的时候,就会报:Error:Execution failed for task ':app:mergeDebugResources'.> Error: java.util.concurrent.ExecutionException: c原创 2018-02-07 11:25:44 · 382 阅读 · 0 评论 -
Error:android-apt plugin is incompatible with the Android Gradle plugin. Please use 'annotationProc
无原创 2017-10-27 18:20:35 · 29792 阅读 · 12 评论 -
插件化DroidPlugin的使用以及简单问题的处理
插件化DroidPlugin的Demo原创 2017-07-20 18:15:30 · 3546 阅读 · 8 评论 -
Android 文件存储路径的问题
假如用户没有内置sdk怎么办,假如我想存在apk的私有目录该怎么办,假如我不想在apk私有目录中存储文件,假如我要存储长期的文件该怎么办,假如我仅仅是想要进行缓存的存储,我该存在哪儿,用什么方法去获得存储文件的路径?原创 2017-07-19 14:35:35 · 623 阅读 · 0 评论 -
Android Studio升级到2.3.3的遇到各种奇葩问题的万金油解决办法
今天,又有哥们向我问Android Studio2.3.3升级的问题,他说他的Android Studio升级到2.3.3后,代码不能跑了,这是何等的卧槽!今天我只说一个简单粗暴而又有效果的办法,那就是删库跑路,说错了,删除个人配置信息,然后更新所有插件。原创 2017-06-23 10:39:14 · 1257 阅读 · 0 评论 -
静默安装和卸载第三方apk
静默安装卸载第三方app,一般应用不需要这个方式,直接通过Intent来安装卸载就可以了原创 2017-06-15 11:50:27 · 840 阅读 · 0 评论 -
很全的Android Studio代码混淆参考
无转载 2017-06-23 16:21:44 · 485 阅读 · 0 评论 -
AsyncTask的onPostExecute执行在doInBackground之前
@Override protected ResponseData doInBackground(String... params) { flag=true; return result; } @Override protected void onPostExecute(String result) { supe原创 2021-08-04 15:06:33 · 358 阅读 · 0 评论 -
Android间隔1秒刷新UI指定控件的方法
有时候,我们需要定时刷新UI界面的某个控件,比如轮循播放某个消息或者通知等等。这里简短总结一下: 首先,将公共的东西放在BaseActivity里面,其代码public abstract class BaseActivity extends Activity { public ViewPager viewPager; public ProgressBar progressBar; ...原创 2018-02-08 11:45:31 · 9830 阅读 · 2 评论 -
adb打印MTKLog日志
一、 Logcat 命令1. adb logcat>main.txt 重定向log2. adb logcat -b main -v time>app.log 打印应用程序的log3. adb logcat -bradio -v time> radio.log 打印射频相关的log,SIM STK 也会在里面,modem相关的ATcommand等。4. adb logcat -be...转载 2018-04-04 16:05:04 · 1381 阅读 · 0 评论 -
Android将jar包打包成dex文件
进入sdk/build-tools/27.0.3目录,将jar包dex.jar拷贝到该目录下,在空白处按住shift键并点击右键,选择“在此处打开命令行”输入命令以下命令:dx --dex --output jar.dex dex.jar jar.dex是输出文件名,dex.jar是需要转换的jar包的名字。...原创 2018-06-06 18:32:14 · 7773 阅读 · 1 评论 -
studio用gradle打包生成jar包
在module的build.gradle文件的末尾添加如下代码(下面按需修改)://删除isshowtoast.jar包任务task clearJar(type: Delete) { delete 'libs/dex.jar'}task makeJar(type:org.gradle.api.tasks.bundling.Jar){ //指定生成的jar名 baseN...原创 2018-06-06 16:51:40 · 2165 阅读 · 0 评论 -
Android插件化开发,动态加载基础之ClassLoader工作机制
类加载器ClassLoader早期使用过Eclipse等Java编写的软件的同学可能比较熟悉,Eclipse可以加载许多第三方的插件(或者叫扩展),这就是动态加载。这些插件大多是一些Jar包,而使用插件其实就是动态加载Jar包里的Class进行工作。这其实非常好理解,Java代码都是写在Class里面的,程序运行在虚拟机上时,虚拟机需要把需要的Class加载进来才能创建实例对象并工作,而完成这一个...转载 2018-06-06 16:38:05 · 228 阅读 · 0 评论 -
在未知包名的情况下用ADB命令导出手机上对应的apk
一、背景很多时候,APK文件只存在于应用市场,在PC上无法直接下载。用手机下载下来后就直接安装了,也不能保存原始的APK文件。APK安装到手机后,Android系统会保存一份和原始APK一模一样的拷贝,位于data/app目录,文件名为“APK的包名-1.apk”或者“APK的包名-2.apk”。这里的包名即 package name,形如 com.xxx.xxx。data/app这个目录在非ro...原创 2018-05-30 14:57:26 · 1619 阅读 · 0 评论 -
一步一步带你反编译apk,并教你修改smali和重新打包
一、工具介绍:1.apktool:aapt.exe,apktool.bat,apktool.jar;三个在同一目录结合使用,用来反编译apk,apk重新打包;2.dex2jar:该工具作用是将classes.dex文件,反编译出源码(如果apk未加固),反编译出文件,使用jd-gui工具进行查看;3.Auto-Sign:自动签名工具,将重新打包的apk进行签名,如果不签名,无法安装使用...原创 2018-05-28 18:16:25 · 107451 阅读 · 42 评论 -
java执行脚本用sh和./的区别
今天测试代码,用sh执行脚本没啥问题,结果用./执行就Exception了,查资料发现了这个问题,给脚本加上可执行权限就可以了。java执行脚本用sh和./的区别如下:./需要执行权限,执行调用的是你开头一行定义的shell,不指定系统会调用默认shell程序sh不需要执行权限,sh是个软链接,它可能是一个任意的shell,通常默认是bash shell...原创 2018-05-07 10:28:34 · 3519 阅读 · 0 评论 -
HTTP协议状态码详解
200 – 服务器成功返回网页 404 – 请求的网页不存在 503 – 服务不可用 1xx(临时响应) 表示临时响应并需要请求者继续执行操作的状态代码。代码 说明 100 (继续) 请求者应当继续提出请求。 服务器返回此代码表示已收到请求的第一部分,正在等待其余部分。 101 (切换协议) 请求者已要求服务器切换协议,服务器已确认并准备切换。2xx (成功) 表示成功处理了请求的状...原创 2018-05-19 11:15:57 · 184 阅读 · 0 评论 -
android.system.ErrnoException: isConnected failed: EHOSTUNREACH (No route to host)
今天一debug测试请求后台服务器就报这个错误:java.net.ConnectException: failed to connect to xxx/xxx(port 3000) after 50000ms: isConnected failed: EHOSTUNREACH (No route to host)平时测试都好好的呀,这是咋了?我用Navicat连接后台,没问题,一连接就连上了。我直...原创 2018-04-21 10:39:56 · 3623 阅读 · 0 评论 -
Android 6.0多个权限申请,教你使用Google easypermissions框架,100%申请成功
教你简单申请Android6.0权限,学会集成google easypermission开源框架,google原生的才是最美的原创 2017-06-21 18:37:59 · 8296 阅读 · 4 评论