Java
文章平均质量分 54
乌克丽丽丶
会当凌绝顶,一览众山小!
展开
-
Android gradle统一依赖版本:Composing builds
之前写过一篇Android gradle统一依赖版本:kotlin+buildSrc的集成使用,标题两者的区别可以参照再见吧 buildSrc, 拥抱 Composing builds 提升 Android 编译速度原创 2021-09-16 17:03:37 · 1027 阅读 · 3 评论 -
Kotlin中@JvmOverloads、@JvmStatic、@JvmField、@JvmName、@JvmMultifileClass
1. @JvmOverloads一句话就是为了解决Java不能重载kotlin 有默认参数的方法比如Kotlin代码如下调用是没有问题的:class Test { fun testJvm(a: String, b: Int = 1) { } fun abc() { testJvm("a") testJvm("a", 3) }}但是如果java中调用:class TestJava { private void tt原创 2021-05-10 13:22:39 · 1677 阅读 · 3 评论 -
Android 自定义随意拖拽布局
效果图如下:1. 自定义view如下:package com.example.myapplicationimport android.content.Contextimport android.util.AttributeSetimport android.view.MotionEventimport android.widget.RelativeLayoutimport kotlin.math.absclass CustomDragView @JvmOverloads constru原创 2021-01-27 13:51:28 · 2296 阅读 · 0 评论 -
解决Android Studio gradle 下载失败的问题
遇到Android Studio下载gradle 慢或者下载失败的问题,解决方案如下:1.到项目目录下的gradle文件夹下的wrapper文件夹,下面的 gradle-wrapper.properties, 打开该文件,将distributionUrl后面的地址复制出来复制内容: https://services.gradle.org/distributions/gradle-5.6.4-all.zip注意要去掉https后面的斜线!2.然后将该地址使用浏览器打开,或者使用迅雷创建下载,我是使原创 2021-01-18 15:33:28 · 4226 阅读 · 0 评论 -
Android面试(一)线程、多线程和线程池
1. 开启线程的三种方式?继承Thread类,重写run()方法,在run()方法体中编写要完成的任务 new Thread().start();实现Runnable接口,实现run()方法 new Thread(new MyRunnable()).start();实现Callable接口MyCallable类,实现call()方法,使用FutureTask类来包装Callable对象,使用FutureTask对象作为Thread对象的target创建并启动线程;调用FutureTask对象的get原创 2020-11-04 17:15:05 · 462 阅读 · 1 评论 -
Android Bitmap压缩
一、质量压缩 private void compressQuality() { Bitmap bm = BitmapFactory.decodeResource(getResources(), R.drawable.test); mSrcSize = bm.getByteCount() + "byte"; ByteArrayOutputStream bos = new ByteArrayOutputStream(); bm.compre原创 2020-10-28 16:23:54 · 743 阅读 · 0 评论 -
Android Studio4.0引入arr包和jar包方式
Android Studio升级到 4.0 并且gradle_plugin 也更新到4.0.0,之后引入jar包和arr包的方式有所变更。1.File -> New -> New Module引入完成之后可以根据自己的习惯 添加一个新的文件夹存放 arr和jar 如图:然后将引入的arr或jar包拷贝到这下面。2.在使用到的module下的 build.gradle:api project(":arr名称")3.在项目下的settings.gradle中引入:include原创 2020-06-05 18:17:56 · 5245 阅读 · 7 评论 -
Android 10 获取相册图片失败: open failed: EACCES
Android10获取相册图片失败原创 2020-04-21 15:38:25 · 4297 阅读 · 7 评论 -
Android shape绘制常用图形
1.纯色园<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval"> <solid android:color="@color/text_color_fc"...原创 2020-03-26 21:05:00 · 701 阅读 · 0 评论 -
Android orhanobut/logger的使用
1.github地址 https://github.com/orhanobut/logger2. android studio 导入 compile ‘com.orhanobut:logger:2.1.1’3. 初始化 Logger.addLogAdapter(new AndroidLogAdapter());自定义loggerFormatStrategy formatStrategy...原创 2020-01-13 15:12:55 · 2502 阅读 · 1 评论 -
ArrayList与LinkList区别
ArrayList与LinkList区别是否保证线程安全: ArrayList 和 LinkedList 都是不同步的,也就是不保证线程安全;底层数据结构: Arraylist 底层使用的是Object数组;LinkedList 底层使用的是双向链表数据结构(JDK1.6之前为循环链表,JDK1.7取消了循环。注意双向链表和双向循环链表的区别,下面有介绍到!)插入和删除是否受元素位置的影响...原创 2019-12-04 20:00:36 · 262 阅读 · 0 评论 -
Android notifyDataSetChanged()数据没有刷新
如果adapter添加的list是通过构造方法传递过去的,这个list不能重新赋值,不然指向的内存地址就发生了改变,adapter刷新是监听的数据的内存,该内存的数据发生变化之后 调用notifyDataSetChanged才会刷新,改变了内存地址就不会刷新。可以通过操作list.clear(), 然后list.addAll(dataList), 再或者通过set方法把数据源传递给adapter....原创 2019-11-30 14:15:20 · 845 阅读 · 0 评论 -
Java OOP的理解
Java-面向对象编程思想原创 2019-09-19 20:29:55 · 2778 阅读 · 0 评论