自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

寒江蓑笠的专栏

好记性不如写博客。天道酬勤。

  • 博客(190)
  • 资源 (2)
  • 收藏
  • 关注

原创 Java开发常用知识

getClass()和super.getClass()getClass().getName() 和super.getClass().getName()的结果是不是一样呢?答案是一样的。 super并没有代表超类的一个引用的能力,只是代表调用父类的方法而已。所以,在子类的方法中,不能这样用System.out.println(super);也不能使用super.super.mathod()。 su

2016-12-08 15:19:34 484

原创 搭建React Native开发环境

本文是对Ubuntu环境下开发环境的搭建Android Studio下载Android Studio2.2: http://www.androiddevtools.cn/; 下载android-sdk; 这部分相信Android开发者都懂,不做详细介绍。安装nodeJS下载node-v5.0.0-linux-x64解压即可; 创建软链接sudo ln -s /XXXXXX/tools/nod

2016-12-07 10:11:39 3338

原创 开始了解React Native

一些学习资料React Native中文网:http://reactnative.cn React Native在GitHub上的代码库:https://github.com/facebook/react-native React Native的相关文档https://facebook.github.io/react/随后继续补充

2016-12-07 10:03:22 505

原创 Android动画-实现雪花飞舞动画效果

雪花飞舞

2016-12-06 09:57:02 1880

原创 Android应用开发常用知识(4)

Android string 中product的使用Android的资源文件string.xml会出现下面同名的字符串:string name="build_type" product="tv">"智能电视"string>string name="build

2016-12-01 11:47:03 1869

原创 自定义对话框样式的Activity

