- 博客(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应用开发常用知识(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
2013-08-15
设计模式可复用面向对象软件的基础
2012-05-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人