自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(90)
  • 资源 (1)
  • 问答 (3)
  • 收藏
  • 关注

原创 ADB命令

首先需要配置ADB环境变量,不会的百度1安装APKadb install xxxx (xxxx是你电脑apk的目录,在windwos上可以直接拖到cmd命令行)2查看当前运行的Activityadb shell dumpsys activity | grep -i run windows上需要先执行 adb shell , 然后在$后执行 dumpsys activity | g...

2020-04-08 16:04:14 394 1

原创 Kotlin笔记

此文章方便记录平常使用kotlin容易忘记的点1.kotlin单例模式//1.饿汉式object Singleton { ...}// Kotlin 中调用Singleton.xx()// Java 中调用Singleton.INSTANCE.xx()//2.懒汉式class Singleton private constructor() { compan...

2019-07-19 14:30:10 450

原创 GIT使用笔记

作为程序员必须要会用版本工具,大部分公司用git或者svn。所以如何使用git命令也是我们需要学习的,git命令很容易忘记这里我将记录下在我使用git的一些容易忘记的命令以下所有命令都是在Android Studio的Terminal下执行; 文章所有dev代表分支名称1.更新代码:git pull1.提交代码:git push3.本地代码首次提交到远程服务器:git init...

2019-04-04 15:49:37 454 1

原创 面试提问--java基础&JVM虚拟机

1.简述JVM内存模式??内存私有的:虚拟机栈,本地方法栈,程序计数器内存共有的:方法区,堆简述下栈:栈中存放的是栈帧,是就是方法栈,每个方法从开始到调用完成,是一次完整的入栈出栈的流程程序计数器:很小的内存区域,用来记录字节码在CPU时间片所执行的位置(执行到哪里了)方法区:储存被虚拟机啊加载过的一些数据,如:被虚拟机加载的类信息、常量、静态常量、即时编译器编译后的代码等数据堆:几乎所有对象都在对上创建,new xxx()2.所有的对象都在对上创建吗??不是,符合逃逸分析的对象会

2021-04-14 14:19:35 206

原创 面试提问--线程&线程池

