自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

wolearn的技术总结

主要是wolearn的一些日常开发的技术总结,包括java,android,c++,cocos2d-x

  • 博客(28)
  • 资源 (1)
  • 收藏
  • 关注

原创 发红包android

马上春节,写个应景的控件       思路分析1.红包沿着不同的轨迹由上往下运动2.当手指捕获到一个红包,红包停止原先的运动,可以随着手指的滑动做跟手操作3.当手指动作停止后,红包放大4.通过滑动刮开红包,看到期待已久的money 大体知识点概况1.属性动画,实现红包按照贝塞尔曲线运动和放大效果2.实现一个可移动的view,可以参考我的另一篇博客http

2016-01-26 14:18:06 2707 3

原创 一步步实现带动画效果的下拉刷新

先看效果分析1.先要在listview的头部加上一个布局,布局中包含一个文本控件一个图片2.这个图片控件会随着下拉的过程做一个缩放3.整个下拉刷新过程分三步:第一步:下拉未超过布局的原始高度,图片做缩放动作,文字显示下拉刷新第二步:下拉超过布局的原始高度,图片大小保持不变,文字显示松开刷新第三步:松手后,如果当前位置在原始高度的上方,不进行刷新,

2016-01-14 10:42:18 7231 3

原创 结合源码分析android的消息机制

