自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(245)
  • 资源 (41)
  • 收藏
  • 关注

原创 项目实战①—高仿知乎日报(0)-->NDK将私密数据隐藏起来

在安卓如此流行NDK的情况下,在不加入NDK就out了,看完这篇帖子 几分钟就搞定NDK环境配置,为你的APP的安全性提高一个等级

2014-12-05 17:28:16 6380 8

原创 为什么一些2年的开发人员竟然和应届毕业生一样的思考

让我先说一件事,在没找工作的时候,我在想为什么程序员也会有两个极端,一个做了两年的开发人员,那人工资竟然会比现在一些应届毕业生是一个薪资,甚至低一点。

2014-11-24 22:50:22 3325 7

原创 2021 安卓逆向学习思路

逆向对于以后的发展基本处于两个方向,建议新手多发展协议分析,脱壳这个东西难度就在于门槛协议分析抓包:推荐小肩膀的抓包系列,因为这里分很多种情况1、https/http 协议抓包2、客户端不走代理 什么情况3、http单向,双向验证,脱证书 导入证书 解密https4、以及搭配什么软件使用5、websocket 抓包等等Java层代码分析:建议使用jadx-gui,如果代码混淆还原不行建议使用jeb 强大的很 配合使用棒棒哒So 代码分析:ida pro 这个软件 破解版 Mac 最

2021-11-17 10:33:38 735

原创 九、View事件传递机制

事件传递机制:责任链机制,从上到下,然后冒泡回到起点事件传递围绕这三个方法进行dispatchTouchEvent -事件的分发onInterceptTouchEvent - 阻止分发,返回true子view都接受不到事件onTouchEvent -在dispatchTouchEvent使用,用来处理点击事件,返回结果表示是否消费传递流程PhoneWindow -> Dec...

2019-03-01 14:46:50 259

原创 八、BroadcastReceiver知识速览

文章目录1、BroadcastReceiver 定义和作用2、注册方式:静态方式、动态方式2.1、静态注册2.2、动态注册3、BroadcastReceiver注册与取消的时机4、BroadcastReceiver的不同类型1、BroadcastReceiver 定义和作用消息型组件,用于在不同组件乃至不同应用之间传递消息2、注册方式:静态方式、动态方式2.1、静态注册使用方式:配置文件...

2019-03-01 14:45:20 281

原创 七、Service知识速览

1、Service的定义及作用Service(服务)是一个一种可以在后台执行长时间运行操作而没有用户界面的应用组件1.1、作用例子:播放音乐下载即使如此也要记住他依然是运行在主线程的东西,他依赖于进程,进程关闭,他也随着关闭2、启动方式和生命周期2.1、bindService-交互任务当应用组件通过调用 bindService() 绑定到服务时,服务即处于“绑定”状态。绑定服...

2019-02-28 23:52:06 330

原创 六、Activity生命周期与启动模式

文章目录1、生命周期1.1 、正常使用的周期方法1.1 、非正常周期方法 onSaveInstanceState() 与 onRestoreInstanceState()1.3、来个例子实战下2、启动模式关于activity的主要就是生命周期和启动模式,这两个贯穿你开发的整个周期关键词联想:两两对应,普通,栈顶内独1、生命周期先看图,以前开发一直百度找这张图1.1 、正常使用的周期...

2019-02-28 14:38:03 216

原创 二、Java数据结构实现之链表

文章目录1、单链表1.1、数据结构:1.2、链表头添加元素:1.3、链表头删除元素:1.4、查找指定元素2、双向链表2.1、数据结构:2.2、添加节点:线性表:零个或多个数据元素的有限序列首先他是一个序列,也就是说元素之间是有顺序的,若元素存在多个,则第一个无前驱,最后一个元素无后驱,其他元素都有一个前驱后驱,同时元素也是有限的。如图先从最简单的开始吧1、单链表单向链表只可向一个...

2019-02-26 23:53:46 184

原创 二、Android View绘制流程

