自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 收藏
  • 关注

原创 Failed to apply plugin ‘com.android.internal.application‘.

今日得空,把android studio 升级到了最新版本。创建了一个项目,build的时候没有报错,但是在运行的时候报错。报错详情:通过这里看到是新项目需要用Java jdk版本 11。首先需要去官网下载一个版本为 Java11 jdk并且安装下载链接:可以点击这里,直达https://www.oracle.com/java/technologies/downloads/#java11-windows然后配置环境变量在电脑桌面上找到 : 我的电脑(此电脑) 鼠标右键 点击 属性—

2021-11-04 10:38:09 7246

原创 2021-10-24

要做做一个爱写代码,爱突破,积极向上的程序员。祝各位猿媛节日快乐

2021-10-24 10:39:29 119

原创 热修复

我们知道Java虚拟机 —— JVM 是加载类的class文件的,而Android虚拟机——Dalvik/ART VM 是加载类的dex文件,而他们加载类的时候都需要ClassLoader,ClassLoader有一个子类BaseDexClassLoader,而BaseDexClassLoader下有一个数组——DexPathList,是用来存放dex文件,当BaseDexClassLoader通过调用findClass方法时,实际上就是遍历数组,找到相应的dex文件,找到,则直接将它return。而

2021-04-22 15:08:14 105

原创 2020-10-24

周末快乐,程序猿节快乐

2020-10-24 00:26:48 80

翻译 Glide不显示图片

glide加载网络图片,在Android9.0以下的手机都是显示正常的在9.0以上发现只显示glide默认的图片 ,在这里记一下解决方法:在AndroidManifest.xml文件里, application字段里 加入 android:usesCleartextTraffic="true"就可以了,图片就会正常显示...

2020-08-19 10:41:31 413

原创 倒计时 timer+timetask +handler

许久未敲代码,关于计时器,倒计时这一块的东西有所遗忘,所以决定在撸一遍,加深印象。一般来说Android 开发可能会遇到,类似项目开机倒计时,电商的秒杀倒计时等等。我是根据开机倒计时来撸代码。MainActivity.javapublic class STActivity extends AppCompatActivity implements View.OnClickListene...

2020-01-15 15:50:19 224

原创 MVP小记

1.前言你是否遇到过Activity/Fragment中成百上千行代码,完全无法维护,看着头疼?你是否遇到过因后台接口还未写而你不能先写代码逻辑的情况?你是否遇到过用MVC架构写的项目进行单元测试时的深深无奈?如果你现在还是用MVC架构模式在写项目,请先转到MVP模式!2.MVC架构MVC架构模式最初生根于服务器端的Web开发,后来渐渐能够胜任客户端Web开发,再后来因Android...

2020-01-07 16:15:54 101

原创 GreenDao笔记

GreenDao讲解1.复习SQL语句(结构化查询语言)1.SQL语句分类DDL数据定义语言DML数据操作语言DCL数据控制语言DQL数据查询语言2.SQL语句1)库 create database aaa; //创建数据库 drop database aaa; //删除数据库 use aaa; //切换使用数据库 show databases; ...

2020-01-07 16:13:06 247

翻译 git常用命令表

2019-11-29 14:24:33 84

原创 用sp保存实现记住密码

SharedPreferences的用法:由于SharedPreferences是一个接口,而且在这个接口里没有提供写入数据和读取数据的能力。但它是通过其Editor接口中的一些方法来操作SharedPreference的,用法见下面代码:Context.getSharedPreferences(String name,int mode)来得到一个SharedPreferences实例nam...

2019-11-07 17:36:12 255

原创 python TypeError

TypeError: ‘<’ not supported between instances of ‘str’ and ‘int’#!/usr/bin/env pythona = input('请输入a 的成绩')b = input('请输入b 的成绩')c = input('请输入c 的成绩')if(a and b and c < 60): print('...

2019-10-29 14:07:04 200

转载 Android 流式布局FlowLayout 实现关键字标签