1.创建线程有哪几种??据官方注释只有两种,打开Thread看官方注释;如图第一种:直接new Threadpublic static void main(String[] args) { new PrimeThread().start(); } static class PrimeThread extends Thread { @Override public void run() { super.run

2021-04-10 23:24:49 229

原创 自定义View学习总结

自定义View学习总结自定义View一般有三种方式继承View自定实现所有的逻辑继承现有的View或者ViewGroup,在这些基础上加一些逻辑组合现有的控件,添加一些额外的逻辑这里我们就只看第一种,也是比较基础的。自定义View一般重写三个方法onMeasure,onLayout和onDrawonMeasure:测量View来确定最终的宽高onLayout:布局确定子View的位置,自定义ViewGroup才需要重写这个方法onDraw:可以在画布上画任何你想画的东西首先定义一个

2021-04-04 22:58:50 348

原创 Okhttp源码深入理解

Okhttp已经用了好几年了,一直也没去研究下它的流程是怎么样,内部究竟是怎么样工作的,最近研究了下,写篇博客记录下,写的不是很好。首先先从用法开始。第一步:创建OkhttpClient val client = OkHttpClient.Builder() //创建Client同时可以添加拦截器、指定超时时间、证书校验等等操作 .build()创建Request对象//可以在这里自定请求的ip、指定请求方式。、添加请求头 val request= Request.Build

2021-04-01 21:20:35 171

原创 解决升级androidx和10.0后Dialog形势的Activity背景透明效果消失

解决升级androidx和10.0后Dialog形势的Activity背景透明效果消失Activity也可以像Dialog那样显示,只需要指定Activity的主题透明即可在Manifest中设置Dialog透明的主题样式 <activity android:name=".MeetNotesActivity" android:configChanges="keyboardHidden|orientation|keyboard|screenSize|

2021-03-19 11:48:27 1120

原创 java excel数据组装json成数据

java excel数据组装json成数据客户提供excel数据,androdi app是离线的,所以考虑将数据组装成json数据放到assets目录下面。首先需要去下载pio的包,文章末尾我会放github的下载地址,代码很简单,pio的类就几个,主要还是自己如果去拼接json数据,自己找下规律,无非就是遍历行和列,先遍历行还是列package cn.sccl.app.module.firstaid.utils;import android.content.Context;import and

2021-02-07 11:41:06 300

原创 Recyclerview点击滑动到指定位置

最近有个新的需求,像有道翻译官的出国急救包,效果如下,点击的时候 item跑到最上面 然后展开下面的内容。首先想到用recyclerview来做,点的时候显示隐藏的内容,然后把item滑到最顶端,也就是item的top刚好滑动的recyclerview的top,加上动画就可以实现上面的效果了。首先想到的用recyclerview自带的滑动方法mRecyclerView.smoothScrollBy(x,y),这就需要计算当前item的top距离rv的top的值,然后传入mRecyclerView.s

2021-01-29 10:05:05 941

原创 GlideModule过时使用AppGlideModule

这里写自定义目录标题GlideModule过时使用AppGlideModuleGlideModule过时使用AppGlideModule在自定义GldieModule时,使用GlideModule提示过时了,* @deprecated Libraries should use {@link LibraryGlideModule} and Applications should use * {@link AppGlideModule}.那我们就使用AppGlideModule,去网上搜一下怎么配置

2020-10-20 11:26:20 1799

原创 JNI学习笔记

1.xxx.java生成 xxx.class文件 和专属的.h文件命令javac - h . xxx.java2.查看当前xxx.java文件所有签名信息//首先得到xxx.class文件执行->javap -s -p xxx.class//得到结果如下,descriptor后的就是签名信息()内的是参数;V是返回值public class com.example.cb.test.native1.FieldTest { public int a; descriptor: I

2020-08-27 22:45:32 139

原创 android studio创建flutter项目卡在creating flutter project

android studio创建flutter项目卡在creating flutter project最近学习了下flutter,搭建了开发环境,具体的配置方法网上一大堆,我这里就直说下我遇到的两个小问题。1.flutter doctor网络异常(什么主机找不到&404问题)这个问题一般就是网络的问题了(不行的话试下用手机的热点)2.android studio创建flutter项目卡在creating flutter project这个问题也是困扰了我半天,如果环境搭建好了后卡在cr

2020-08-20 11:04:54 1329

原创 C语言学习笔记

1. C语言中打印格式1.%p:打印指针地址;&取地址2.%s:字符串3.%c :一个字符4.%d :有符号十进制整数5.%ld:输出长整型数据6.%o:八进制数形式输出整数7.%e:指数形式输出实数8.%.10f:用来输出实数,保留小数点10位9.%u:十进制数输出unsigned型数据(无符号数)。注意:%d与%u有无符号的数值范围,也就是极限的值,不然数值打印出来会有误10.%x: 使用十六进制数字0f的无符号十六进制整数11.%X: 使用十六进制数字0f的无符号十六进制

2020-08-03 14:14:46 139

原创 Java虚拟机学习笔记

Java虚拟机学习笔记//https://mp.weixin.qq.com/s/f9BiAW5y_UhRF-XMh98SgA1.线程共享内存区域堆方法去直接内存2.线程隔离的数据区域程序计数器虚拟机栈本地方法栈3.程序计数器的理解多线程轮流切换,需要线程有私有的计数器来储存当前线程执行的位置。4.虚拟机栈每个方法在执行的同时都会创建一个栈帧(Stack Frame)用于存储局部变量表、操作数栈、动态链接、方法出口等消息。每一个方法从调用直至执行完成的过程,就对应着一个栈帧在虚拟机栈

2020-07-13 10:25:12 165

原创 自定义ViewGroup结合merge标签减少嵌套

自定义ViewGroup结合merge标签减少嵌套废话不多说,直奔主题在开发中经常会继承LinearLayout、RelativeLayout、FrameLayout等系统自带的ViewGroup来实现自己的布局,先来看我之前的写法首先看布局,拿LinearLayout 举例;文件名R.layout.tes<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.androi

2020-06-23 23:47:40 793 1

原创 Android canvas draw常用方法收集

Android canvas draw常用方法收集1.drawArc(RectF oval, float startAngle, float sweepAngle, boolean useCenter, Paint paint)参数RectF oval 外切矩阵float startAngle 开始角度float sweepAngle 结束的角度boolean useCenter 可以理解是否是封闭的圆弧关于角度起点3点钟方向(0度)顺时针方向;6点是90度,9点是180度 以此类推…

2020-06-18 11:23:35 511

原创 NestedScrollView中webview被点击,NestedScrollView会滑动问题,

NestedScrollView中webview被点击,NestedScrollView会滑动,感觉像跳动一下解决办法在webview父布局中加上 android:descendantFocusability="blocksDescendants"android:descendantFocusability="blocksDescendants"的意思是,父布局拦截子view的事件...

2020-01-02 16:20:57 1301 1

原创 使用360加固保后获取不到友盟多渠道信息

使用360加固保后获取不到友盟多渠道信息今天在使用360加固保进行多渠道打包时遇到一个很有趣的问题,就是打完包后怎么也获取不到渠道信息(统计用的友盟),但是使用Studio gradle多渠道打包就可以获取到,先来看下代码吧:<meta-data android:value="xxxxxxxxxxxxxxxxxxxxxxxxxxxxx" android:name="UMENG_APPKE...

2020-01-02 09:38:42 884

转载 Android Studio 提示错误:No IDEA annotations attached to the JDK 1.8... ...

点我

2019-10-14 20:45:08 1518

原创 NestedScrollView嵌套RecyclerView时自动滚动一段距离,顶部显示不全

当在Fragment使用NestedScrollView嵌套RecyclerView时,来回切换Fragment时会发现NestedScrollView会自动向上滚动一段距离;我第一反应就是有布局抢焦点了,有时候如果有EdutText也会有类似的现象,解决办法就是在NestedScrollView里的唯一布局设置自动获取焦点,代码如下:<androidx.core.widget.Nest...

2019-10-11 17:40:21 2807 4

原创 RecyclerView监听滑动,判断是否完全显示最后一个item

再使用RV的时候,加载更多是很常见的一个需求,那么怎么判断RV是否已经滑动到最底部呢?这个时候就需要LayoutManager一些现成的方法了,代码如下: mRecyclerView.addOnScrollListener(object : RecyclerView.OnScrollListener() { var isToLast = false//判断是否是垂直向下...

2019-09-30 15:33:25 3849

原创 No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android解决办法

当Studio版本升级到3.4以上,从SDK Manager下载的NDK不在支持老的项目了就会报错提示的意思就是找不到mips64el-linux-android,这是在NDK r18b之前的版本才会有这个文件夹,r18b更新日志有一句话This version of the NDK is incompatible with the Android Gradle plugin versio...

2019-08-06 16:22:37 236

原创 android在所有布局外嵌套一层解决方法

首先说下应用场景,最近项目有个需求在所有界面增加一个悬浮的按钮,但是不开启悬浮窗权限,就想到在每个activity中都添加一个button这样就可以做到每个界面都有一个Button。于是在BaseActivity中加了一个方法显示按钮,然后获取RootView,通过addView的方式加在右下角。想法很简单操作起来也很简单,一顿操作写完了。测试的时候发现问题了,1.所有Activity中的...

2019-08-05 15:54:20 821

原创 dagger2两种注入方式

记录dagger使用笔记第一种第二种第一种//需要注入的对象public class AObject { @Inject public AObject() { } public void eat() { System.err.println("我是A"); }}component 注意:@Component不能省略@Co...

2019-07-26 10:47:58 550

原创 android9.0适配http请求

在将API升级到28的时候http请求就报错java.net.UnknownServiceException: CLEARTEXT communication ** not permitted by network security policygoogle在android P中强制使用https的请求,就跟IOS10一样,解决办法如下//.在res中的xml目录下新建`network_s...

2019-07-12 10:53:11 369 1

原创 解决8.0,在后台启动服务闪退问题

在做保活机制的时候,一般在service的onDestroy()方法中再一次启动服务,达到避免service被kill先来看下报错对的日志(我的手机8.0的系统)2019-07-10 15:31:31.049 16473-16473/com.scdx.vtalk E/AndroidRuntime: FATAL EXCEPTION: main Process: com.scdx.vtal...

2019-07-10 15:41:05 2301

原创 If this view is optional add '@Nullable' (fields) or '@Optional'

使用butterknife时报错了。butterknife版本如下 //butterknife implementation 'com.jakewharton:butterknife:10.1.0' annotationProcessor 'com.jakewharton:butterknife-compiler:10.1.0'这个版本支持kotlin注意这个版本必须要用j...

2019-06-26 17:11:22 5451 2

原创 fragment中使用MediaPlayer&SurfaceView发生黑屏或者闪一下

解决办法:1.视频播放最好先延迟。2.在activity的onCreate()中设置 getWindow().setFormat(PixelFormat.TRANSLUCENT);3.在创建SurfaceView的holder的时候设置mSurfaceView.getHolder().setFormat(PixelFormat.TRANSPARENT);...

2019-06-20 10:02:40 971

原创 kotlin中List,Map,数组的使用

今天仔细的学习了下kotlin的集合,做了些笔记,都是源码注释也很详细。kotlin为集合提供一些方便的方法大多都类似,我就写了些List的,注释非常详细/** * 记录一些好用的语句and方法 */class KotlinFunActivity : BaseActivity() { override fun onCreate(savedInstanceState: Bundl...

2019-06-12 17:29:24 4411

原创 项目中有N个Module使用相同aar导致冲突解决

项目中有N个Module使用相同aar导致冲突解决第1种解决办法第2种 解决办法最近在做项目,要把另一个项目打包成Module集成到主工程,合并发生了冲突,原因是原来分开的两个项目都使用了BaseAdapter的aar文件,合到一起就冲突了。删掉其中任何一个要报错,怎么办?当然是上google上面搜。在网上搜到了解决办法,第1种解决办法android {repositories { ...

2019-06-03 15:10:17 2560

原创 FrameLayout;LinearLayout的onDraw方法不执行

在构造方法里加上setWillNotDraw(false);

2019-05-21 15:43:32 2195 2

原创 ConstraintLayout使用

1.百分比布局//分别为高和宽的比例,app:layout_constraintHeight_percent="0.5"app:layout_constraintWidth_percent="0.5"注意:设置 app:layout_constraintHeight_default=""或app:layout_constraintWidth_default=""时会无效2.类似Line...

2019-05-20 22:43:37 237

原创 ViewPager实现左右边距效果

最近不知道写什么,就写一个在项目中用到的效果,看图。其实和banner差不多,效果就是支付宝财富-财富直通车类似。实现起来并不是很难。首先看下布局<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" ...

2019-05-20 11:47:04 5415

原创 android.9图padding;.9图空白区域

废话不多说,如果在使用.9图时遇到如下效果一眼看上去好像imageview好像有padding值,实际上我是什么都没有设置的,而且拉伸区域也是正确的,刚好在发光圈内,出现这种问题我也是一脸懵逼,一般美工把.9的图发过来就直接能用。我先说解决办法,原因可能是因为图片的分辨率还没有.9图最小的分辨率大,.9图根本没有拉伸而是压缩了,这就说明为什么会有padding值了;直接让美工把图的长宽等比例...

2019-05-06 22:13:12 1975

原创 启动App黑屏白屏优化

在开发IPTV应用时经常会遇到app启动就发生白屏或者黑屏的现象;我们来分析下原因1.最主要的就是盒子的性能原因,一般盒子的处理器和内存性能都比较低,一般都是andoid 5.0.2.App启动做了大量耗时操作,比如第三方SDK在Application的初始化操作3.第一个activity的XML布局嵌套层级太多一般就上面的三个问题会导致启动白屏,其中第一最为关键,其他两个地方开发人...

2019-04-22 11:14:00 343

原创 AIDL跨进程通信

AIDL作用用于生成可以在Android设备上两个进程之间进行进程间通信。支持的数据类型1.基本类型:int、char、boolean、double、float、byte、long、string) 但不支持short2.String、CharSequence.3.List和Map(注意List和Map里面的数据类型必须是AIDL支持的)4.序列化的对象(Parcelable)使用1...

2019-04-19 17:17:48 694

原创 编译报错app:compile_releaseDebugJavaWithJavac

项目编译报错具体错误如下:然后突然发现好多类都在报错以我多年(只有两年-)的开发经验来看肯定是哪个资源文件导致的。点击build左侧有ab字母的按钮拖到最底下,上面的错其实不是真正问题原因,如下:这里我们可以看到错误: 程序包xxx.xxx.databinding不存在可是在我的项目目录里并没有databinding这个包,而是在generatedjava下有一个,这里的代码都是编译...

2019-04-11 11:01:53 1768

原创 错误: 找不到符号 符号: 变量 CLIP_SAVE_FLAG 位置: 类 Canvas

当API是28时调用canvas.save(Canvas.CLIP_SAVE_FLAG);方法时报错错误: 找不到符号 符号: 变量 CLIP_SAVE_FLAG 位置: 类 Canvas解决办法:直接调canvas.save();在android P中删除的canvas.save(int);方法文档,需要翻墙...

2019-04-04 15:13:01 9560 6

原创 导入最新版的butterknife 9.0.0-rc2运行报错;

解决办法在app.build中加入 //指定jdk版本 compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 }最新的版的butterknife 9.0.0-rc2所有的工件都是用Java ...

2019-03-29 16:18:30 2456

mips64el-linux-android-4.9.zip

mips64el-linux-android离线包,直接拷贝到E:\sdk\ndk-bundle\toolchains目录下,注意是自己的NDK目录 没有积分的到这里去下https://developer.android.google.cn/ndk/downloads/older_releases.html

2019-08-06

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除