[TOC]PhoneWindow 是 Android 系统中最基本的窗口系统,每个 Activity 会创建一个。PhoneWindow 是 Activity 和 View 系统交互的接口。DecorView 本质上是一个 FrameLayout,是 Activity 中所有 View 的祖先PhoneWindow是Window的子类DecorView是整个ViewTree的最顶层Vi...

2019-02-26 18:17:15 183

原创 javascript忍者秘籍之第五章笔记(闭包)

什么是闭包:是一个函数在创建时允许该自身函数访问并操作该自身函数以外的变量时所创建的作用域闭包可以让函数访问该函数声明时作用域的所有变量和函数书中例子我看的莫名其妙….甚至觉得理所当然….还是写出来吧 var outValue='ninja'; var later; function outFunction() { var innerValue='sa

2018-01-21 18:59:35 329

原创 javascript忍者秘籍之第四章笔记(函数进阶)

匿名函数:就是没有名字的函数如:function(){assert(true,'power!')}var ninja={shot:function(){assert(true,'Ninja!')}}ninja.shot();setTimeout(function(){assert(true,'Forever!')},500)以上都是匿名函数,有些地方不需要函数名字基本匿名

2018-01-20 00:27:03 474

原创 javascript忍者秘籍-第三章笔记(函数的基础)

javascript忍着秘籍笔记函数调用传递的两个隐式参数argument,this隐式:意味着这些参数不会显示列在函数签名里,但是它们默默地传递给函数并存在函数作用域内。在函数内部他们可以像卡显示命名参数一样使用 如果在你浏览器中调试时,你就会发生他们是真实存在对象中的arguments参数他只是一个类数组,只是拥有部分特性,你能数组形式去获取(argume

2018-01-19 10:21:30 365

原创 从接手开发传统桌面端才想起Vue的好

接手进行一个老项目的代码,才能想起新一代的js框架的好处…小菜鸟写文章有错误请指正….先说说Vue的好处双向绑定:传统实现,需要大量的js和html的交互,随着项目越来越大,新开发的入场,造成维护和学习成本大大提升,有时候为了找一个点击事件和业务逻辑,往往需要人与人的沟通或者代码得关键词搜索才能看懂,这是不可持续开发的一种如:传统实现jq对于dom操作往往就可以对于全局的d

2018-01-13 13:39:05 642

原创 jquery-内容和缓存框架探索

设置和获取innerHTMLinnerHTML:属性设置或返回表格行的开始和结束标签之间的 HTML function html(context, value){ var doms = $$.$all(context); //设置 if(value){ for(va

2018-01-09 17:17:43 267

原创 jquery-属性框架探索

jq中对于属性操作:属性操作 新增 var element = $("p").eq(1) element.attr("name",'神仙');属性操作 删除 element = $("p").eq(1) element.removeAttr("name");属性操作 - addClass ele

2018-01-09 16:34:02 246

原创 jquery-css框架探索

jq样式框架包含两大部分:获取元素的样式的值,设置样式的值来看看jq有哪些方法看看jquery中如何获取元素的值css(key,value)height widthinnerHeight innerWidthouterHeight outerWidthoffset offetParentpositionscollLeft scollRight scollTop scrol

2018-01-09 11:56:15 301

原创 jquery-选择器框架探索

选择框架包含id,tag,class,多组,层次,多组+层次, 表单元素,过滤(基本,属性,内容,子元素,表单元素,隐藏显示,伪类)1、选择id function $id(id) { return document.getElementById(id); }2、选择tag function $tag(tag) { return document.ge

2018-01-09 10:16:57 341

原创 js面向对象-复习一

1、面向对象四种创建方式1.1 传参形式 function Product(name){ this.name = name } Product.prototype={} var iphone = new Product('iphone8s')1.2 默认值 function Product(){

2018-01-08 12:14:54 294

原创 jquery-事件框架探索

从移动端工作内容转到桌面端(网页),突然想起了 老夫写代码就是一把梭真的就是,代码中就只有了jquery,什么框架都没用,如React,angular,Vue,也可能是代码是老一代的程序员写的吧,没办法了,对于我们这种只用过框架的人,都无从下手,任务下来后,还是捋起袖子开干啊。在熟悉代码中,我发现,原来不用框架还可以这么写的….当然从angular->react->jq,我只

2018-01-07 23:06:22 517

原创 自定义View的基础

自定义View的基础0.View的大家族先来看一张图,认识认识他们接着我一个一个介绍PhoneWindow:大家都知道每个Activity都包含一个Window对象,而Window对象就是由PhoneWindow实现的,同时PhoneWindow对象中包含了一个东西是整个应用窗口的根Viewpublic class PhoneWindow extends Window implements Menu

2017-11-16 14:39:16 416

原创 Java多线程之AtomicReference,CAS

首先明白一个知识点,乐观锁和悲观锁是啥乐观锁:每次不加锁而是假设没有冲突而去完成某项操作,如果因为冲突失败就重试,直到成功为止悲观锁:通过使用一致的锁定协议来协调对共享状态的访问,可以确保无论哪个线程持有共享变量的锁,都采用独占的方式来访问这些变量乐观锁的代表就是CAS,而悲观锁的代表就是synchronized悲观锁比较简单重点就在于乐观锁玩法比较多CAS:CAS是项乐观锁技术,当多个线程尝试使用

2017-11-15 18:27:38 1826 2

原创 十、Jvm结构和泄露溢出

Java不像C/C++自己掌握对象的释放,一般都是jvm包管了而内存泄露是怎么发生的呢那到底java内存结构是怎么样的呢?Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域都有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而存在,有些区域则是依赖用户线程的启动和结束而建立和销毁。我们先看看jvm内存结构吧1. java运行时数据区域1.1

2017-11-15 16:24:27 405 2

原创 android基础之ClassLoader类加载器

0.前言:大家都知道安卓系统运行APP流程Java类会被编译成一个或者多个字节码文件(.class)然后打包到JAR文件Java虚拟机会从相应的CLASS文件和JAR文 件中获取相应的字节码通过一个工具(dx)将应用所有的 CLASS文件转换成一个DEX文件Dalvik虚拟机会从其中读取指令和数据如果想知道jvm和Dalvik可以看看我之前写的Java基础之Dalvik和JVM的认识而加载

2017-11-14 11:46:11 543

原创 android 5.0 6.0 7.0 8.0预测新特性

Android5.0新特性1.代号为Lollipop(棒棒糖),采用了Google最新推行的Material Design设计语言,用户切换activity时,有无缝的过度位移动画.2.运行机制改为更新的ART。相比Dalvik,ART的处理机制完全不同,它会在应用程序安装时就把程序代码转换成机器语言,让程序成为真正的本地应用。这样做的好处是程序的启动时间被极大的提高,运行速度也会更快。电量消耗的更

2017-11-13 15:37:38 959

原创 Java数据结构之HashMap(五)

0. 前言今天来介绍下HashMap,之前的List,讲了ArrayList、LinkedList,就前两者而言,反映的是两种思想:ArrayList以数组形式实现,顺序插入、查找快,插入、删除较慢LinkedList以链表形式实现,顺序插入、查找较慢,插入、删除方便那么是否有一种数据结构能够结合上面两种的优点呢?有,答案就是HashMap。它是基于哈希表的 Map 接口的实现,以key-va

2017-11-13 10:45:01 483

原创 四、Java数据结构之ArrayList

ArrayList1. 类结构 public class ArrayList extends AbstractList implements List, RandomAccess, Cloneable, java.io.Serializable1.1 实现接口1.1.1 RandmoAccess接口:是java中用来被List实现,为List提供快速访问功能的。在ArrayList中,我们即可以通

2017-11-12 22:34:37 371

原创 我们来聊聊String、StringBuffer与StringBuilder

我们来聊聊String、StringBuffer与StringBuilderString:字符串常量StringBuffer:字符创变量StringBuilder:字符创变量首先常量,也就是不可改变的对象那String怎么拼接字符串的呢,你肯定以前听过你自己的老大说String效率低,频繁创建对象!我们先开始聊聊String看一个例子:String str = "love";String

2017-11-11 23:16:05 331

原创 Java数据结构之阻塞队列(3)

1.阻塞队列的使用 阻塞队列 (BlockingQueue)是Java util.concurrent包下重要的数据结构,BlockingQueue提供了线程安全的队列访问方式:当阻塞队列进行插入数据时,如果队列已满,线程将会阻塞等待直到队列非满;从阻塞队列取数据时,如果队列已空,线程将会阻塞等待直到队列非空。并发包下很多高级同步类的实现都是基于BlockingQueue实现的。操作Api:可

2017-11-10 14:05:18 473

原创 三、Java数据结构实现之二叉树

嗯,今天开始在leetcode刷关于树的题目先前以为树很难,确实比基础的数据结构难,如二叉树的删除,尼玛简直是盯着算法(第四版)看了半个小时,最后还是半懂不懂,当然最后还是刷题去把知识打扎实二叉树呢,特点左节点一定会比右节点小,先这样,边刷题边总结下面是用Java实现二叉树public class BST<Key extends Comparable<Key>, Value> { priva

2017-11-10 09:29:37 371

原创 一、Java数据结构实现之队列

最近在刷leetcode,打算还是做一下笔记吧队列,特点,先进先出,比较基础的数据结构 mark一下public class Queue<Item> implements Iterable<Item> { private Node<Item> first; private Node<Item> last; private int n; private static

2017-11-09 18:10:28 395

原创 android优化-UI优化总结

嗯,这是一篇总结,内容主要是从我思维导图中记录的内容前言不卡顿的情况是60fps-16ms,如果绘制时间超过了这个点,人眼就会发现UI动画效果有点延迟(卡顿了)大多数导致情况的原因是:overdraw,有大量过度绘制部分,可以用gpu选项查看UI卡顿的原因人为的在UI线程做了轻微的耗时操作布局过于复杂,导致在16ms内完成绘制 同一时间内执行的动画过多,导致CPU/GPU负担过重View过度

2017-11-09 17:29:14 405

原创 简单的多线程多点下载

简单的多线程多点下载一直奇怪IDM的下载为啥那么牛逼,最近正好复习下载就记录下。首先你要了解多线程下载就得明白一个牛逼的IO流RandomAccessFile1 RandomAccessFile 主要功能是完成随机读取功能,可以读取指定位置的内容1.1 Api:close()//关闭操作read(byte[] b)//将内容读取到一个byte数组之中readByte()//读取一个字节

2017-11-09 16:47:12 515

原创 android什么是ANR,如何定位和避免

什么ANR造成ANR的原因哪些操作是在主线程怎么解决1.什么ANR主线程执行了耗时操作,造成无响应的弹框的出现2.造成ANR的原因线程被IO操作阻塞(4.0以后网络IO不能再主线程执行) 主线程存在耗时操作3.哪些操作是在主线程activity所有生命周期都执行在主线程Service默认是执行在主线程广播的Onreceve回调也是默认在主线程没有使用子线程的Looper的handl

2017-11-03 10:46:44 615

原创 android 安全机制

android 安全机制Android开发者应该建立五道防线来保护android系统的安全第一道防线:代码混淆proguard他可以混淆关键代码,替换命名让破坏者阅读困难,同时也压缩了代码,优化编译后的Java字节码第二道防线 应用接入权限控制 androidMainifest文件权限声明,权限检查机制任何应用在使用andrid受限资源的时候,都需要显示向系统声明所需要权限。只有当一个应用具有相应权

2017-11-03 10:12:34 255

原创 五、跨进程通信的代表Binder

android 跨进程通信的代表BinderBinder为什么能跨进程通信?android为什么选择binder而不是Socket 再开始本文之前,这两个问题你可以先思考下,这两个问题在Binder及其重要前言想想如果在同一进程,你想访问对方内部的函数变量是很简单的。但是一旦不在一个进程,如Application1进程去访问AMS进程的东西,你就无法”直接”访问,你需要一个东西帮你转接一下。

2017-11-02 22:53:59 348

原创 三、基础之Dalvik和JVM的认识

先介绍两个名词的意思:寄存器:CPU内部用来存放数据的一些小型存储区域栈:内存….内分分为堆和栈想知道更多可以看看下面文章栈式虚拟机和寄存器式虚拟机的对比为什么寄存器比内存快? 在说Dalvik和JVM区别我觉得区别就在一个是Dalvik 基于寄存器,而 JVM 基于栈,出生不同决定以后用处不同程序运行过程Java类会被编译成一个或者多个字节码文件(.class)然后打包到JAR文件Jav

2017-11-01 17:11:35 350

原创 四、Java基础之GC垃圾回收的历史

垃圾回收思路:发现无用信息对象回收被无用对象占用的内存空间,使该空间可被程序再次使用。我们先来看看JVM的内存结构Ⅰ Jvm(Java虚拟机)主要管理两种类型内存:堆和非堆。堆:运行时数据区域,所有类实例和数组的内存均从此处分配,由垃圾回收器的自动内存管理系统回收堆内存分为两大部分:新生代和老年代。比例为1:2。老年代:主要存放应用程序中生命周期长的存活对象。新生代:一个Eden区和两个Sur

2017-11-01 16:33:35 729

原创 java之最简单和最复杂的排序算法

冒泡排序:当前元素和next元素对比大小如果从小到大排序,大的往后排,如果从大到小小的往后排直到交换到最后一位,则是整个数据中最大(最小的)则继续开始下一轮比较ok 看看代码public class BubleSort { public static int[] bubbleSort(int[] arr){ int size = arr.length; for

2017-11-01 13:23:57 502

原创 问答法学习单例模式

最近一直在刷数据结构(leetcode),嘿嘿,看看之前写的专栏一直没有动手,哎,不是我不想写,是因为积累确实没到如同军人没经历过几场百团大战,你能让他去带军大战么,这不是纸上谈兵么好了回归正题:单例其实很简单,但其实里面还是有很多知识点可以学习,比如static修饰的东西(方法或者变量),在程序中是什么时候加载的?多线程中的volatile,synchronized?内部类在java中的加载

2017-10-31 17:55:16 608

原创 Java基础之重写和重载谁是谁

重写show 代码public class MethodFather { void max(int a, int b) { System.out.println("父类:Using Int"); System.out.println(a 重写:子类实现父类已经存在的方法,如果不需要父类方法逻辑去除super();也可实现自己的逻辑注意事项:子类中的方法与父

2017-10-31 09:26:03 360

百度地图demo2

demo用百度地图做出来了公交查询,包里的key需要你去官网重新申请下

2014-11-20

百度地图demo

poi关键字搜索的实例demo,关于key 建议大家自己去官网配置

2014-11-19

小白生活助手

总共四个功能数据,接口建议大家去聚合数据自己申请下,我的接口一天只能请求 50次

2014-11-17

小新机器人

如果你是初学安卓,这个APP你可能要半小时 如果你是有经验的开发者,OK,你可能看一遍就能将自己的开发类带入,10分钟不到就搞定。

2014-11-15

下拉刷新开源项目的使用

简单的一个下拉刷新Demo,然你了解怎么使用下拉刷新

2014-11-13

抓包工具fiddler4

一句话 ,苹果和windowsPhone,安卓都可以进行抓取数据,最重要的是 json连接 你值得拥有,比HttpWatch 不知道强多少倍

2014-11-11

荔枝新闻Base版

Demo加入了图片混排,数据持久化 网络数据 广告栏

2014-11-08

星期天新闻(第十一版)

第11版加入了新闻页 数据是从网络上请求的,下一版加入异步请求 handler 的使用

2014-11-06

星期二新闻(第十版)

第十版加入了异步加载数据,第十一版将要显示新闻内容

2014-11-05

用viewpage实现广告条

广告栏中加入了自动循环,自动播放,如果想看详细教程请点击我的博客

2014-11-05

星期二新闻(带服务器端数据)

新闻的数据库文件在mysql工具中可以直接导入,web(服务器端)需要在tomcat配置

2014-11-05

星期天新闻(第九版)

添加button实现加载更多数据

2014-11-05

星期天新闻 (第五版)

第五版的新闻 加入了内容页,下一版就会加入网络数据

2014-11-04

星期天新闻(第四版)

第四版加入了 新闻内容不过前期是假数据,到后期再将网络数据加入

2014-11-04

星期天新闻(第三版)

第三版将listview的item的布局加入,并加入了假数据

2014-11-04

星期天新闻(第二版)

第二版修复了 点击事件,改变背景颜色问题 算是修复了bug

2014-11-03

高仿网易新闻标题栏

因为没有使用开源框架,代码只有参考价值,如果开发想拿到研究 可以下载

2014-11-02

服务器实例

服务器实例服务器实例服务器实例服务器实例

2014-09-17

ViewPageDemo

此Demo主要是介绍Viewpage+tab页+Fragment 的使用其中有下拉刷新

2014-09-06

Fragment+slidingmenu+tab页

我写这一系列也是为了我对代码的优化,以及为了快速开发做准备,自己积累点大多数APP的框架

2014-09-04

谷歌蓝牙聊天

谷歌的蓝牙聊天源码,支持扫描,连接,和发送信息.

2015-10-22

企业网站制作第四节

企业网站制作第四节 主要增加了最后一部分后面的侧边栏~

2015-09-12

企业网站制作第三节

第三节是要加入集团活动板块 有图片列表和活动新闻列表

2015-09-12

企业网站制作第二节

企业网站制作的第二节事例代码 增加轮播图和新闻标题和新闻列表

2015-09-12

企业网站第一集-标题制作

参考视频做的记录源码~只是一个标题哦

2015-09-12

android水波纹

RippleEffect eclipse版

2015-07-08

5.0效果的EditText.rar

效果图在http://blog.csdn.net/jack_king007/article/details/43876171 因为加入了V7兼容包 所以文件比较大,大家都可以参考里面代码移植进入自己项目

2015-04-28

Material_EditText

过年大家都忙着过年,一个人在家,就玩玩5.0的风格 写完这个 Material_EditText 基本 5.0差不多做完搬运了。

2015-02-18

ButtonFlow

自定义Button,实现按钮阴影和按下效果,一次配置,收藏到自己的架包,以后直接使用,完全可以代替系统本身的button。配色使用安卓5.0 materiaDesgin风格

2015-02-17

StikkyHeader—Eclipse版

简单的使用StikkyHeader框架做一个欢迎页面

2015-02-17

android人事面试题

android人事面试题,希望小新给你准备东西,能够帮助到你

2014-12-27

SocketDemo

实现了,服务器端 接收多个客户端的信息 已经发送 代码注解很详细

2014-12-14

socket通信

主要实现了客户端和服务器通信,代码注解写的很详细

2014-12-14

程序锁修复版

7.代码优化 (1)查询数据库太慢了,改成查询内存 (2)意图不要放在线程 在外面准备好就行了 (3)睡少点时间 8.但是如果存在内存中的话也就在外面实例化一下 ,后面执行就不会被实例化了,所以我们需要广播来通知一下

2014-12-08

程序锁demo

程序锁在appmanager那个包里面

2014-12-08

安全卫士——手机加速

不知不觉已经写到了第八篇了,手机卫士作为一个复习基础的项目,我基本也快做完了,如果大家继续看完的话,基本做东西有思路了。

2014-12-07

安卓软件管理器

精简版的,软件管理器.

2014-12-06

android电池监控

一直想把外国的一个工具箱的电池那个动画做出来,今天有时间就想做一下 界面是这样的,制作了基本部分,果然还是手机卫士,比较考基础。

2014-12-04

仿QQ登录列表

仿QQ登录列表

2014-11-20

优酷布局demo

通过自定义布局实现一个优酷布局菜单

2014-11-20

空空如也

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

TA关注的人

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