自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 资源 (3)
  • 收藏
  • 关注

原创 自定义View之模仿AppleWatch手表

转载请注明地址:最近想自定义View写个手表,然后在网上看到AppleWatch的一个手表界面很简洁漂亮,那就用自定义View来模仿实现它吧。文章目录一、自定义属性二、构造方法三、解析自定义属性四、初始化画笔五、测量大小六、获取最终的尺寸七、绘制八、绘制表盘九、绘制刻度十、绘制外圈数字十一、绘制内圈数字十二、绘制指针十三、绘制时针十四、绘制分针十五、绘制秒针十六、源码地址先来看看我们要实...

2019-08-13 01:21:21 1008 1

原创 关于Apktool编译和回编译问题的研究与修复

为了防止安卓App被Apktool反编译和回编译,有一种比较有效的手段就是针对Apktool的漏洞进行防护,使Apktool在反编译或回编译的过程中发生异常而导致失败。所以要想绕过此类防护手段,就得修复Apktool的相关漏洞,好在Apktool是开源的,于是我们就可以通过研究Apktool的源代码来进行修复。下面是关于目前所遇到的一些问题的说明与修复。注意:本文的目的在于逆向分析技术的学习与研究,切勿用于非法目的

2019-07-14 23:51:33 4661 7

原创 SwipeRefreshPlusLayout

