- 博客(64)
- 资源 (18)
- 收藏
- 关注
原创 Springboot 注解的区别
@Service用于标注业务层组件@Controller用于标注控制层组件(如struts中的action)@Repository用于标注数据访问组件,即DAO组件.@Component泛指组件,当组件不好归类的时候,可以使用这个注解进行标注。在2.5以前功能是等效的,但是随着发展注解之间的功能发生细化,具体特性请转至http://ifeve.com/spring-5-new/ 内容很详细例如:@Controller注解了一个类,那么Spring就会自动的去扫描它里面的@RequestMapp
2021-11-15 08:52:49 368
原创 java Redis 关于订阅的使用
代码实现 @OnOpen public void open(Session session, @PathParam(value = "liveid") String liveid, @PathParam(value = "userid") String userid, @PathParam(value = "name") String name) { this.session = session; logger.error("进入 " + userid); ...
2021-11-05 10:41:24 359
原创 mysql 的递归方法 查询pid为 5246
select ID ,name from ( select t1.ID,t1.PARENTID,name, if(find_in_set(PARENTID, @pids) > 0, @pids := concat(@pids, ',', ID), 0) as ischild from ( select t.ID,PARENTID,t.NAME as name from hn_cul...
2021-09-01 15:03:27 475
原创 兴趣使人本真的劳动
人生的意义究竟是什么,生活迫使每个人都在寻求,努力工作,不那么懒惰,改掉坏习惯,努力让自己变的更好等等...。 卢梭说,劳动是社会每个人不可避免的义务,按照他的观点,你为生活所做的改变,是应该的,都是为了获取更多的资源,更好的生活下去。 为了更好的生活,我们就尽量去做让感到愉快的事情,这样我们才活出本真,即使所做的改变也大多出自本心,更能让人或者自己接受。自然而然,我们在生活中就能获得更多快乐,当然,其中难免也有不如意,但相比较生活的苦,也就显的渺小了。 ...
2021-03-15 10:13:43 488 2
原创 OKHTTP 分析
OKHTTP 源码解读: 1.发送请求 请求发送到队列。队列分为两种 1.请求队列 2.等待队列。 2.请求处理 提交给线程池处理:execute()方法,进行服务器的访问,缓存拦截器, 3.请求维护 当一个请求被处理完以后,就会重新维护队列(将等待中队列中的数据提交给运行队列中,并提交给线程池)...
2020-08-27 17:34:27 120
原创 Android 各个版本的一些改变
Android 6.0 23 增加权限Android 7.0 手机访问增加权限Android 8.0 26 后台进程的改变(分包,热更新,热启动)Android 9.0 28 禁止http访问。android:usesCleartextTraffic 配置绕过这个问题Android 10.0 30 手机文件的一些改变。只提供一些固定的文件夹 ...
2020-08-18 10:17:12 223
原创 利用内存复用,图片分块加载 进行大图片的加载
package com.example.kotlindemoimport android.content.Contextimport android.graphics.*import android.view.GestureDetectorimport android.view.MotionEventimport android.view.Viewimport android.widget.Scrollerimport java.io.InputStream//自定义 View 绘制.
2020-08-12 14:39:39 1177
原创 为什么要查找oom
oom 是怎么造成的?1.图片加载的时候,使用内存过当:内存泄漏也会造成oom2.解决方法:使用工具检测oomUI 适配怎么做? 相对布局,jetpack,.根据不同的屏幕使用不同图片资源,autolayout,限定符,dp,ConstraintLayout,为什么做UI适配: 不适配,用户体验不好,影响用户使用 分机型: oppo,vivo,华为 系统方方正正的就是正常,不正常,水滴,刘海不按规则。...
2020-08-12 14:38:39 200
原创 存储解密和优化
存储解密和优化 1.文件存储 2.sp存储 3.ContentProvider 4.网络存储 5.SQLite存储 存储的方式选择: 数据量,数据结构,查询快慢 Ormlite LitePal GreenDao DBflow 数据库存储框架 框架实现原理: 1.关系映射型 ( 将mode 映射成表) 优点:方便快捷 缺点...
2020-08-12 10:29:41 113
原创 Android 插件化开发 代码范例
1.以下是加载插件的代码 ,package com.example.plugin_core;import android.content.Context;import android.content.Intent;import android.content.pm.ActivityInfo;import android.content.pm.PackageInfo;import android.content.pm.PackageManager;import android.con.
2020-08-12 10:12:52 252
原创 Android 优化
一.启动优化 1.主题不启用透明背景(不然会有透明卡顿),设置背景图。 2.Appllication 中起启动服务来启动优化,保证onCreate()方法快速启动: 3.尽量使用热启动和温启动(8.0之前应用保活,9.0统统枪毙),和手机厂商谈才能做到,以后就是用dex分包,插件化,热启动。Application启动 LuancherActivity 》 AMS(ActivityManganerServices) 》 Zy...
2020-07-20 17:20:21 327
原创 JAVA多并发的本质
Android 并发 通俗的解释:一次做两件事。优点: 提高资源利用率:当一个任务没有完全占用系统资源,可以利用并发来提供资源利用率,同时也能更快的完成任务。 程序更精简: 提高效率,逻辑有清晰 更好的相应程序:上传图片是,当界面还是正常运转没有卡死,图片也能正常上传,既保证界面被响应,有保证图片可以上传。缺点: 开线程需要占用更多资源 设计并发框架不容易 并发资源交互问题复杂...
2020-07-01 10:29:03 377
原创 Serializable 和 Parcelable 区别
序列化详细解释: 将对象排列成一组字节序列然后进行存储的过程反序列化详细解释: 将存储在内存或者硬盘的字节序列变成对象的过程Java对象与Java对象序列化的区别Java对象存在的前提必须在JVM运行期间存在,如果想在JVM非运行的情况下或者在其他机器JVM上获取指定Java对象,在现有Java对象的机制下都不可能完成。与Java对象不同的是,如果对Java对象执行序列化操作,因为原理是把Java对象信息保存到存储媒介,所以可以在以上Java...
2020-06-30 16:59:15 215
原创 Android 绘制引擎Skia(图片压缩) Futller和RN hbiry的原理
Skia图像处理引擎 绘制流程见下面图1 备注:fultter 基于Skia引擎进行开发 ,RN将内容转换成TextView等控件,最后有Skia引擎进行开发 Skia 引擎是基于JPEG 的封装 (JPEG 是最底层引擎,跨平台引擎) Skia 对Java调用很友好,但会损失性能,但JPEG 存在这种功能(微信压缩(哈夫曼算法进行压缩),使用的是JPEG的压缩引擎) ...
2020-06-30 16:39:20 667
原创 kotlin 的静态和单列模式
静态参考:https://www.jianshu.com/p/14db81e1576ahttps://www.jianshu.com/p/e8752c880088单列模式参考:https://www.jianshu.com/p/5797b3d0ebd0静态一、 object关键字object 关键字可以表达两种含义:一种是对象表达式,另一种是 对象声明。1、对象表达式继承一个匿名对象val textView = findViewById(R.id.tv)textView.setOnClic
2020-06-24 15:38:34 521
原创 获取通过反射获取泛型对象
public static <T> T injectT(Object object, int position){ try { return ((Class<T>) ((ParameterizedType) (object.getClass().getGenericSuperclass())).getActualTypeArguments...
2018-09-29 17:40:26 1348
原创 3des java php android IOS 统一的版本
http://blog.csdn.net/nicholas_nick/article/details/53420202
2018-03-09 11:42:00 164
原创 Android 用网络图片做帧动画
package com.zerofield.netanimation;import android.graphics.drawable.AnimationDrawable;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.widget.ImageView;im
2017-12-14 15:33:58 1144
原创 ViewPage 水平滑动加入刷新功能
package com.tuma.tutududu.story.module.music;import android.os.Bundle;import android.support.v4.view.ViewPager;import android.support.v7.app.AppCompatActivity;import android.view.View;import and
2017-11-15 15:08:24 240
原创 Android 背景图片轮播
package com.example.test;import android.animation.ValueAnimator;import android.annotation.TargetApi;import android.content.Context;import android.graphics.Canvas;import android.graphics.
2017-10-30 23:24:33 709
原创 Android 可滚动圆形进度条 滑块和进度在进度条上面跟着滚动
package com.example.test;import android.content.Context;import android.content.res.TypedArray;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Matrix;
2017-10-15 21:33:53 2689 1
原创 音频的一些词语解释
声音是由震动产生的,震动会使空气(介质)震动发出声音。空气的震动产生的播分为两种,横波和纵波: 入下图所示:产生播之后:有一些关键的名词解释如下: 频率:频率就是指1秒中通过的波形个数,具体什么波形没有规定,因此就数值而言,他们的频率一样。频谱中的频率就是周期的倒数。
2017-09-21 10:58:27 482
原创 Java 获取格林威志时间,和各个时间的关系
System.currentTimeMillis() //获取当前系统时区,1970年1月1日0点到当前时间的毫秒数Date that = new Date(); that.getTime();//跟System.currentTimeMillis()方法一样/** * V3.02 Activity Task * 获取格林威治当前时间 * * @param * @return
2017-09-14 17:26:07 1613
原创 选择图片上传,9张不一样的图片的删除和记录
package com.gotye.vshow.view;import android.content.Context;import android.graphics.Canvas;import android.graphics.Paint;import android.graphics.Paint.Style;import android.util.AttributeSet;im
2017-09-14 16:28:54 706
原创 Android XML 中schema和自定义属性的关系
在XML文件中,写标签的规则遵循schema规则,里面的标签遵循xml默认的名称空间,名称空间都绑定 .xsd文件,这些文件时xml文件的约束文件,当我们要自定义属性,在attr文件中进行声明,Android会自动为我们生成.xsd文件,而.xsd文件绑定的名称空间为项目的包名,而且在每一个标签下,只要是包名下名称空间的属性都能够编写,也就是自定义属性适用于每一个控件,这个是在写约束控件写法的.x
2017-08-29 23:39:48 978
原创 Android 抓取崩溃日志
package com.gotye.vshow.util;import android.os.Environment;import android.util.Log;import java.io.File;public class CrashApphandler extends CrashAppLog { public static CrashApphandler mCr
2017-07-18 14:44:09 478
原创 类似京东筛选 点击小按钮打对勾,没有点击取消
代码如下:package widgets;import com.sensu.automall.R;import com.sensu.automall.utils.MassageUtils;import android.content.Context;import android.content.res.Resources;import android.gra
2017-05-26 10:38:20 463
原创 Android Activity onPause ,onStop ,onDestroy方法不一定执行
由于机型的关系,当你直接从home界面杀死应用,Activity的onPause,onStop ,onDestroy方法可能不会执行,如三星有的手机就会直接杀死进程,导致onPause等方法不执行。
2017-05-01 21:55:19 5510
原创 AsyncHttpClient 提交数组和 提交 Map集合
提交数组形式:RequestParams rpParams=new RequestParams(); rpParams.put(“value[i]”, jsonArray.getString(i));以Map形式进行提交:RequestParams params = new RequestParams();params.put("p[name]", "111");p
2017-04-06 16:36:08 1474
原创 卡号显示 前4位和后四位显示,中间几位是*号 正则表达式
// {}里面的数字可以用来指定前后缀的长度 String regex = "(\\w{4})(.*)(\\w{4})"; Matcher m = Pattern.compile(regex).matcher(str); if (m.find()) { String rep = m.group(2);
2017-03-29 13:39:18 7946
原创 getMeasuredWidth()和getWidth() 的区别
getMeasuredWidth() 和 getWidth()方法的区别,getMeasurewidth(),测量宽度,通过Onmeasure测量出来的宽度,而getWidth() 是通过onLayout计算出来,子View在父View中真正显示的宽度, 高度也是一样getMeasureHeight()和getHeight()
2017-02-24 18:49:11 371
原创 EX6 笔记 1
第一天1.let 命令 作用:声明变量,只在let命令所在的代码块内部有效列:{var a=100;let b=200; 作用效果只限于 代码块之内}console.log(a);//100console.log(b);//b is not defied --Error let 不存在变量提升ES5写法:cons
2017-02-21 17:27:02 459
原创 APP 启动白屏 解决 4.4 onstart 不运行 的问题
以上 可以了,网上 还有设置windowIsTranslucent 为true ,入下:但是 第二种方式 在4.4系统一下 运行,onReast方法不执行。 第一种方式要注意,这样相当于每个界面Window设置了Backgroung, 所以你要单独 设置Activity的Theme
2017-01-17 15:49:59 380
原创 Android for循环请求如何得到顺序的结果
1.可以采用方法,代码如下: 以上方法是运用纯Java 来运行线程得到 返回的结果,运用的Java 面向对象的原理:方法带着参数走,
2017-01-13 18:04:07 3687
原创 浅谈对各种途径npm镜像的理解
相信大家都知道有各种npm 镜像,官方npm镜像,淘宝npm 镜像等。但是有一点不明白的是,各种镜像的区别到底在哪里,我们知道npm工具是我们安装了Node.js时自带的一个工具,使用了管理Node.js代码的,用Note.js搭建一个服务器之后,其中肯定都知道Note.js支持在线编译,而编译器就相当于npm服务器上的代码,npm服务器上的代码可能会时时有更新,所以在Note.js中会下载npm
2016-12-30 16:52:16 863
转载 关于PopupWindow的showAsDropDown()和showAtLocation()使用方式,popupWindow的各种弹出
package com.example.lainanzhou.popupwindoewlocation;import android.app.Activity;import android.graphics.drawable.BitmapDrawable;import android.os.Bundle;import android.util.Log;import android.vi
2016-12-15 14:21:38 1325
原创 Shape 画角的原理图
1.shape 画圆角的 原理, 在做角平分线之后,然后让角平分线 上选择所设定的角度 进行画弧,画出来的弧度 就是 我们所看到的角度,所以说,我们画弧度,只有当时正方形,画90度时才会 是圆。才能画出圆 如下图:
2016-12-15 09:17:05 535
sim driver 手机SIM驱动
2020-11-27
Android 录音将pcm转mp3
2017-09-20
PullToRefreshGridView添加头部, GridView添加头部head,下拉刷新上拉加载的girdView,listView
2016-04-18
仿DrawerLayout右侧滑,主布局和侧滑布局能同时操作
2016-03-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人