1.介绍流式布局的应用还是很广泛的,比如搜索热词、关键词标签等,GitHub上已经有很多这样的布局了,但是还是想着自己实现一下,最近一直在学自定义控件,也巩固一下所学的知识。本文实现的效果如下图所示:2.思路继承自RelativeLayout,可以直接使用RelativeLayout中的相关属性,本文也可以修改为继承ViewGroup,并不会有什么影响。在onMeasure方法中计算出...

2019-10-23 16:33:06 253

原创 Android 流式布局FlowLayout

FlowLayoutAndroid 流式布局FlowLayout 实现关键字标签效果图FlowLayout使用方法在项目根目录的build.gradle文件中加入如下代码maven { url “https://jitpack.io” }在app根目录的buil.gradle文件中加入依赖compile ‘com.github.alidili:FlowLayout:v1.5’加...

2019-10-23 16:27:46 118

原创 解决:java.net.ConnectException: failed to connect to

基于android的Socket通信:Android与服务器的通信方式主要有两种,一是Http通信,一是Socket通信。两者的最大差异在于,http连接使用的是“请求—响应方式”,即在请求时建立连接通道,当客户端向服务器发送请求后,服务器端才能向客户端返回数据。而Socket通信则是在双方建立起连接后就可以直接进行数据的传输,在连接时可实现信息的主动推送,而不需要每次由客户端想服务器发送请求...

2019-07-30 14:22:08 32105 1

原创 Android 9.0網絡配置

1). 简介Google表示,为保证用户数据和设备的安全,针对下一代 Android 系统(Android P) 的应用程序,将要求默认使用加密连接,这意味着 Android P 将禁止 App 使用所有未加密的连接,因此运行 Android P 系统的安卓设备无论是接收或者发送流量,未来都不能明码传输,需要使用下一代(Transport Layer Security)传输层安全协议,而 And...

2019-07-30 14:18:04 251

原创 多个jar包合并成一个jar包的办法

有两种方式:1.手动合并打jar包时libs里面引用2个包不是在libs里没打进去么,你可以直接手动和下,jar包本身就是一种压缩包,给他们打开合并到一个jar里就行具体步骤就是:用winRar,打开jar...

2019-07-26 10:51:41 2451

原创 jar包引用时,小哥哥犯的错

