自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

李海明的博客

为了梦想而飞,不枉此生。

  • 博客(142)
  • 资源 (5)
  • 收藏
  • 关注

原创 Android 处理webView输入框遮挡软件盘问题

package com.neusoft.si.j2jlib.wrapper;import android.app.Activity;import android.graphics.Rect;import android.os.Build;import android.view.View;import android.view.ViewTreeObserver;import android.widget.FrameLayout;/** * 用于解决全屏时,Activity设置了adjus.

2020-11-29 15:19:02 9

原创 Android 解决红米等部分手机Toast默认显示应用名称问题,去掉应用名称

最近遇见一个奇葩的问题,就是部分手机例如红米手机会出现Toast默认在文字前面加上应用名称最后通过自定义Toast解决了这个问题。<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <solid android:color="#cc000000"

2020-11-26 20:42:16

原创 Installation did not succeed. The application could not be installed莫名其妙的问题解决

android.injected.testOnly=false在gradle.properties中添加上就可以了。

2020-11-23 15:44:11 95

原创 Android kotlin MVVM项目打造系列一

最近系统的重新梳理了一遍kotlin,打算利用业余时间搞一个kotlin版本的MVVM项目玩一玩,在github上下载了https://github.com/hegaojian/JetpackMvvm这个项目,看了两个星期,但是感觉光看是不行的。首先先把用到的库进行以下关联plugins { id 'com.android.application' id 'kotlin-android' id 'kotlin-android-extensions'}android {

2020-11-21 17:32:53 27

原创 java笔记

抽象类和接口抽象类不能有对象,不能通过new关键字来创建抽象类的对象抽象类中的抽象方法必须在子类中被重写,否则子类也是抽象的,抽象类可以有不是抽象的方法接口中的所有属性以及方法默认为:public static final 修饰的抽象类与接口的区别就是抽象类可以有实现的方法,而接口中没有java中的集合框架主要包含了两大类Collection mapCollection中包含了List与set集合list接口存储一组不唯一,也就是可以有重复的元素,有序的对象,Set接口存储.

2020-11-04 19:54:44 14

原创 java总结之String异常内部类

1、String StringBuffer StringBuilder的区别String是final类,不能被继承重写。对于已存在的String对象,修改它的值,就是重新创建一个对象。StringBuffer是一个类似于String的字符串缓冲区,使用append()方法修改字符值,使用toString方法转换为字符串,并且是线程安全的。StringBuilder是非线程安全的,速度更快。跟StringBuffer相同2、异常处理Exception、Error是Throwable类的子类

2020-11-03 06:49:24 12

原创 Android 遇见web地址带有空格去掉空格

1、StringBuffer str = new StringBuffer("https://www. baidu.com"); str.toString().replaceAll(" ","");2、str.replaceAll(" ","")

2020-11-02 15:20:46 10

原创 java Object static final总结

1、Object中的equals方法是对两个对象的地址值进行的比较(即比较引用是否相同),String类重写了equals方法,能够判断两个字符串包含的内容是否相同。public boolean equals(Object obj){ return (this == obj);}2、hashCode方法给对象返回一个hashcode值。这个方法被用于hashtables,例如常用的hashMap它的性质是:在一个Java应用的执行期间,如果一个对象提供给equals做比较的信息没有被

2020-10-31 08:42:28 33 4

原创 Android dataSotre初次尝试

这个库是google最近出的,用来替代sp,今天出差回来尝试一下。1、添加依赖包 // Preferences DataStore implementation "androidx.datastore:datastore-preferences:1.0.0-alpha02"//datastore // Proto DataStore implementation "androidx.datastore:datastore-core:1.0.0-alpha02" i

2020-10-30 16:31:21 127

原创 flutter总结

1、StatelessWidget和StatefulWidget区别StatelessWidget和StatefulWidget是flutter的基础组件,日常开发中自定义Widget都是选择继承这两者之一。两者的区别在于状态的改变,StatelessWidget面向那些始终不变的UI控件,比如标题栏中的标题;而StatefulWidget则是面向可能会改变UI状态的控件,比如有点击反馈的按钮。StatelessWidget就没什么好研究的了,StatefulWidget的创建需要指定一个Sta

2020-10-28 11:24:05 9

原创 Android activity知识总结

生命周期onCreate onStart onResume onPause onStop onDestoryA启动BA onPause B onCreate onStart onResume A onStop 如果B是透明的A是可见的则不会回调A的onStop如何保存数据,恢复数据在acivity中有一个方法是onSaveInstanceState的方法,通过key-value的形式保存数据,再次回到activity中调用onRestoreInstanceState通过key取出valu

2020-10-26 20:54:14 20

原创 java 垃圾收集器

1、CMS收集器CMS Concurren Mark Sweep 收集器是一种以获取最短回收停顿时间为目标的收集器。目前很大一部分的java应用都集中在互联网站或B/S系统的服务端上,这类应用尤其重视服务的响应速度,希望系统停顿时间最短,以给用户带来较好的体验。从名字上就可以看出是标记清除算法实现的,他的过程更复杂一些,包括四个步骤,初始标记,并发表弟,重新标记,并发清除,其中初始标记、重新标记这两个步骤任然需要Stop The World。初始标记仅仅只是标记一下GC Roots能直接关联到的对.

2020-10-25 16:56:27 12

原创 java 垃圾回收Gc算法粗略总结

java gc的存活判断引用计数每个对象有一个引用计数属性,新增一个引用时计数加1,引用释放时计数减1,计数为0时可以回收。此方法简单,无法解决对象相互循环引用的问题。可达性分析从Gc Roots开始向下搜索,搜索所走过的路径称为应用链相连时,则证明此对象是不可用的。不可达对象。在Java余元中,GC Roots包括:vm栈中引用的对象,方法区中类静态属性实体引用的对象,方法区中常量引用的对象。本地方法栈中JNI引用的对象。垃圾收集算法1、标记清除算法。就是先标记出可回收的对象,

2020-10-24 09:12:57 22

原创 java总结JVM

1、java jvm工作流程java源代码文件也就是.java文件通过java Compliler java编译器,执行为.class文件也就是java字节码文件,.class文件通过类加载器通过执行引擎去执行程序,还有就是通过类加载器把.class文件执行到运行时数据区,在通过执行引擎去执行程序。运行时数据区包含:程序计数器,java虚拟机栈,本地方法栈,java堆,方法区程序计数器就是每条线程都需要有一个程序计数器,计数器记录的是正在执行的指令地址,如果正在执行的是Native方法,这个计数

2020-10-23 09:33:44 17

原创 Android kotlin开发项目MVP架构搭建

1、引入需要的网络库 implementation 'com.squareup.retrofit2:retrofit:2.7.1' implementation 'com.squareup.retrofit2:converter-gson:2.7.1' implementation 'com.jakewharton.retrofit:retrofit2-kotlin-coroutines-adapter:0.9.2' implementation 'com.squareu

2020-10-02 10:25:59 75

原创 Android引包出现Duplicate class com.xxx.xxx found in modules错误

其实就是依赖的包版本不一样,产生了冲突,把所有依赖的库改成版本一致的就可以了。

2020-08-27 15:02:20 2575

转载 Android 随机生成验证码的bitmap

import android.graphics.Bitmap;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import java.util.Random;public class Code { //随机数数组 private static final char[] CHARS = { '0','1','2', '..

2020-07-23 15:42:14 53

原创 Android retrofit网络交互在后台返回的response中取出Set-Cookie的值

1、需求,服务器返回的是文件流,服务器把标识放在了response的header中,由于用的网络框架是retrofit,该如何取出Set-Cookie的值呢?Call<ResponseBody> verCode = inf.getVerCode(); verCode.enqueue(new Callback<ResponseBody>() { @Override public void onResponse(Cal

2020-07-23 15:30:32 286

转载 文件存储与数据库存储

在大多数企业开发或Web开发中,都会涉及数据的存储和检索。存储数据有两种基本的方法:保存到普通文件中(File System),或者保存到数据库(Database)中。文件存储常见,并且简单,操作系统提供的完善的API,所以在早期项目中都会使用文件作存储载体。但是随着企业业务越来越复杂,网站访问量也越来越大时,对数据的并发性和检索速度有更高的要求。所以慢慢的也就引入使用数据库作为数据存储了。使用普通文件的遇到的问题:当文件变大时,使用普通文件将会变得非常慢,访问速度制约了应用性能 ..

2020-07-10 14:17:18 72

转载 Android 为什么主线程的looper 一直循环不会ANR

阅读此文需要对handler原理有一定的了解程度。Handler 原理和源码首先贴出来两个知识点。第一 java线程可以休眠第二Android只有主线程可以更新UI有人觉得这是傻子都知道的知识,那接下来说傻子可能不知道的知识直接叙述所有java的入口都是main方法 由虚拟机调用,Android 的也不例外,刚开始学习那会根本没研究Android 从哪里开始执行的,现在我知道了告诉那些不知道的同学,不是从application。直接看源码ActivityThread看到.

2020-06-06 14:15:15 93

原创 Android anr应用无响应的问题

Waiting because no window has focus but there is a focused application that may eventually add a window when it finishes starting up.记得申请权限,读写等权限,就ok了。真的折磨人呢。...

2020-05-08 17:24:45 101

原创 Android 关于网络图片加载不出来的问题

最近遇见一个问题,就是用Glide加载图片怎么也不显示,后来换了框架,但是还是加载不出来。网络权限加了,能检查检查的都检查了图片地址在浏览器能打开,说明地址没问题最后换了个手机8.0的,能加载出来,说明是手机版本的问题,9.0以上就不支持http地址的图片了在Application加上这行,清单文件中android:usesCleartextTraffic="true"就...

2019-11-13 09:02:08 1004 2

原创 Android scrollview嵌套recycleView刷新adapter位置跳的问题

1、在recycleView加上属性,这种解决方案简单暴力但是如果你该页面有想要操作的,输入框之类的就不行了。android:descendantFocusability="blocksDescendants"2、解决办法,手动设置自动获取焦点的控件失去焦点,就不会位置就不会跳到获取焦点的位置了。...

2019-11-07 11:12:52 172

原创 华为方舟编译器开源了,官方文档也出来了

地址https://www.openarkcompiler.cn/document/principle

2019-09-03 11:16:50 1806

原创 Android 热修复(腾讯bugly)

腾讯bugly集成指南1、在build.gradle中添加依赖dependencies { classpath 'com.android.tools.build:gradle:3.2.0' classpath 'com.vanniktech:gradle-android-junit-jacoco-plugin:0.6.0' classpat...

2019-08-29 15:02:29 133

原创 Android 阿里云推送集成指南

一、注册阿里云开发者账号,创建应用获取Appkey以及AppSecrent二、在AndroidMainifest添加权限,还有一些其他权限(基本上你自己的项目已经写了,我就不贴了)<uses-permission android:name="android.permission.WRITE_SETTINGS"tools:ignore="ProtectedPermissions"...

2019-08-23 15:12:04 1302

原创 Android 自定义View 自定义组合控件

近来公司项目不是很急,空闲时间比较多,抽空来复习一下,自定义View,先来一个大家都能用的上还比较简单的。每个项目页面都有数据控制展示不同的页面,例如加载前,加载失败,网络链接问题。下面直接上代码了。很简单,大家直接改吧改吧就直接能用到自己的项目中了。package com.example.rechpush;import android.content.Context;import...

2019-08-09 10:42:10 80

原创 Android关于recyclerview setVisibility的VISIBLE不展示的问题

开发项目遇见一个奇葩的问题,就是控制两个recyclerview显示隐藏。当点击一个显示隐藏recyclerview的时候,第一个是没有问题的,但是点击第二个就会出现问题,并且已经打印log,已经是展示隐藏了。如果先点击第二个,所有的显示隐藏是没有问题的。很棘手。最后在第二个显示的时候加了一行这个代码成功解决。rv_vehicle_enegy.requestLayout();...

2019-07-26 11:32:42 969

原创 Android studio Could not resolve all files for configuration ':app:debugCompileClasspath'.等

repositories { google() jcenter() maven{ url 'https://maven.aliyun.com/repository/google'} } repositories { google() jcenter() maven { url "htt...

2019-06-25 10:43:25 7158 4

原创 Android 沉浸式状态栏跟虚拟按键冲突问题 隐藏虚拟按键

1、沉浸式状态栏 View decorView = getWindow().getDecorView(); decorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_STABLE); getWindow().setSta...

2019-05-24 11:27:04 529

原创 Android 疑难杂症之Execution failed for task ':app:transformDexArchiveWithExternalLibsDexMergerForDebug'.

Android studio突然出现这个问题AGPBI: {"kind":"error","text":"Program type already present: android.support.v4.app.FragmentTransitionCompat21$4","sources":[{}],"tool":"D8"}:app:transformDexArchiveWithExter...

2019-05-16 15:13:07 5685 2

原创 Invoke-customs are only supported starting with Android O (--min-api 26)

1.添加上这一行就行了 compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 }2.但是又报错了,我也是醉了。Installation failed with message Inva...

2019-04-11 09:27:04 450

原创 AndroidStudio报错Manifest merger failed : Attribute application@appComponentFactory

<application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:appComponentFactory="" tools:replace="an...

2019-04-09 16:54:00 855

转载 Android http 网络框架对比

一:HTTP,TCP,UDP,Socket1、TCP HTTP UDP三者的关系2、TCP简介和特点2、TCP简介和特点3、UDP简介和特点4、HTTP简介和特点5、Socket简介和优缺点...

2019-03-20 10:49:18 2575

转载 Android xml pull解析与sax解析的区别

如果在一个XML文档中我们只需要前面一部分数据,但是使用SAX方式或DOM方式会对整个文档进行解析,尽管XML文档中后面的大部分数据我们其实都不需要解析,因此这样实际上就浪费了处理资源。使用PULL方式正合适。Pull解析器和SAX解析器虽有区别但也有相似性。他们的区别为:SAX解析器的工作方式是自动将事件推入注册的事件处理器进行处理,因此你不能控制事件的处理主动结束;而Pull解析器...

2019-03-20 10:45:07 172

原创 微信小程序iphonex适配

微信小程序iphonex适配主要体现在就是背景图片可能无法充满全屏,但是在其他手机上没问题或者已经能够滑动了,但是在iphonex上会有问题,主要是适配方式就是判断是否是iphonex然后进行样式的切换就ok了。onLoad: function (options) { var that = this wx.getSystemInfo({ success: func...

2019-03-12 15:09:47 1168

原创 微信小程序大转盘抽奖

1、样式page { width: 100%; height: 100%;}.container { z-index: 1; padding-top: 220rpx; padding-bottom: 20rpx; box-sizing: border-box; height: 100%; }.plate-wrap-box { positio...

2019-03-01 10:16:38 1918 1

原创 安装mysql修改root密码出现1064(42000)错误

错误:mysql&gt; set password = password('新密码')ERROR 1064 (42000): You have ancorresponds to your MySQL serverord(`lihaiming1992`)' at line 1 1、解决方式:SET PASSWORD = '123456'2、解决方式:ALTER USER '...

2019-02-15 10:21:28 9964 5

原创 微信小程序加减颜色不同效果的实现(积分加减记录颜色改变,或者其他类似效果)

&lt;view class='list' wx:for="{{detaillist}}" wx:for-item="item"&gt; &lt;view&gt; &lt;view class="title"&gt;{{item.title}}&lt;/view&gt; &lt;view class="time

2019-01-24 15:45:23 382 2

原创 微信小程序之收藏view背景色以及文字状态的改变

上代码&lt;view class="detail-shoucang" style="background-color:{{BgColor}}" bindtap='shoucang'&gt;&lt;text class="detail-shoucang.text"&gt;{{shoucang}}&lt;/text&gt;&lt;/view&gt; &lt;/view&

2019-01-18 09:50:11 4291

android glide

glide最基本的用法,对于小白了解glide的用法最为合适。

2017-02-05

android三级联动地址选择

android收货地址选择的demo

2016-09-20

Volley简单封装

主要有VOlley的二次封装,以及post请求实例,get请求大家应该都会了,还有通过tag绑定生命周期

2016-09-13

Volley网络图片加载

主要对Volley加载图片,NetworkImageView加载图片的两种方式

2016-09-12

AIDLService,远程调用例子。包括服务端与客户端两个工程文件

AIDLService,远程调用例子。包括服务端与客户端两个工程文件

2015-10-19

空空如也

空空如也

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

TA关注的人 TA的粉丝

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