林深 + 关注
非主流程序员,不爱加班爱专研。你说没有强者的心该如何成为强者呢?

入驻

发布时间:2016-05-24 10:50:00 浏览:767 评论 :0

我的博客即将入驻“云栖社区”,诚邀技术同仁一同入驻。

【Android】Android动态代理为SurfaceHolder添加Hook

发布时间:2016-05-22 23:46:00 浏览:1204 评论 :0

本博客将会介绍动态代理在Android应用中的一种使用场景 代理模式 代理模式的作用是为其它对象提供一种代理以控制对这个对象的访问。比如用户调用了一个“吃饭”的方法,如果不依靠代理,用户可能自己拿碗饭吃就行,而如果通过代理的话,可能连碗都不需要用户自己拿,用户只需要张开嘴,代理来喂就行了,需要注意的是,这里代理除了负责拿碗和喂饭外还可以做其他的任何事情,比如说帮你把饭吹凉一些,或者

【Android】Android自定义带board的圆角控件

发布时间:2016-05-12 00:51:00 浏览:1612 评论 :0

介绍 圆角控件常用于头像,按钮,图标等,用途十分广泛,而且常常配合board使用。 在IOS中,UIVIew的CALayer层已经提供了圆角和board的方法,所以圆角控件的制作非常简单,只需要类似以下简单代码即可实现: view.layer.cornerRadius = 20; view.layer.borderColor = [UIColor yellow

Android插件化原理解析——Hook机制之动态代理

发布时间:2016-05-03 23:09:00 浏览:1803 评论 :0

转发必注明出处:Hook机制之动态代理 使用代理机制进行API Hook进而达到方法增强是框架的常用手段,比如J2EE框架Spring通过动态代理优雅地实现了AOP编程,极大地提升了Web开发效率;同样,插件框架也广泛使用了代理机制来增强系统API从而达到插件化的目的。本文将带你了解基于动态代理的Hook机制。 阅读本文之前,可以先clone一份 understand-plug

【Java】使用javaassist修改jar包

发布时间:2016-04-30 10:15:00 浏览:4422 评论 :0

由于工作需要,可能会涉及到一些需要对第三方的一些jar包与源码进行修改的情况,这个时候javaassist就可以派上用场。 javaassist是一个开源的编辑、修改、创建字节码的类库,它在JBoos项目的AOP框架中发挥了很大的作用。不过我们这次仅仅使用它的修改class的功能。 1 准备工具 1.1 需要用到的工具 1.javaassist.jar 修改class字节码,修改类

Android竖屏模式实现横屏效果

发布时间:2016-03-31 23:31:00 浏览:1961 评论 :0

android横竖屏切换是非常耗时间的,而且切换的过程也会存在明显的翻转卡顿效果,那么是否可以在竖屏模式下实现横屏的效果呢?答案是肯定的,这里提供一种方法,其思路是对view进行90度的旋转,而且实现起来非常简单,其效果图如下: 首先我们先在layout里排版出一个水平的布局,如下图: 是不是很简单?布局代码如下: <?xml version="1.0" enco

Mac使用apt-get

发布时间:2016-02-29 12:58:00 浏览:4087 评论 :1

和Linux系统不同的是,Mac系统默认是不带有apt-get软件包工具的,所以要想在Mac上使用上方便的apt-get就需要自己来安装它。 这里我们需要借助一个强大的工具-fink. 首先我们需要下载它,点击右侧链接进行下载,Fink相关文件下载 里面有两个文件,一个是fink,一个是Xquartz,即X11。 之后遵循以下步骤即可: 1.双击XQuartz-2.7.8.d

Retrofit 2.0 (v2.0.0-beta4)

发布时间:2016-02-18 12:28:00 浏览:1174 评论 :0

原文地址:Retrofit 2.0 1.介绍 Retrofit可以将你的HTTP API转化为JAVA的接口的形式。例如: public interface GitHubService {   @GET("users/{user}/repos")   Call<List<Repo>> listRepos(@Path("user") Str

【Python】python对象与json相互转换

发布时间:2016-02-12 09:29:00 浏览:1565 评论 :0

在网络通信中,json是一种常用的数据格式,对于python来讲,将类转化为json数据以及将json数据转化为对象是一件非常容易的事情。 下面给出两者转化的方法 # -*- coding: UTF-8 -*- import json #自定义类 class MyClass: #初始化 def __init__(self): self.a=2

【LeetCode】9. Palindrome Number

发布时间:2016-02-05 22:19:00 浏览:656 评论 :0

题目: Determine whether an integer is a palindrome. Do this without extra space. 思考过程: 题目很简单,要求是判断一个数是否是回文数,回文数的定义就是数字翻转之后与原先的数一样的话就是回文数,比如 101 , 22, 1 等,所以要处理这个问题的话,只需要将一个数的最高位换到最低位,次高位换到第二低位,依次

【Java】java使用反射访问对象方法和成员变量

发布时间:2016-02-05 21:10:00 浏览:1015 评论 :0

虽然java是一门静态语言,但是java的反射机制却给java提供了很强大的动态特性,其特点是能让java支持在运行时才能得知名称与内部结构的类,并能访问其所有的方法和成员变量,包括私有方法和私有成员变量。下面我写了一个比较简洁的测试代码,供参考和使用。 测试类 //OBClass.java package com.obo.javaassistdemo; public class

IOS强制横竖屏切换

发布时间:2016-01-28 22:56:00 浏览:2568 评论 :0

IOS横竖屏切换是一个很纠结的问题,之前项目中用到了,花了长时间查阅资料以及研究,才找到了一个相对靠谱的解决方案,该方案可以处理IOS9系统以上的屏幕翻转,至于IOS9一下的系统,还没有测试过。 为了过程的讲解,我先给出一个应用的需求:整个界面就显示一个按钮,当点击这个按钮的时候,界面能从竖屏切换到横屏,当再次点击的时候,又能从横屏切换到竖屏,之后点击循环往复。为了达到这样的需求,我们首

【Android】android镜像翻转

发布时间:2015-12-04 10:25:00 浏览:2311 评论 :0

Android镜像翻转指的是将屏幕进行水平的翻转,达到所有内容显示都会反向的效果,就像是在镜子中看到的界面一样。这种应用的使用场景相对比较受限,主要用在一些需要使用Android手机界面进行镜面投影的地方,比如说车载手机hud导航之类的。 镜像翻转的效果如下:      镜像水平翻转前后效果 在没办法对硬件进行直接翻转的时候,只能从代码进行着手。最先想到的方法是一种比较弱的实现方案

python搭建服务器

发布时间:2015-12-01 00:17:00 浏览:4451 评论 :1

python搭建服务器以快捷著称,实际上,我们也可以使用python搭建简易的服务器。 1.环境配置 当然首先得搭建python的开发环境,对于mac和linux的用户来说,一般python是自带的,当然,如果没有的话也可以很方便地进行安装,在终端输入以下命令: sudo apt-get update sudo apt-get install python 即可进行快速集成安装

linux搭建git服务器

发布时间:2015-11-19 23:47:00 浏览:4197 评论 :2

git是非常方便的版本控制工具,目前网上有很多免费的git仓库可以给我们使用,但是有些时候我们并不放心将我们的项目寄放在别人的服务器上,这个时候就需要自己搭建一个git服务器。 在linux上面搭建git服务器是一件非常轻松的事情,只需要按照以下几步就能完成。为了确保整个过程的顺利,最好新创建一个名为git的账号,再使用该账号进行配置 1.安装git 在linux系统中,git安装只

IOS毛玻璃效果

发布时间:2015-11-08 17:15:00 浏览:914 评论 :0

最近实习公司的ios项目中需要用到毛玻璃的效果(如下图效果) 尝试用了几个方法都不太满意,最后终于找到了一个比较好的解决方案。 在IOS8以上的机器中,我们可以利IOS SDK中已经提供了的UIBlurEffect和UIVisualView实现简单毛玻璃的效果。实现的方法如下: UIImageView *imageView = [[UIImageView alloc]i

Android Studio 将github作为远程maven仓库

发布时间:2015-10-23 23:05:00 浏览:1983 评论 :0

github是一样很好用的工具,除了能作为开源项目的搜索工具外,还能用来搭建maven仓库,方便远程的使用。为此,我查阅了一些资料也结合了一些博主的博客,一步步试验最后成功搭建出了这样的maven仓库,在这里我将整个搭建的过程分享给大家。 一、准备 准备好两样必要的工具 git和gradle 1.安装git,直接下载一个 GitHub Desktop for Mac

【Android】socket局域网通信

发布时间:2015-09-16 09:09:00 浏览:1908 评论 :0

我有一段时间特别想实现一个短距离的手机交互软件,比如多人联机小游戏app或者是多人文件共享app等,思来想去,得出了两个方案,一个是使用手机自带的蓝牙设备,通过蓝牙技术实现两个手机的数据交换,而另一个就是使用socket了。蓝牙技术对于android的小伙伴来说并不陌生,传文件什么的常用到,而且网上资料也十分丰富,所以这里不详细说明。而socket则是网络通信的大神级工具,无论c语言也好j

【Android】android studio ndk使用例子

发布时间:2015-09-04 11:23:00 浏览:1120 评论 :0

首先要配置好必须的环境,详细见我的前几篇的博客 http://blog.csdn.net/leilba/article/details/47206231 http://blog.csdn.net/leilba/article/details/47381365 1.为工程设置ndk路径 打开android studio,右键工程,选择open Module Setting

【Android】自定义view-拖动小球移动

发布时间:2015-08-22 09:11:00 浏览:2723 评论 :0

Android应用界面中可以看得见的都是由一个个的View所组成的,几乎所有的可视的控件都是基于View写的。在View中提供了对touch也就是手势的捕获和传递,我们可以对View里面手势的重写来达到我们所需要的特性。比如说我们现在要做一款游戏,内容很简单,就是要实现让如图所示的一个黑色的小球在根据手指移动而在手机屏幕内移动。 我们可以重写View里面的public boolean

2