
Android
乃哥1
纸上得来终觉浅,绝知此事要躬行。
展开
-
Android 设置可抓包
Android 抓包设置原创 2023-02-04 15:34:16 · 1058 阅读 · 0 评论 -
Android 调起手机内导航
Uri uri = Uri.parse("geo:" +”39.915119“ + "," + ”116.403963“ + "?q=" + "北京市天安门广场");Intent intent = new Intent(Intent.ACTION_VIEW, uri);startActivity(intent);如上代码,可掉起应用内的导航;高德首选;...原创 2021-09-24 20:37:54 · 353 阅读 · 1 评论 -
Android resource linking failed,解决
Android resource linking failedE:\XXXXX\XXXXX\app\build\intermediates\incremental\mergeDebugResources\merged.dir\values\values.xml:6162: error: resource android:attr/lStar not found.error: failed linking references.今天跑一个曾经的项目,报了如上错误;几经周折得以解决;如下记录:1、全原创 2021-09-05 16:02:36 · 11057 阅读 · 0 评论 -
Kotlin中 ? 和 !! 的使用
首先明确在Kotlin中的变量定义定义变量规则:var | val 变量名 [:类型] [= 初始值]例:var name : String = "张三" val gender : String ="男"通俗来讲,var修饰变量,val修饰常量;接下来先说?,并举简单的例子加以说明:1、?修饰申明在成员变量的类型后面,表示这个变量可以为null。该变量如果为null时,不会执行该变量后面的逻辑,也不会抛出空指针异常,俗称空安全。如果不为null,会正常执行该变量后面的...原创 2021-02-04 17:52:56 · 409 阅读 · 0 评论 -
Kotlin 自定义view,实现手写签名
一个业务需求,需要搞一个手写签名的功能,于是在Github上找了找,果断找到一个合适的;于是又自己照着敲了一遍,感觉还不错;先上效果:这是人家源码地址:https://github.com/wongkyunban/KotlinSignPanel...原创 2021-02-03 10:57:19 · 229 阅读 · 0 评论 -
Android 检测手机是否被Root
public class CheckSysUtils { public static boolean isDeviceRooted() { return checkRootMethod1() || checkRootMethod2() || checkRootMethod3(); } //查看系统是否测试版 private static boolean checkRootMethod1() { String buildTags = and..原创 2021-01-19 17:47:57 · 1294 阅读 · 1 评论 -
设置 app 不能在模拟器上运行
今天收到测试提的一个问题,就是需要做到“移动应用不能在模拟器中运行”。度娘了一圈,已实现,现做记录:本次记录主要参考:https://blog.csdn.net/wei_zexu/article/details/109535682?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_baidulandingword-3&spm=1001.2101.3001.4242都说“夜神”模拟器功能强大,于是我也装了一个;将打包好的a转载 2021-01-19 14:19:24 · 10506 阅读 · 2 评论 -
This version of the Android Support plugin for IntelliJ IDEA (or Android Studio) cannot open this pr
Github上面下载了一个 项目,想学习一下,打算运行一下,编译了一会,就报错;错误如下:意思是此版本的用于IntelliJ IDEA(或Android Studio)的Android支持插件无法打开此项目,请使用4.1或更新版本重试。接下来那就升一下级;Update and Restart 点一下如你所想,更新后重启,便可;...原创 2021-01-18 18:22:27 · 20731 阅读 · 3 评论 -
setTextColor
一:<.......android:color="#EEEEEE"/>二:view.setTextColor(Color.parseColor("#FF2222"));三:view.setTextColor(Color.GRAY);四:view.setTextColor(getResources().getColor(R.color.colorPrimary));五:view.setTextColor(0x000000);六:view.setTextColor(Color.rgb...原创 2020-12-30 21:25:36 · 263 阅读 · 0 评论 -
EditText 限制输入字符
上代码:<EditText android:layout_width="200dp" android:layout_height="50dp" android:inputType="number" android:digits="0123456789." />如上就限定了一个EditText中只可以输入IP地址;值得记录的是一个我曾经没用过的属性:android:digits="",在digits属性中设置允许的字符,未允许的字符即使软键盘上原创 2020-12-23 11:01:30 · 233 阅读 · 0 评论 -
Caused by:com.alibaba.android.arouter.exception.HandlerException:ARouter::ARouter init logistics ...
在做一个模块化项目的时候,需要将项目中暂时不用的模块暂时删除掉,删除掉之后重新跑项目,就报这个错;错误定位在ARouter初始化那一行。必是和ARouter有关。我的解决办法:1、首先删除干净项目中与被删模块ARouter入口代码; ARouter.getInstance().build("/XXX/XXX").navigation().loginPush(“需要传递的参数”); 2、卸载当前apk,重新安装 ;问题至此解决;原因是:...原创 2020-12-09 14:26:12 · 4751 阅读 · 5 评论 -
仿多层次ProgressBar
先看效果话不多说,直接上代码,有用的拿去<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layou原创 2020-12-01 14:07:59 · 116 阅读 · 0 评论 -
面试基础知识储备
1、Java8种基本数据类型; byte: 1字节 short: 2字节 int: 4字节 long: 8字节 double:8字节 float:4字节 char:2字节(C语言中是1字节)可以存储一个汉字 boolean:1字节 false/true(理论上占用1bit,1/8字节,实际处理按1byte处理)2、int与integer的区别int是基本数据类型 Integer是int 的封装类 int和Integer都可以表示某一个数值 ...原创 2020-11-27 17:52:49 · 512 阅读 · 0 评论 -
List 数据去冗 LinkedHashSet
对List数据的去冗,分两种情况,话不多说,直接上代码:第一种:package com.example.mylist;import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;import android.util.Log;import java.util.ArrayList;import java.util.LinkedHashSet;import java.util.List;publ原创 2020-11-02 18:22:37 · 587 阅读 · 0 评论 -
Android Jetpack 简单介绍(三)
最近看到一句朋友圈发的摘抄,略有感触:想不到吧,又该穿长袖了,你看,时间走得多快,可你,却还是一无所获。疫情刚上班时,树叶都还没发芽,现在,叶子已经开始枯了。你怕不怕,这辈子就是你上辈子说的下辈子!我再次学习一下Jetpack:接着《Android Jetpack简单介绍(二》继续说;项目中自动生成的MainViewModel,它做作用是什么呢?我们点进ViewModel看看;源码就不贴出了,我们直接上源码中带的例子:MainFragment publi..原创 2020-10-15 16:06:47 · 231 阅读 · 0 评论 -
RxJava3 创建操作符整理
最近这三四个项目中都用到了RxJava,使用频率之高,觉着有必要进行整理,方便自己巩固记忆,也便于他人学习查找;本文就RxJava3的创建操作符进行记录,整理如下图:RxJava 使用步骤 :数据源产生数据并发射给订阅了这个数据的观察者(响应式编程)。所以主要分为三步:第一步:创建被观察者(数据源)并生产数据第二步:创建观察者第三步:订阅(关系绑定)1、create点击一个按钮时,建立订阅关系输出如下:2、just点击一个按钮..原创 2020-07-28 17:40:48 · 412 阅读 · 0 评论 -
Android 用RxJava3实现 倒计时和 延时加载
用RxJava3 写一个倒计时,个人认为比较优雅;看例子:1、首先集成implementation "io.reactivex.rxjava3:rxjava:3.0.4"implementation 'io.reactivex.rxjava3:rxandroid:3.0.0'2、具体代码如下://点击按钮,开始倒计时public void startTimeClick(View view) { /** * start: 开始数值 * count:原创 2020-07-23 15:47:09 · 1971 阅读 · 0 评论 -
线程池相关的概念
记录一点关于线程池的概念: 一、什么是线程池: 线程池简单的说就是管理线程的一个总调度官。 它可以存储着多个核心线程和多个非核心线程, 也可以派遣核心线程或非核心线程去处理事情。 线程池原理简单的解释就是会创建多个线程并且进行管理, 提交给线程的任务会被线程池指派给其中的线程进行执行, 通过线程池的同意调度,管理使得多线程的使用更简单,高效。 二、为什么要使用线程池? 1.重用线程池中的线程,避免因为线程的创建和销毁所带来的性能开销。 2.能有效控制线程池的最大并...原创 2020-07-22 15:56:17 · 261 阅读 · 0 评论 -
SmartToast
项目Github地址:https://github.com/the-pig-of-jungle/smart-show项目概况:一个封装了Toast、Snackbar、Dialog的开源库;先看Toast封装的效果(逐个点击):集成:// for androidximplementation ('com.github.the-pig-of-jungle.smart-show:all:3.0.2')//如果会使用到SmartSnackbar模块,需添加material库,suc原创 2020-06-04 19:56:56 · 1426 阅读 · 2 评论 -
Caused by: java.util.ConcurrentModificationException解决及分析
话不多说,上例子:定义了一个集合,然后forEach遍历,当值为“test2”时,将其从集合中删除;但是程序跑起来后,就报错了,报错信息如下:报错信息指向forEach,这又是为什么呢?我们先点进ArrayList看看是哪里报的错:看到抛出异常的地方,自然就明白为什么出错了:原因:ArrayList的父类AbstarctList中有一个域modCount,每次对集合进行修改(增添元素,删除元素……)时都会modCount++而foreach的背后实现原理其实就是.原创 2020-06-03 18:16:25 · 6252 阅读 · 0 评论 -
一个功能强大的RecyclerViewAdapter 适配器 BaseRecyclerViewAdapterHelper
github:地址:https://github.com/CymChad/BaseRecyclerViewAdapterHelper/blob/master/readme/0-BaseRecyclerViewAdapterHelper.mdgithub上介绍的比较详细,就不过多赘述;原创 2020-06-02 14:37:13 · 239 阅读 · 0 评论 -
Kotlin 自定义View报错
在用Kotlin 写一个自定义view 的时候,出现报错:原因是,我们在自定义View时,人如果有自定义View有属性或者在XML中调用,而我们这样写(也就是Java中的一个参数的构造方法):自然就报错了。正确方式如下(即为Java中的两个参数的哦构造方法):...原创 2020-05-31 17:42:27 · 780 阅读 · 0 评论 -
Android 事件分发机制梳理 Kotlin
关于Android事件分发,想必是哪个Android 开发者都绕不开的基础知识。今天就简短的梳理一下,并用简单的Demo进行演示:首先得知道,Android 事件在哪几个对象之间传递呢?答:Activity、ViewGroup、View在这三个对象之间的事件传递的方法有哪些呢?直接上demo代码片段:Activity 代码:自定义view代码片段:自定义ViewGroup代码片段:知道了以上,再简单的进行验证一下事件分发的流程:很简单的案例..原创 2020-05-31 17:17:27 · 861 阅读 · 0 评论 -
MPAndroidChart 整理
近来由于业务需求,要做图表类型的数据展示,故想到了MPAndroidChart先上图:由于是Pad上的截图,所以图片有点大;首先说MPAndroidChart的集成;implementation 'com.github.PhilJay:MPAndroidChart:v3.1.0'maven { url "https://jitpack.io" }集成后直接上代码:1、布局代码:<?xml version="1.0" encoding="...原创 2020-05-28 22:33:37 · 4641 阅读 · 1 评论 -
Gradle project sync failed. Basic functionality(e.g.editing.debugging) will not work properly.
在项目中,我们往往需要继承一些第三方的库,以便更加快捷的实现我们的需求;但是在新建的工程中,我们继承进第三方库后,项目编译不过;控制台出现报错:ERROR: Failed to resolveGradle project sync failed . Basic functionality(e.g.editing.debugging) will not work property;Try Again 几次还是这样,是为什么呢?既有可能是在build.gradle中少加了一个maven原创 2020-05-27 10:40:28 · 2842 阅读 · 0 评论 -
MediaPlayer 播放在线音频卡死
近来项目中有播放音频的需求,于是想用MediaPlayer先写个Demo;布局代码如下:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_par原创 2020-05-24 20:15:35 · 2103 阅读 · 1 评论 -
Android Jetpack 简单介绍(二)
新建你的第一个Jetpack学习Demo新建一个项目,关键点如图(选择Fragment+ViewModel):新建项目后,再看目录结构,如下图:自动生成了Activity+Fragment+ViewModel接着,我们再看一下它的gradle:新建的项目中自动集成了Jetpack库中用于管理Activity和Fragment生命周期的Lifecycles组件;...原创 2020-04-27 12:04:03 · 221 阅读 · 0 评论 -
Android Jetpack 简单介绍(一)
在学习Jetpack之前,先回顾一下Android开发中的三种开发模式:1、MVC 模式 Model-View-Controller2、MVP 模式 Model-View-Presenter3、MVVM 模式 Mode-Viewl-ViewModel由于今天主要介绍Jetpack,所以就不得不再次回顾一下MVVM;由于Android开发生态的多样性,一个项目...原创 2020-04-27 10:07:24 · 305 阅读 · 0 评论 -
找不到kotlin.jvm.functions.Function2的类文件
在敲一个Demo时,引用了一个开源的组件,集成进来,看看样式还挺好;看源码发现,组件是用Kotlin写的,当我监听它ItemSelectListener,重写了onItemSelect方法,并在里面写了个吐司,想看看 吐司的内容;于是就要将项目跑起来,问题就随之而来:控制台也在疯狂的暗示:找不到kotlin.jvm.functions.Function2的类文件,这如何是好呢?...原创 2020-04-24 15:24:14 · 2917 阅读 · 1 评论 -
从源码角度再看EventBus 的使用
首先得明确EventBus是用来做什么的呢?由greenrobot 组织贡献(该组织还贡献了greenDAO),一个Android事件发布/订阅轻量级框架功能:通过解耦发布者和订阅者简化Android事件传递EventBus可以代替Android传统的Intent,Handler,Broadcast或接口函数,在Fragment,Activity,Service线程之间传递数据,执行...原创 2020-04-22 21:22:41 · 200 阅读 · 0 评论