对话框样式的Activity,除了使用系统的Dialog样式的Theme外,我们还可以自己设置Window的参数来进行自定义。 SecondActivity.javapublic class SecondActivity extends AppCompatActivity { public static final double SMALL_WIN_H_SCALE = 0.67;

2016-11-23 16:06:07 2770

原创 Android硬件渲染之LockCanvas()

在实际开发中或许你有下面的经历: 尽管已经设置了硬件加速,通过TextureView.lockCanvas()或者通过SurfaceView.getHolder().lockCanvas()得到的Canvas通过打印Canvas.isHardwareAccelerated()会返回false。而TextureView.isHardwareAccelerated()或者SurfaceView.isH

2016-11-14 19:50:16 5075

原创 GankTouTiao——一个技术干货分享的APP

简介每日分享技术干货和妹子图,还有供大家中午休息的休闲视频、美女图片,另外还实现了推荐干货功能。 数据来源:http://gank.io/api 项目源码:https://github.com/heqiangflytosky/GankTouTiao用到的开源库RxJava、RxAndroid、Retrofit2、okhttp3、glide、iconics应用持续完善中……介绍一款gif转换工具:

2016-11-08 14:30:51 1332

原创 Interpolator使用基础

getInterpolationgetInterpolation(float input)就像是我们根据x求函数值的y一样,可以用到我们需要的各种场景。PathInterpolator mPathInterpolator = new PathInterpolator(0.67f,0f,0.77f, 0.43f); for(float p = 0f; p<1.0f; p+=0.1f){

2016-10-24 11:33:08 653

原创 Android 性能优化之MAT分析内存泄漏

http://www.iconfont.cn/https://icomoon.io/app/#/selecthttps://github.com/mikepenz/Android-Iconicshttp://mp.weixin.qq.com/s?__biz=MzAxMTI4MTkwNQ==&mid=2650821086&idx=1&sn=080bc2cfaa04947b974bf6273bbd

2016-10-18 14:29:17 749

原创 Android启动应用相关知识

根据包名启动应用 private void startAppByPkgName(String pkgName){ Intent intent =null; intent = mContext.getPackageManager().getLaunchIntentForPackage(pkgName); if(intent != null){

2016-08-30 11:02:14 4652

原创 Android 一种遍历ViewGroup的方法

// 遍历viewGroup public void traversalView(View view) { if(null == view) { return; } if(view instanceof ViewGroup) { ViewGroup viewGroup = (ViewGroup)

2016-08-24 19:28:57 5368

原创 Android 自定义AlertDialog

自定义AlertDialog ContentView、Position 效果图: 代码: public void showCustomDialog(){ LinearLayout customView = new CustomDialogView(this); AlertDialog mDialog = new AlertDialog.Builder(thi

2016-08-09 16:23:23 1462

原创 Android 动画--使用Path来规划动画的轨迹

使用Path来规划动画的轨迹 public void testPathAnimator(){ final FrameLayout l = (FrameLayout) findViewById(R.id.root_view); final ImageView imageView = new ImageView(this); imageView.set

2016-07-11 10:35:57 9871

原创 常用正则表达式示例

1.替换连续的重复字符串: String test = "www....baidu.com"; String t = test.replaceAll("[.]+",".");替换www….baidu.com为www.baidu.com2.多重匹配: private static final Pattern BAIDU_URL_PATTERN =

2016-06-29 14:39:27 557

原创 Java覆盖、重载、隐藏相关知识

覆盖发生在子类与父类的之间,指在在子类中声明一个和父类具有相同的方法名,参数列表,返回值,访问权限等的方法,即在子类中重新编写方法实现的功能。 构成覆盖需满足以下条件:父类中的static方法不可以被覆盖;父类中的final方法不可以被覆盖;方法的签名、参数个数以及参数类型都要相同; 对于返回类型要说明两点: 1.如果返回类型是引用类型,则覆盖方法的返回类型可以声明为父类方法声明的返回类

2016-06-20 16:24:45 502

原创 Java实现AES加密解密

public class AESUtils { private static final String KEY_ALGORITHM = "AES"; private static final Charset charset = Charset.forName( "utf-8" ); private static String decrypt( byte[] data, byte[

2016-06-20 15:34:52 629

原创 Android应用开发常用知识(3)

根据Intent获取包名 public static String getAppPackageByIntent(Context context, Intent intent) { if (context == null || intent == null) { return ""; } String pkgNa...

2016-06-14 15:18:10 1002

原创 Java类加载和初始化相关知识

《深入理解Java虚拟机++JVM高级特性与最佳实践》类的初始化类从被加载到虚拟机内存中开始,到卸载出内存开始,它的生命周期包括了:加载、验证、准备、解析、初始化、使用和卸载七个阶段,其中验证、准备和解析三个部分统称为链接。 什么情况下需要开始类加载过程的第一个阶段:加载。虚拟机规范中并没有进行强制约束,这点可以交给虚拟机的具体实现自由把握。但是对于初始化阶段,虚拟机规范则是严格规定了有且只有四种

2016-06-09 18:08:14 492

原创 Android Studio 调试技巧

http://mp.weixin.qq.com/s?__biz=MzA3MDMyMjkzNg==&mid=2652261742&idx=1&sn=77346b3f4359fac7686f08a78aa7290f&scene=0#wechat_redirect http://android.jobbole.com/83282/

2016-06-08 11:46:43 673

原创 Android开发中,那些让你相见恨晚的方法、类或接口

转载自http://liukun.engineer/2016/04/11/Android%E5%BC%80%E5%8F%91%E4%B8%AD%EF%BC%8C%E9%82%A3%E4%BA%9B%E8%AE%A9%E4%BD%A0%E7%9B%B8%E8%A7%81%E6%81%A8%E6%99%9A%E7%9A%84%E6%96%B9%E6%B3%95%E3%80%81%E7%B1%BB%E6...

2016-06-06 15:07:34 1340

原创 Java多线程-生产者消费者几种实现方式

http://blog.csdn.net/monkey_d_meng/article/details/6251879wait()/notify()方法http://blog.csdn.net/ghsau/article/details/7433673 public void doWork(){ new Thread(new Runnable() { @O

2016-06-02 16:53:20 1847

原创 Android导致内存泄漏的几种情形

集合类集合类如果仅仅有添加元素的方法,而没有相应的删除机制,导致内存被占用。如果这个集合类是全局性的变量(比如类中的静态属性,全局性的map等即有静态引用或final一直指向它),那么没有相应的删除机制,很可能导致集合所占用的内存只增不减。单例模式不正确使用单例模式是引起内存泄漏的一个常见问题,单例对象在被初始化后将在JVM的整个生命周期中存在(以静态变量的方式),如果单例对象持有外部对象的引用,那

2016-06-01 10:53:53 1336

原创 Android实现动画过程中遇到View.mViewFlags on null object refrence

在实现动画过程中如果遇到View.mViewFlags on null object refrence这个问题,那有可能是你用到了Animation,而且在onAnimationEnd里面做了一些View操作,比如remove view等等。 解决办法: 1.onAnimationEnd里面的view操作用在post里面实现。 2.用Animator来代替Animation。

2016-05-31 16:56:04 1623

原创 Android自定义Attribute和Style

custom attributes and styles自定义属性自定义一个CustomView(extends View)类编写values/custom_attrs.xml,在其中编写styleable和item等标签元素在布局文件中CustomView使用自定义的属性(注意namespace)在CustomView的构造方法中通过TypedArray获取custom_attrs.xm

2016-05-12 17:33:36 2243

原创 Java实例初始化过程

Java实例初始化过程转载自http://mp.weixin.qq.com/s?__biz=MjM5Mzk3MzA4MA==&mid=2651366281&idx=3&sn=fe98210a7115afff01b35da044a71ea9&scene=0#wechat_redirect 文章通过Java字节码从下面几个场景来分析Java实例的初始化过程:成员+构造函数成员+代码块+构造函数静

2016-05-04 09:57:56 662

原创 Android Service相关知识

android:process属性碰到Service加上android:process后Application的onCreate方法执行两次的问题。 android:process是服务所在进程的名字。通常,一个应用的所有组件都运行在系统为这个应用所创建的默认进程中。这个默认进程是用这个应用的包名来命名的。 标签的process属性可以设置成和所有组件都不同的默认值。但是这些组件可以通过设置自己

2016-05-03 09:42:10 507

原创 Android Studio 配置

http://liukun.engineer/2016/04/10/Android-Studio-advanced-configuration/

2016-04-13 09:35:33 671

原创 Android之aapt

Android之aapt 在Android.mk中有LOCAL_AAPT_FLAGS配置项,在gradle中也有aaptOptions,那么aapt到底是干什么的呢? aapt即Android Asset Packaging Tool,在SDK的build-tools目录下。该工具可以查看,创建, 更新ZIP格式的文档附件(zip, jar, apk)。也可将资源文件编译成二进制文件,尽管你可能

2016-03-29 20:32:58 11513

原创 Android:一个Multidex引发的VerifyError和Class Not Found问题

一个困扰两天的问题终于解决了,下面记录一下该问题解决的历程,希望能对那些遇到类似问题的猿们有些帮助。问题背景由于项目要适配android4.X,而应用需要引用的一个jar包的4.X版本就只能用JDK1.6来编译,而应用要用JDK1.7来编译,这个情况也为该问题的解决带来了干扰。 当把编译好的jar包放入应用中,且应用编译通过,运行时报各种问题:java.lang.VerifyErrorjava.

2016-03-24 19:20:18 9157

原创 Gradle 使用指南 -- 基础配置

我的博客原文地址Gradle是一种构建工具,它抛弃了基于XML的构建脚本,取而代之的是采用一种基于Groovy的内部领域特定语言(DSL),建议可以先熟悉一下Groovy脚本。 Gradle API 文档 Android 配置构建 Android 插件 DSL 扩展 本文只是简单的介绍一下 Gradle 的一些基本配置,如果想进行一些高级的操作或者是想深入的了解这些配置,请参考我的后面...

2016-03-11 09:32:55 72768 1

原创 Android高效编程的一些知识

总结自以下文章: http://flysnow.iteye.com/blog/914259 http://blog.csdn.net/biaobiaoqi/article/details/6732401 http://blog.csdn.net/biaobiaoqi/article/details/6741417 http://www.thinksaas.cn/group/topic/204

2016-03-10 11:26:35 680

原创 值得关注的技术类微信公众号

1http://www.jianshu.com/p/f8be4016aa042.移动开发前线3.WeMobileDev

2016-03-09 17:01:47 1006

原创 Android Studio常用插件

0.Android Studio 插件的安装Android Settings -> Plugins (现实已经安装的插件)-> Browser repositories ,选择需要安装的插件,点击 Install plugin就可以了。1. adb-ideahttps://github.com/pbreault/adb-idea 通过该插件可以不需要手动输入 adb 命令完成以下操作: Unin

2016-02-29 11:03:17 538

原创 Bitmap对象在内存中的大小和转化为字节流的大小

Bitmap对象在内存中的大小比如我们构造Bitmap时设置宽200,高400,色彩模式为Bitmap.Config.ARGB_8888,那么它在内存中的大小就为200*400*4,色彩模式为Bitmap.Config.RGB_565,那么大小就是200*400*2,这些在内存中是固定大小的。转化为字节流比如我们用bitmap.compress(Bitmap.CompressFormat.PNG,1

2016-02-25 17:33:05 3478

原创 Android保存图片到本地

保存到本地的方法: private boolean saveImage(byte[] data){ if(TextUtils.isEmpty(mUrl) || data == null) return false; boolean save = false; String path = DIR_IMAGE + mUrl.h

2016-02-25 14:48:45 646

原创 Java 反射使用

1.获取属性值 public void getFiled(){ TestA a = new TestA(); try { Field field = TestA.class.getDeclaredField("mTestBoolean"); field.setAccessible(true);

2016-02-01 16:48:18 705

原创 Android显示从网络下载图片偏小的问题

在从网络上下载图片时发现图片偏小,原来以为是BitmapFactory.decodeStream时BitmapFactory.Options的选择问题,但是试过了很多方法,达不到理想效果,后来发现是BitmapDrawable的使用问题,使用了BitmapDrawable(Bitmap bitmap)的构造方法,其实应该使用的是BitmapDrawable(Resources res, Bitmap

2016-01-12 14:57:42 1348

原创 ReentrantReadWriteLock可重入读写锁使用

特点可重入:就是同一个线程可以重复加锁,可以对同一个锁加多次,每次释放的时候回释放一次,直到该线程加锁次数为0,这个线程才释放锁。比如同一个线程中可以对同一个锁加多次写入锁。写线程获取写入锁后可以再次获取读取锁,但是读线程获取读取锁后却不能获取写入锁。 读写锁: 也就是读锁可以共享,多个线程可以同时拥有读锁,但是写锁却只能只有一个线程拥有,而且获取写锁的时候,其他线程都已经释放了读锁,而且在该线程

2015-11-13 11:38:35 2727

原创 Android CountDownLatch的使用

在Android中我们可以使用CountDownLatch来进行线程的同步。它维护一个计数器,等待CountDownLatch的线程必须等到计数器为0时才可以继续。 我们可以在下面的场景中使用:在某个Thread使用的变量必须等UI线程中对它更新以后才可以使用。 CountDownLatch mLatchTest; private static final int GET_TEST_

2015-11-05 11:38:06 4392

html解析器ixml

一款强大的html解析器,简单,易用 The Linux DOM2 XML Parser Version 1.2 (IXML) is a lightweight, portable XML parser supporting the standard Document Object Model (DOM) Level 2 interfaces. The parser uses a C-style interface, making it idea for small, embedded applications. This document describes the interfaces supported by IXML 1.2, referencing the W3C DOM2 recommendations when necessary, and the additional utility application programming interfaces (APIs) that it supports.

2013-08-15

设计模式可复用面向对象软件的基础

这本书的目的就是将面向对象软件的设计经验作为设计模式记录下来。每一个设计模式系统地命名、解释和评价了面向对象系统中一个重要的和重复出现的设计。我们的目标是将设计经验以人们能够有效利用的形式记录下来。鉴于此目的,我们编写了一些最重要的设计模式,并以编目分类的形式将它们展现出来。

2012-05-23

空空如也

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

TA关注的人

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