描述结合几个问题去看源码。1.Handler, MessageQueue, Message, Looper, LocalThread这5者在android的消息传递过程中扮演了什么样的角色?2.一个线程中可以有多个Handler吗?多个Looper呢?3.整个消息处理过程,消息是怎么流动的?4.为什么只有UI线程可以更改UI?(就凭他叫UI线程?其实也可以叫主线程或者Act

2016-01-06 17:07:44 1057

原创 android 使用log4j SLF4J 输出日志到文件中

android的logcat在写代码的时候挺好用,但是在现网环境中缺乏有效的手段将日志实时的打印到文件中,在出现问题的时候可以获取第一手的信息。其实logcat中内容也不是完全不能获取,下面提供获取的方法:

2015-08-24 16:12:20 6315 5

原创 java实现单链表

描述单链表是一种链式存取的数据结构,用一组地址任意的存储单元存放线性表中的数据元素。链表中的数据是以结点来表示的,每个结点的构成:元素(数据元素的映象) + 指针(指示后继元素存储位置),元素就是存储数据的存储单元,指针就是连接每个结点的地址数据。思路1.链表中的元素需要存储value和下一个元素的引用2.插入时从链表的头部插入,将原来头部的元素引用给新插入的元素即可3.删

2016-01-07 17:06:03 549

原创 一个弹性的广告板

描述直接上图。拖动绳子的时候广告板出现,再拉绳子广告板收起,主要在收和拉得时候表现一种弹性的感觉。思路1.通过继承viewgroup来实现,包括2个基本元素:广告板和拉绳2.通过监听绳子的ontouch事件来获取拉伸广告板的动作3.通过scroller类来实现view弹性滑动(当然通过延时动画也是一种思路) 实战1.先把包含广告板和绳

2016-01-06 12:05:18 508

原创 android三种方式实现自由移动的view

描述实现一个可以在父容器中随着手指自由移动的view思路1.继承view,重写onTouchEvent()方法2.通过getX(),getY()方法获取新的位置3.将控件移动到当前位置实战1.通过setX(),setY()来重新设置view的位置public class MoveView extends ImageView { private

2016-01-05 16:33:53 4887 4

原创 动态代理模式

接之前静态代理模式的例子场景/** * 抽象对象角色 */public interface IStudent {void doHomeworkWithPen();void doHomeWorkWithPencil();}将学生抽象出来,这里重点突出写作业的能力,将写作业的过程变为2个更具体的过程。用接口和抽象类皆可/** * 目标对象角色 */public class S

2016-01-04 17:43:05 313

原创 静态代理模式

描述给一个对象提供一个代理对象,并由代理对象控制对原对象的引用。使用场景就是一个人或者机构代表另一个人或者机构采取行动。在一些情况下,一个客户不想或者不能够直接引用一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。实战同学小明晚上要完成作业,可是晚上要出去玩,于是找个同学小李帮忙写作业。作为一个班的同学,小明和小李都具备完成这个作业的能力。玩好回来后看下作业完成

2016-01-04 16:55:10 509

原创 单例模式

场景分析:一个类作为公共模块供其他地方调用,而又不想通过不断new对象的方式。因为这种方式会产生大量的实例,加大了不必要的内存消耗。这时候我们需要一个方式,提供一个单一的实例共调用,同时考虑性能和高并发的场景。1.饿汉模式public class SingleTon { /** * 构造函数私有化,这是必须的 */ private SingleT

2016-01-04 11:18:27 1261

原创 android cash现象分析,解决方案,异常重启

cash类型最常见的cash类型应该是前2种(类型分析借鉴了一些网络资源,谢谢相关的作者)1.ANR(Application Not Responding:无响应):发生场景:应用发生ANR。崩溃症状:系统弹出窗口询问用户选择“Force Close”或者“Wait”。       “Force Close”将杀掉发生ANR的应用进程。“Wait”将会等待系统择机恢复此应用

2015-10-08 15:10:21 2198 1

原创 activity 中的相关配置小结

activity中的配置项其实还是挺多的,我从之前的项目经验总结一下用法。android:allowBackup="true"               其属性值默认是True。当allowBackup标志为true时,用户即可通过adb backup和adb restore来进行对应用数据的备份和恢复,这可能会带来

2015-09-18 13:52:53 715

原创 加密篇之三 - Base64

用jdk实现BASE64Encoder encoder = new BASE64Encoder();String encode = encoder.encode(src.getBytes());System.out.println("encode:" + encode);BASE64Decoder decoder = new BASE64Decoder();System.o

2015-09-14 17:45:59 505

原创 加密篇之二 - 非对称加密算法RSA

非对称加密算法相对对称加密算法而言更加安全。消息传输的两端,协调产生一对秘钥(公钥和私钥),公钥加密私钥解密,反之。就算秘钥中的一只被破解,也不能解析出消息的内容。但是非对称加密算法加解密花费时间长,速度慢。RSA// 生成密钥KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance("RSA");ke

2015-09-14 16:40:23 377

原创 加密篇之一 - 对称加密算法 DES,AES,PBE

数据传输的过程中经常遇到加密的场景,今天来先研究一下对称加密算法。  对称加密算法一般来讲,加密密匙和解密的密匙是一致的,解密就是加密的逆运算。DES加密  目前来看已经不太安全的加密算法,出现的时间比较早。加密的长度一般是56位。下面举个应用的例子:服务端A和客户端B之间互传数据,B加密,A来解密。首先要有个双方都知道的密匙:      KeyGenerator keyG

2015-09-11 16:42:33 2483

原创 android屏幕适配方案 - dimen生成器

生成多个 values-宽x高 文件夹,android系统会根据屏幕的尺寸自动读取相应的文件夹下的dimen值,据此来保证在各个屏幕下的显示效果的一致性。以下是生成以320*480为基准的dimen文件,效果图如下: 把这些文件夹放到res下即可。调用的方法:@dimen/x10  or   @dimen/y10(屏幕的宽均分320份,高均分480份)    自动生成器代码(文件夹生成

2015-09-10 17:18:04 3838

原创 android沉浸式 & 状态栏颜色设置

android4.4推出沉浸式以后,整体感觉美观大气了不少。如图:  1.设置actionbar的背景色。                        @style/LightBaseActionBarStyle                @drawable/actionbar_bg      2.设置状态栏的背景色,二者保持一致

2015-09-07 11:18:40 915 2

原创 版本管理工具 github客户端 使用小结

之前的项目一直使用的是svn作为版本管理工具。svn是典型的集中式版本,而git是分布式的。使用分布式的git,你会慢慢的发现它的优越性。常常使用github的开源项目,怎能不尝试一下git。使用下来有点心得,记录下来,相信对于使用过svn的童鞋并不难。提供一个github的网址,方便下载git客户端https://github.com。   git关联一个项目有3种模式:add,create

2015-09-06 14:47:34 2061

原创 百度地图 - 简单使用

我使用的百度地图版本是v_3_5_0,此次使用的目的是在应用中显示自己的当前位置的一小块地图 - 定位。   下面是api中一些常用的设置,直接上代码:   /**     * 初始化地图相关     */    private void initMap() {        mBaiduMap = mMapView.getMap();        // 隐藏缩放图标

2015-09-06 14:28:07 595

原创 百度地图-Authentication Error errorcode: 230 uid: -1 appid -1 msg: APP Scode码校验失败

使用百度地图定位功能的时候一直遇到Authentication Error errorcode: 230 uid: -1 appid -1 msg: APP Scode码校验失败的问题。查了一些资料,换了各种获取SHA1的方式,还是没有解决问题。由于使用的事mac一直没找到debug.keystore。   后来终于找到了解决方案如下:  方法一:1. 运行命令:keytool -li

2015-09-01 17:31:36 4068

原创 android 代码混淆 proguard

android的混淆分2个部分,一个是系统提供的一些混淆规则,在SDK的  /tools/proguard/proguard-android.txt:proguard-project.txt 目录下,另一个是自己根据业务补充的。   在project.properties文件中添加(gradle工程貌似不用)          proguard.config=${sdk.dir}/tool

2015-08-31 15:26:24 732

原创 android屏幕适配 - 超级解决方案percent-support-lib

这个percent-support-lib包怎么解决屏幕适配的?他提供了按照百分比来作为基础布局的chu

2015-08-28 16:54:28 1187

原创 android屏幕适配 - 切图

android的工程目录下有四个存放图片的文件xhdpi: 2.0,hdpi: 1.5,mdpi: 1.0 (基准),ldpi: 0.75。 (还可以建xxhdpi:3.0,xxxhdpi:4.0)    这四个文件夹后边的数值表示以mdpi中存放图片为基准的倍图。也就是讲,如果针对xhdpi的设备生成了一张200x200的图像,那么应该为hdpi生成150x150,为mdpi生成100x10

2015-08-28 16:12:14 2079

原创 使用jsonschema2pojo工具快速由json获取java实体类model

网络交互频繁的使用json,而一些复杂的json格式解析起来,代码确实不好看。而使用Gson将json转化成java的实体类来操作,显然更加舒服。   但是创建大量的json对应的实体,对于身体赢弱的程序员来说,好烦。下面介绍快速可以由json生成实体类的工具jsonschema2pojo,下载地址http://www.jsonschema2pojo.org/。下面介绍一下使用方法。

2015-08-27 16:53:22 2554

原创 android实体按键的监听

android开发的过程中,除了页面的导航控制外,还常常需要监听三个键home, back, menu。   通常按下home键后,activity调用onstop()后退出。按下back键后,调用finish()方法, 销毁当前的页面。而按下menu则跳出菜单项,可以自定义。   重写activity中的onKeyDown(), 然后判断第一个参数keyCode的类型,可以判断按键类型。

2015-08-26 17:50:12 5057

原创 android 安装 apk 遭遇 java.lang.UnsupportedOperationException: Only file:// URIs are supported

这段时间做一个老项目的升级和功能的添加,看代码的写法和类应该是2011年左右的代码,听讲原来是一个淘宝的老员工做的。我把新的功能的做上去了过了一段时间版本就上线了。有一天我写着代码,运维突然跟我说出了现网问题,跟版本升级有关。大致是说5.0以上版本的android机器升级新版本失败,我立即拿了个5.0的机器试了一下,新版本确实安装不上。我尝试打印日志,错误信息如下:java.lan

2015-08-25 17:33:28 2445

原创 cocos2d-x-3.2版本win7环境中的搭建

cocos2d-x-3.2版本win7环境中的搭建

2014-07-29 22:30:48 494

原创 eclispe技巧全解(包括代码重构,调试,快捷方式)

1.更换当前的工作空间:File -> switch workspace -> other 然后选择你要使用的工作空间2.启动时显示选择工作空间的提示: Window->Preferences->General->Startup and Shutdown->Workspace中勾选Prompt forworkspace on startup3.遇到断点时是否自动跳转到Debug视图

2014-07-14 13:48:31 708

空空如也

空空如也

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

TA关注的人

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