SwipeRefreshPlusLayout DescriptionExpand the function of loading more to android.support.v4.widget.SwipeRefreshLayout. Usage1. Add a dependency to your build.gradle:dependencies { compile 'me.l

2016-08-01 18:13:55 430

原创 FloatingActionButtonMenu

FloatingActionButtonMenu 描述使用 Google support library 实现FloatingActionButtonMenu。 GitHub地址:https://github.com/lynnchurch/FloatingActionButtonMenu使用1. 在 build.gradle中增加依赖:dependencies { compile '

2016-07-15 14:10:42 1502 1

原创 关于陌陌签名验证机制的研究

一、验证机制当前APP防止二次打包反盗版的通常做法就是进行签名验证,获取APP的签名进行一定的算法加密然后发送到服务器,服务器拿到签名与合法的签名进行比对,如果是一致的则认为是正版,否则就是盗版。 获取签名是通过反射PackageParser进行的,代码如下: public static String getApkSignature(Context context, String apkPath

2015-09-30 13:13:23 3950 1

原创 Android各种View的下拉刷新与加载更多

1.基本介绍一个可下拉刷新与上拉加载更多的框架,可对ListView、GridView、WebView、ScrollView等几乎所有常用的View类型进行此操作,并且还提供了GIF动画的上拉与下拉头,也可自定义上拉头与下拉头。(本框架基于https://github.com/jingchenUSTC/PullToRefreshAndLoad ,特此感谢) 项目地址:https://github.

2015-09-01 00:15:54 690

原创 一个仿IOS风格的AlertDialog

实现思路继承Dialog,采用建造者模式,内部维持一个建造者Builder静态类来对对话框的标题,内容,积极按钮,消极按钮等部分进行设置,设置完成后使用create()方法来完成AlertDialog对象的创建,最终使用show()方法将对话框显示出来。效果图下面是一个仿ios风格的对话框效果图: 使用用法如下所示:AlertDialog.Builder builder = new AlertDi

2015-07-19 18:21:26 1569

原创 Android横向滑动选项卡

1.效果图: 2.项目地址:https://github.com/lynnchurch/HorizontalScrollMenu.git 3.使用示例代码:package com.example.horizontalscrollmenusample;import java.util.ArrayList;import java.util.Arrays;import java.util.List

2015-06-28 00:40:46 4764

原创 viewpager禁止滑动

1.继承ViewPager 2.定义一个变量mIsScroll用来进行滑动控制 3.重写onInterceptTouchEvent()方法如下:@Override public boolean onInterceptTouchEvent(MotionEvent event) { if (mIsScroll) { return

2015-06-01 18:58:38 495

原创 自定义Toast就是这么简单

是否很讨厌安卓系统自带的Toast风格?

2014-08-19 11:33:58 527

原创 openfire登录出现“SASLError using DIGEST-MD5: not-authorized”异常的解决

当我们用org.jivesoftware.smack.XMPPConnection.login()登录

2014-08-17 19:45:43 9905 15

原创 openfire中用email作用户名注册的解决方案

用email作用户名的好处:当用户忘记密码时,可以通过邮箱进行密码修改。 步骤一:用户输入邮箱地址,客户端进行邮箱格式验证,并把邮箱发往服务器验证是否已注册。通过查找smack的API文档,我没有发现有专门的方法用于用户名唯一性的验证,倒是在注册的时候,如果用户名已存在,服务器会返回一个“conflict”的异常,通过这个异常可以判断用户名的唯一性。但向服务器提交注册请求得进行到第

2014-08-16 13:29:20 2516

原创 关于java中堆、栈、方法区等概念的分析

昨晚在一个群看到一群人为Java堆栈的概念争论得不可开交,直到都散去时也没个统一的结论。为此我专门去网上查阅了相关文档,以求把这个问题彻底弄清楚。 其中有篇文章我认为表述的比较详细形象,但是关于堆栈所存储的数据类型的表述,我认为太笼统了,没有进行具体分情况表述,现摘抄概念部分的表述如下: 1.寄存器:最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制. 2. 栈:存

2014-08-08 16:50:19 509

原创 java正则表达式实战之密码策略

最近在用java开发一个注册模块,里面的密码策略涉及到了正则表达式,于是我就按照QQ帐号注册的密码策略用正则表达式去实现字符的过滤,QQ帐号注册的密码策略如下图:密码策略涉及到了三个要求,我们就用正则表达式一个一个地来实现,最终用代码进行逻辑与运算就可以了。 长度为6-16个字符:.{6,16}不能包含空格:\\S*不能是9位以下纯数字:(.*\\D.*){1,8}|.{9

2014-08-08 01:23:33 3365

原创 Openfire插件开发流程

一、安装Antl  配置java环境变量l  配置ant环境变量找到ant所在目录二、创建一个项目,结构如下所示:要点:1.实现Plugin接口;      2.源码根包名为org.jivesoftware.openfire.plugin;      3.将jasper-compiler.jar、jasper-runtime.jar、openfire.j

2014-08-05 18:33:44 568

转载 GitHub 优秀的 Android 开源项目

原文地址为http://www.trinea.cn/android/android-open-source-projects-view/,作者Trinea主要介绍那些不错个性化的View,包括ListView、ActionBar、Menu、ViewPager、Gallery、GridView、ImageView、ProgressBar及其他如Dialog、Toast、EditT

2014-09-29 23:54:30 1300

转载 Jabber 协议 概述

1. 介绍    Jabber是一个由开源社区发起并领导开发的即时消息和在线状态的系统。Jabber系统和其它即时消息(IM)服务的一个功能上的差别在于Jabber拥有开放的XML协议。在保持Jabber1.0版本有关消息核心以及在线状态的协议的基础上,增加了一些必要的扩展。本文档将对Jabber服务器1.4版的Jabber协议进行介绍。    在XML上下文的数据流中,Jabbe

2014-08-29 23:26:05 822

转载 解析XMPP协议分析与施用

解析XMPP协议分析与应用http://www.dzsc.com/data/html/2011-8-31/96203.html    XMPP是一种基于XML的协议,它继承了在XML环境中灵活的发展性。因此,基于XMPP的应用具有超强的可扩展性。经过扩展以后的XMPP可以通过发送扩展的信息来处理用户的需求,以及在XMPP的顶端建立如内容发布系统和基于地址的服务等应用

2014-08-17 22:00:00 2191

转载 Servlet初始化:随服务器启动而运行

有时候,我们需要仅仅是在服务启动,而非其他更为复杂的定时任务的时候,做些初始化的工作,比如将一些数据导入到内存中等等,用Servlet的初始化可以很好的做到这一点。而初始化工作是通过Servlet中的init()方法来做的。 建一个Servlet类:AutoRunServlet.java,代码如下: public class AutoRunServlet extends Htt

2014-08-04 22:18:13 2583

XposedInstaller_3.1.5.apk

支持Android7.0&7.1&Android8;.x框架安装,修复查找下载Oreo文件过程中崩溃以及发送日志时崩溃的问题。

2019-07-16

cipher.apk

这是一款安卓版的文本加密工具,采用AES进行加密,可以选择16进制、emoji、特殊符号密文样式

2019-06-29

AndroidKiller_v1.3.1.zip

最新版AndroidKiller_v1.3.1 1.修复了反编译源码卡死的问题 2.更新apktool到2.4.1版本

2019-06-26

空空如也

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

TA关注的人

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