我刚开始引用jar包的时候,用的是本地引用, 修改宿主apk的build.gradle的dependencies:repositories {flatDir {dirs 'libs'}}dependencies {compile(name:'cnadsdk', ext:'jar')}然后我一build demo 看到报一大堆类似先面的错误我慌了AGPBI: {"kin...

2019-07-25 19:23:52 229

原创 Bitmap二次采样

Failed to find GeneratedAppGlideModule. You should include an annotationProcessor compile dependency on com.github.bumpt这是个错误的大多数原因是图片分辨率太高,而导致的内存溢出这让我想到了二次采样Bitmap二次采样,听着好像是一个高大上的事,其实也就那么回事,今天我们就来...

2019-07-25 19:04:04 175

原创 Android studio 3.2打jar

今天打个jar包,不会打,准确的说打不出来,在网上各种扒资源,后来遇到了属于我Android studio 的方式,故做此笔记。1 首先打开项目下的gradle文件2.将task makeJar(type: Copy) {delete ‘build/libs/yonyou_auto_im.jar’from(‘build/intermediates/packaged-classes/r...

2019-07-25 19:03:18 151

翻译 哈希表

无论是数组还是链表,其对数据的查询表现都比较无力,要想知道一个元素是否在数组或链表中,只能从前向后挨个对比。出现这个问题的根源在于,我们没有办法直接根据一个元素找到它存储的位置,那有没有办法消除这个对比的过程呢?哈希表就是解决查询问题的一种方案。在后续将会分析的二叉排序树中,还会将数据排序以进行二分查找,将时间复杂度从O(n)降低到O(lg n)。哈希表与Hash函数通俗来讲,哈希表就是通过...

2019-07-09 15:51:51 146

翻译 java中的数组和链表

数组和链表是数据结构中最基本的部分,也是其余众多数据结构的基础。即使在Java中,这两种结构使用的也很普遍。数组在java中,数组定义为一种基本类型,其可以通过下标获取到对应位置的数据。那么这种结构的数据,在内存中是怎么存放的呢?数组的结构示意图正如上图所示,数组在内存中是一段连续的存储单元,每个数据依次放在每个单元中。分析这种结构,我们可以得出以下几个结论:创建一个数组,必须声明其长...

2019-07-03 13:53:00 614

原创 java基础----数据篇

前段时听面试的人说这java数据这一块经常问到于是便作此总结,如有不对的地方请大佬指出,我们共同学习一、数组1数组的概念数组就是同一种类型数据的集合,其实数组就是一个容器。有时候我们,有很多数据需要保存以便于后期使用,那么就可以使用数组,数组就是一种用于存储数据的方式。能存数据的地方我们称之为容器,容器里装的东西就是数组的元素。2 数组的优点和缺点数组的最大好处就是能都给存储进来的元素自...

2019-07-03 09:36:01 128

原创 学习MVP

1.前言你是否遇到过Activity/Fragment中成百上千行代码,完全无法维护,看着头疼?你是否遇到过因后台接口还未写而你不能先写代码逻辑的情况?你是否遇到过用MVC架构写的项目进行单元测试时的深深无奈?如果你现在还是用MVC架构模式在写项目,请先转到MVP模式!2.MVC架构MVC架构模式最初生根于服务器端的Web开发,后来渐渐能够胜任客户端Web开发,再后来因Android...

2019-07-02 18:28:02 179

原创 我曾最喜欢用的MVC----理解

MVC即Model-View-Controller。M:逻辑模型,V:视图模型,C:控制器。MVC模式下,系统框架的类库被划分为3种:模型(Model)、视图(View)、控制器(Controller)。模型对象负责建立数据结构和相应的行为操作处理。视图对象负责在屏幕上渲染出相应的图形信息展示给用户看。控制器对象负责截获用户的按键和屏幕触摸等事件,协调Model对象和View对象。用户与视图交...

2019-07-02 18:25:20 93

原创 面试总结之ok,retrofit,rxjava

Okhttp3原理为什么会选择okhttp3?1.支持http2,一台设备的所有请求共享一个socket连接2.内置连接池,支持连接复用,减少延迟3.支持透明的gzip压缩响应体数据4.通过缓存避免重复的请求5.请求失败时自动重试主机的其他ip,自动重定向6.api使用方便简单okhttp3实现原理:okhttp3的底层是socket,它是通过Platform的Class.for...

2019-07-02 11:59:48 4714

原创 Retrofit2

Retrofit21.Retrofit2概述1,Retrofit框架是Square公司出品的目前非常流行的网络框架.效率高,实现简单,运用注解和动态代理.极大简化了网络请求的繁琐步骤,非常适合REST ful网络请求.目前Retofit版本是22,Retrofit其实我们可以理解为OkHttp的加强版。它也是一个网络加载框架。底层是使用OKHttp封装的。准确来说,网络请求的工作...

2019-07-01 14:55:18 258

翻译 多线程,进程,线程之间的关系

我们在学习JAVA或者面试过程中,往往会碰到进程、 线程、线程池的之间的错综关系,下面我结合网上的资料和自己的理解,总结了三者的关系,从以下几个方面说起:1、进程、线程、线程池的概念 进程是一个动态的过程,是一个活动的实体。简单来说,一个应用程序的运行就可以被看做是一个进程,而线程,是运行中的实际的任务执行者。可以说,进程中包含了多个可以同时运行的线程。线程,程序执行流的最小执行单位,是...

2019-07-01 14:47:29 837

翻译 老生常谈的Handler源码解析,理解

Handler Looper MessageQueue 源码分析概述Handler是Android常用的线程间消息工具,下文对Handler,Looper,MessageQueue 涉及的代码做一个分析,以此加深Handler的消息模型的认识。LooperLooper主要是prepare()和loop()方法。prepare()为当前线程创建新的Looper对象,存储在ThreadLoc...

2019-07-01 14:31:08 152

翻译 时间复杂度和空间复杂度的简单讲解

一个算法的优劣主要从算法的执行时间和所需要占用的存储空间两个方面衡量。把今年很流行,淡淡的基佬紫送给各位看官,原谅绿就算了,怕被打死。文章最后,举例使用二分查找和斐波那契的递归和迭代方法,分别说明时间和空间复杂度。时间复杂度: 首先要说的是,时间复杂度的计算并不是计算程序具体运行的时间,而是算法执行语句的次数。 当我们面前有多个算法时,我们可以通过计算时间复杂度,判断出哪一个算法在具体执行时...

2019-07-01 14:13:34 287

原创 Activity的四种启动模式的使用场景及作用

standard默认模式,不用写配置,在这个情况下都会默认创建一个新的实例。因此,这种情况下,可以多个相同的实例。例如: 假如有一个Activity名为Q, 在activity中有一个按钮可跳转到Q。如果我点击按钮,便会新启一个Activity Q叠在刚才的W之上,再点击,又会再新启一个在它之上…… 点back键会依照栈顺序依次退出。singleTop有多个实例,但是不允许有多个Activ...

2019-07-01 14:08:11 699

原创 apk瘦身

res资源优化(1)只使用一套图片,使用高分辨率的图片。(2)UI设计在ps安装TinyPNG插件,对图片进行无损压缩。(3)svg图片:一些图片的描述,牺牲CPU的计算能力的,节省空间。使用的原则:简单的图标。(4)图片使用WebP(https://developers.google.com/speed/webp/)的格式(Facebook、腾讯、淘宝在用。)缺点:加载相比于PNG要慢很...

2019-07-01 14:02:26 104

原创 复习SQL语句

1.复习SQL语句(结构化查询语言)1.SQL语句分类DDL数据定义语言DML数据操作语言DCL数据控制语言DQL数据查询语言2.SQL语句1)库 create database aaa; //创建数据库 drop database aaa; //删除数据库 use aaa; //切换使用数据库 show databases; //显示数据库2)...

2019-06-03 16:05:13 205

翻译 畅聊 OkHttp

1、HTTP协议回顾:01HTTP协议概述WEB浏览器与WEB服务器之间的一问一答的交互过程必须遵循一定的规则,这个规则就是HTTP协议。02,HTTP是HyperText Transfer Protocol(超文本传输协议)它是TCP/IP协议的一个应用层协议,用于定义WEB浏览器与WEB服务器之间交换数据的过程及数据本身的格式。Http协议是一种应用层协议,它通过TCP实现了可靠...

2019-05-27 16:20:37 203

原创 Hander机制

Hander机制一.Handler 是什么?Handler 主要是用于异步消息处理,类似于辅助类,他封装了消息的投递 处理的接口,通常用来处理耗时较长的操作二.Handler的原理:handler中有四个重要的对象:Looper 它的内部包含了一个消息队列,也就是Messagequeue 所有的handler发送的消息都会进入这个消息队列Looper的loop方法 是一个死循环 ...

2019-05-26 17:48:58 321

原创 内存管理-----UI卡顿篇

首要声明:此文是本人在学Android自行总结的知识点,如果帮到你们我会很高兴。如果大佬们发现本文有错误的地方请指出,我会了解并进行改正。本文主要讲的是:内存管理-----UI卡顿篇。我是通过一下思路进行总结的: 1. 首先我们要知道为什么会出现卡顿? 2.再接着我们要知道是什么会引起卡顿? 3.当我们知道问题的所在之处后,我们应该了解怎样解决他。接触安卓的老铁们,一定大多都...

2019-05-24 15:49:00 307

空空如也

空空如也

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

TA关注的人

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