- 博客(88)
- 资源 (26)
- 收藏
- 关注

原创 Android 开源项目Kotlin+MVP+Retofit2+RxJava2架构开发一款短视频App
KotlinMvp GitHub地址:https://github.com/git-xuhao/KotlinMvp(开源不易,喜欢的话希望给个 Star 或者 Fork,谢谢!)《KotlinMvp》 是仿着“开眼Eyepetizer”之前版本并加上自己的想法,开发的一款的短视频小应用,每日为你推荐精选视频,让你大开眼界。本项目采用 Kotlin 语言编写,结合 MVP+R
2017-12-10 22:25:46
5312
1
原创 JSP 页面的9个隐式对象
JSP 隐式对象JSP隐式对象是JSP容器为每个页面提供的Java对象,开发者可以直接使用它们而不用显式声明。JSP隐式对象也被称为预定义变量。JSP所支持的九大隐式对象:①. request: HttpServletRequest 的一个对象.②. response: HttpServletResponse 的一个对象(在 JSP 页面中几乎不会调用 response 的任何方法.)③...
2019-01-30 11:01:40
1077
原创 Glide 加载刷新闪动,自定义Transformations 必须实现的方法
前言我们使用Glide加载图片,使用自定义对Transformations 转换器的时候,都忽略了定制变换必须实现的方法: updateDiskCacheKey equals() / hashCode()!官网这么说明的:为了让内存缓存正常地工作你是否必须实现 equals() 和 hashCode() 方法。很不幸,即使你没有复写这两个方法,BitmapTransformatio...
2018-12-25 11:35:01
4297
1
原创 复杂度分析(上):如何分析、统计算法的执行效率和资源消耗?
Tip:各平台的 markdown 解析标准不同,会有些数学符号无法识别,比如^n^: 表示n次方,~y~: 表示y 的底数。什么是复杂度分析?算法复杂度是指算法在编写成可执行程序后,运行时所需要的资源,资源包括时间资源和内存资源。为什么需要复杂度分析?首先任何一个程序最重要是准确性,即要确保程序能正常运行,实现预期功能。但是,任何一个有价值的程序除了确保能正常运行,还要确保尽量短的运行...
2018-10-10 17:40:45
1839
原创 RecyclerView 滑动到指定位置的终极方案
最近有个奇葩需求,顶部有可以切换的 TabLayout,原本下面用 ViewPager 实现,可以左右滑动,后来说需求根据用户切换 Tab 定位到相应的位置,(个人感觉体验不是很好,用户还得用手去点tab),无奈只好改了,我记RecyclerView 有个smoothScrollToPosition(position) 可以实现定位功能,我加了上去之后效果非常差,有时候还不滚动,后来查了一些资料,...
2018-06-28 10:45:28
31824
10
原创 Glide 加载圆角图片,解决多次刷新周围出现黑边问题
现象:使用 Glide 自带的.transform(new RoundedCorners(15)).into(iv);去加载圆角图片,并且设置了占位图,第一次加载并没有什么问题,当多次下拉刷新时,就会出现圆角周围出现黑边的现象,Glide 加载代码: /** * 加载圆角图片 * * @param context context ...
2018-06-28 09:35:44
4014
3
原创 React 快速入门
什么是React?React 是一个用于构建用户界面的 JAVASCRIPT 库。React主要用于构建UI,很多人认为 React 是 MVC 中的 V(视图)。React 起源于 Facebook 的内部项目,用来架设 Instagram 的网站,并于 2013 年 5 月开源。React 拥有较高的性能,代码逻辑非常简单,越来越多的人已开始关注和使用它。既可以开发浏览器应用,又
2017-04-07 14:29:39
928
原创 Git删除远程Tag、分支
删除远程Tag 显示本地 taggit tag Remote_Systems_Operation删除本地taggit tag -d Remote_Systems_Operation 用push, 删除远程taggit push origin :refs/tags/Remote_Systems_Operation
2017-03-17 14:19:44
34509
原创 ES6简介及Windows 环境搭建
JavaScript的历史诞生JavaScript诞生于1995年。起初它的主要目的是处理以前由服务器端负责的一些表单验证。时走在技术革新最前沿的Netscape(网景)公司,决定着手开发一种客户端语言,用来处理这种装简单的验证。当时就职于Netscape公司的布兰登·艾奇开始着手计划将1995年2月发布的LiveScript同时在浏览器和服务器中使用。Javascript于Java的关系为了赶在发
2017-03-14 12:21:07
6781
转载 Java泛型详解,通俗易懂只需5分钟
原文:http://www.weixueyuan.net/view/6321.html(整理成MarkDown格式,重温下Java基础)我们知道,使用变量之前要定义,定义一个变量时必须要指明它的数据类型,什么样的数据类型赋给什么样的值。假如我们现在要定义一个类来表示坐标,要求坐标的数据类型可以是整数、小数和字符串,例如:x = 10、y = 10x = 12.88、y = 129.65x =
2017-03-07 15:30:39
825
原创 Android 系统锁屏实现固件升级动画
前言在Android的开发过程中,有时候会有一些需求,实现一个类似锁屏的功能,我们经常会使用的一些悬浮窗效果或者弹出界面霸占整个手机屏幕,禁止用户交互,比如:手机的虚拟导航菜单屏蔽掉,状态栏禁止下拉或隐藏,原因就是用户可以借助下拉状态栏跳出程序回到桌面,如何屏蔽虚拟导航菜单栏和禁止下拉状态栏呢?Android 没有提供API 让我们来调用,只有查看源码, 利用Java 的反射机制来屏蔽,结果效果不怎
2017-02-28 13:17:25
1936
原创 git warning: LF will be replaced by CRLF in 解决办法
windows中的换行符为 CRLF, 而在Linux下的换行符为LF,所以在执行add . 时出现提示,git warning: LF will be replaced by CRLF in 解决办法:$ rm -rf .git // 删除.git $ git config --global core.autocrlf false //禁用自动转换 然后重新执行:$ git init
2017-02-23 12:12:34
4516
原创 金融行业密钥体系相关知识及原理介绍
前言好久没更新博客了,最起码有一两个月了,前段时间一直在忙(其实是借口),在去年年底有幸接触了一些金融支付的一些东西,看了一些POS 应用银联规范文档,非常多,还不容易理解~,索性今天有空,就整理下前段时间接触的知识(POS 终端银联支付密钥体系)。终端密钥体系参照中国银联的密钥安全标准,各密钥长度至少 128bit。上层密钥提供对下层密钥的保护或维护。所有的密钥或数据保护都采用3DES。 TMK
2017-02-17 12:13:26
10583
原创 Android 开发者福利Google Developers中国网站发布
今天一早就听到各大QQ群,好友说Google 发布中国站点了,迫不及待的查看了究竟。 摘自原文 谷歌开发者公众号我们很高兴地宣布,Google Developers 中国网站 (developers.google.cn) 正式发布!谷歌自带中文翻译,让我们广大开发者学习和阅读更加容易,我们所期待的终于来了!我们很高兴地宣布,Google Deve
2016-12-08 11:23:35
18829
转载 Android 动态加载技术简单易懂的介绍方式
基本信息 Author:kaedeaGitHub:android-dynamical-loading我们很早开始就在Android项目中采用了动态加载技术,主要目的是为了达到让用户不用重新安装APK就能升级应用的功能,这样一来不但可以大大提高应用新版本的覆盖率,也减少了服务器对旧版本接口兼容的压力,同时如果也可以快速修复一些线上的BUG。这种技术并不是常
2016-12-07 22:43:56
1209
原创 Android 统计apk中方法的数量
大家都知道Android有65535方法数的问题,那我们有什么办法能查看我们App的这个值已经有多少了呢?这里利用一个jar来查看点击下载工具如何使用?把下载下来的jar放到一个目录,比如我放在桌面上,使用以下命令:# cd Desktop//在执行以下命令# java -jar C:\Users\uuxuh\Desktop\dex-method-counts.jar C:\Users\uuxu
2016-11-30 12:44:36
2028
原创 Android 连接wifi 检测是否需要portal 认证
前言最近在做一个新需求,就是针对开机欢迎引导页,当连接如星巴克,KFC,地铁上等公共场所的WIFI时,都需要认证功能,而我要调起这个认证页面呈现给用户,登陆任何网页会跳转到wifi得认证页面,输入账号密码,点击验证,能够验证wifi,并保证手机网络能正常使用。某些手机管家软件在手机连接上CMCC等wifi时,会弹出通知栏提示跳转到webview去进行portal验证。而我由于各种限制原因,并不
2016-11-09 10:49:17
12453
1
原创 java 中的sleep()和wait() 等的区别和详解
1、sleep() 使当前线程(即调用该方法的线程)暂停执行一段时间,让其他线程有机会继续执行,但它并不释放对象锁。也就是说如果有synchronized同步快,其他线程仍然不能访问共享数据。注意该方法要捕捉异常。 例如有两个线程同时执行(没有synchronized)一个线程优先级为MAX_PRIORITY,另一个为MIN_PRIORITY,如果没有Sleep()方法,只有高优先级的线程执行完
2016-11-08 22:48:36
5784
原创 Android L SIM卡自适应更新语言的问题
前言每次到发布UAT和Release 版本的时候,不同的组件总是出现各种问题,在测试中版本中就没有测试出来,就在今天发布Global(海外)版的时候遇到了一个之前并没发现的问题,就是刷机的rom版本是Global版的,默认的系统语言是英文版的。当刷完机,插上大陆的SIM 卡,第一次开机时候,语言启动切换到中文了,由于之前也没这方面经验,对这并不清楚,然后就当BUG 让我修改,后来在网上查了下资料,才
2016-11-01 00:42:13
2509
翻译 Android NDK 开发(五)AndroidStudio 2.2 NDK的开发环境搭建
前言之前一直在用Eclipse 做开发,直到今年年初才将项目迁移到Google 推荐的AndroidStudio上面,毕竟这是一个趋势,可谁知道事情根本没有我想的那么简单,这期间遇到了N多坑,我想这些坑可能大家也有可能遇到,不在这里详细叙述。最终一个个问题的去解决,走完了这些坑,觉得还挺好用的,Eclipse 是一个吃内存的IDE,反正我每次打开,编写代码的时候就会卡,有时候还是死掉,已无力吐糟~~
2016-10-25 14:40:55
11727
原创 Git 本地提交未Push 自动切到其他版本的解决姿势
原文链接请标明: http://blog.youkuaiyun.com/u011974987/article/details/52709642 本文出自:【stromxu的博客】 欢迎访问我的博客,添加点儿人气~~Xuhao’s Blog现象描述: 我在现有的分支上进行修改代码,使用git提交本地代码后,SourceTree上面没有记录,我就纳闷了,我原本以为我提交到其他项目了,仔细查看了几个
2016-10-24 18:05:17
2511
原创 Android 中取得当前时区(以GMT形式)和语言
国际化需求,要访问当地的时区和语言,作为参数上传服务器处理一些业务,Android手机中如果想以GMT形式(GMT+08:00)得到当前时区,如下的工具类做个记录:/** * 时区语言工具类 * @author Xiho * */public class I18NUtils { /** * 获取当前时区 * @return */ public
2016-10-19 11:42:31
18038
原创 Android NDK 开发(四)JNI 中局部引用、全局引用和弱全局引用
前言 做过Java的朋友都知道,内存管理这一块是完全透明的,new一个类的实例时,只知道创建完这个类的实例后,会返回这个实例的一个引用,然后拿着这个引用去访问它的成员了(属性、方法),完全不用管JVM内部怎么实现的,如何为新建的对象申请内存,使用完之后如何释放内存,只需要知道有个垃圾回收器在处理这些事情就行了,然而,从Java虚拟机创建的对象传到C/C++代码时会产生引用,根据Java的垃圾回
2016-10-18 14:54:38
2121
原创 Android NDK 开发(三)JNI 调用Java属性和方法
前言native方法虽然是native的,但毕竟是方法,那么就应该同其他方法一样,能够访问类的属性和方法。实际上,JNI的确可以做到这一点,我们通过几个例子来说明~原文链接请标明: http://blog.youkuaiyun.com/u011974987/article/details/52709642 本文出自:【stromxu的博客】正文继 Android NDK 开发(二)J
2016-10-06 21:45:46
11153
1
原创 Android NDK 开发(二)JNI 传递参数和返回值
前言我们在使用 JNI 时最常问到的是 JAVA 和 C/C++之间如何传递数据,以及数据类型之间如何 互相映射。我们从整数等基本类型和数组、字符串等普通的对象类型开始讲述。至于如何传递任意对象,将在后面会更新。原文链接请标明: http://blog.youkuaiyun.com/u011974987/article/details/52743495 本文出自:【stromxu的博客】正文继JNI简介及
2016-10-06 20:06:41
25853
原创 【Linux 系统编程】shell 脚本基础学习之函数(五)
前言Linux shell脚本基础学习我们这里就差不多讲完了,函数相信大家都不陌生吧,直接入正题吧~原文链接请标明: http://blog.youkuaiyun.com/u011974987/article/details/52718164 本文出自:【stromxu的博客】正文继上篇博客之后shell 函数Linux shell 可以用户定义函数,然后在shell脚本中可以随便调用。
2016-10-01 18:09:56
1154
原创 【Linux 系统编程】shell 输入/输出重定向(四)
前言原本计划国庆节第一天假期休息一天,但是想想自己还有很多事情没有完成,就立马打开电脑,开始干活了。打算这7天的假期好好整理下之前学的技术和巩固练习,充实每一天,好了入正题,Linux shell脚本基础前面我们在介绍Linux shell脚本的控制流程时,
2016-10-01 15:51:28
8509
原创 【Linux 系统编程】shell 流程控制Loop和引号(三)
前言Linux shell 脚本基础学习第三篇; 上一篇Liunx shell 脚本基础学习中,我们讲到了Linux shell 脚本中控制流程的if、select、case,这里接着介绍Linux shell 脚本控制流程的loop和引导,控制流程这部分内容较多,还有一部分是关于here document。
2016-09-30 14:32:59
3002
原创 【Linux 系统编程】shell 命令和流程控制(二)
原文链接请标明: http://blog.youkuaiyun.com/u011974987/article/details/52588194 本文出自:【stromxu的博客】前言Linxu shell 脚本基础这里介绍到第二篇,详细介绍shell 命令和流程控制,这部分介绍三类命令,在学习时大家应该加以比较学习。 Linux shell脚本基础课程前面一篇介绍的都是语法基础的开头、注释、变量和 环境
2016-09-29 16:42:45
1868
原创 【Linux 系统编程】shell 脚本基础学习(一)
转载请标明出处: http://blog.youkuaiyun.com/u011974987/article/details/52702734 本文出自:【stromxu的博客】前言Linux shell 脚本基础我们将分几篇文章来记录,希望对我们这些初次接触Linxu shell脚本编程的初学者有帮助; Linxu shell 脚本基础学习先来介绍shell的语法,开头、注释、变量和环境,虽然不涉及到
2016-09-29 16:05:43
1398
原创 【Linux 系统编程】vim 的安装配置及使用
转载请标明出处: http://blog.youkuaiyun.com/u011974987/article/details/52700549 本文出自:【stromxu的博客】前言Learn vim and it will be your last text editor. There isn’t any better text editor that I know of. It is hard to
2016-09-29 12:22:40
2211
原创 【Linux 系统编程】常用的一些基本命令
转载请标明出处: http://blog.youkuaiyun.com/u011974987/article/details/52695647 本文出自:【stromxu的博客】前言Linux提供了大量的命令,利用它可以有效地完成大量的工作,如磁盘操作、文件存取、目录操作、进程管理、文件权限设定等。所以,在Linux系统上工作离不开使用系统提供的命令。要想真正理解Linux系统,就必须从Linux命令学起
2016-09-29 12:17:02
3671
原创 Android NDK 开发(一)JNI简介及调用流程
转载请标明出处: http://blog.youkuaiyun.com/u011974987/article/details/52602913 本文出自:【stromxu的博客】前言前段时间学习了C、C++的一些基础知识后,了解了它们的编码风格,要想掌握NDK开发,前提是会使用JNI,下面我们开始简单的介绍吧!JNI简介 JNI全称是Java Native Interface(Java本地接口),本
2016-09-21 01:36:13
10186
1
原创 【Linux 系统编程】Xshell 远程连接Linux 服务器
转载请标明出处: http://blog.youkuaiyun.com/u011974987/article/details/52588194 本文出自:【stromxu的博客】我这里有一台电脑,装的Ubuntu系统,当我想使用时,又要去使用另外一台机器(如果没有,可以直接去阿里云整一台主机),更何况文件传输也不方便,比较麻烦,后来,看着同事用的Xshell 远程连接linux,挺方便的就折腾了
2016-09-19 18:29:40
18044
2
原创 C++ string字符串的增删改查
转载请标明出处: http://blog.youkuaiyun.com/u011974987/article/details/52505004 本文出自:【徐Xiho的博客】c++ 提供的string类包含了若干实用的成员函数,大大方便了字符串的增加、删除、更改、查询等操作。插入字符串insert()函数可以在string字符串中置顶的位置插入另一个字符串,它的原型为:string& inser
2016-09-11 17:46:05
11662
原创 C++ string类和字符串的访问和拼接操作
转载请标明出处: http://blog.youkuaiyun.com/u011974987/article/details/52504486 本文出自:【徐Xiho的博客】C++ 增强了对字符串的支持,除了可以使用c中的字符串,还可以使用内置的数据类型string,string类处理字符串会翻遍很多,完全可以代替C语言中的char 数组和char 指针。使用sting类需要包含头文件< sti
2016-09-11 16:23:33
106862
2
原创 C++ new和delete操作符
在C语言中,动态分配内存用 malloc() 函数,释放内存用 free() 函数。如下所示:int *p = (int*) malloc( sizeof(int) * 10 ); //分配10个int型的内存空间free(p); //释放内存在C++中,这两个函数仍然可以使用,但是C++又新增了两个关键字,new 和 delete:new 用来动态分配内存,delete 用来释放内存。用 n
2016-09-09 13:09:22
1202
原创 Android 获取本地已安装的应用程序
有一个需求获取本地指定的系统App和已经下载的App列表:实现非常简单,首先获取本机已安装的App,然后把我们指定的系统App过滤掉,存入一个List集合中,然后把其他的系统App过滤掉,剩下的在放入,另外一个List集合中,组合就Ok。贴下主要代码:/** * Created by Xiho on 12:10 * MyBlog: xuhao.tech * GitHub: git
2016-09-09 12:28:03
8367
1
原创 Android中签名、证书、公钥密钥的概念及使用
资料来源于Android 官方文档的:https://developer.android.com/studio/publish/app-signing.html 还有些资料来源于网络。加以整理!公钥和私钥的概念在现代密码体制中加密和解密是采用不同的密钥(公开密钥),也就是公开密钥算法(也叫非对称算法、双钥算法)”,每个通信方均需要两个密钥,即公钥和私钥,这两把密钥可以互为加解密。公钥是公开的,不需
2016-09-02 16:43:19
39091
1
原创 使用Gradle和Sonatype Nexus 搭建私有maven仓库
转载请标明出处: http://blog.youkuaiyun.com/u011974987/article/details/52372185 本文出自:【徐昊Xiho的博客】前言:随着业务的增长,需求量增多,我们的App 组件也越来越多,几乎大部分组件都有用到同样的第三方库和公司内部封装的库,而团队中的所有人都重复的从maven 远程的中央仓库下载构建,这样就会加大了仓库的负载和浪费了外网的带宽,网
2016-08-30 21:12:28
20248
C++语法帮助文档
2016-09-11
Android 双进程守护
2016-06-24
Android ToolBar+DrawerLayout的使用
2016-03-23
PullDownListView高仿微信下拉眼睛出现动画
2016-01-20
wifi打开获取变慢的解决demo
2016-01-20
浮动layout滑动到顶部悬停效果
2015-11-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人