自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(36)
  • 资源 (2)
  • 收藏
  • 关注

原创 换了个地写博客

最近换了个地写博客,我的简书,为什么会迁移到简书,这个梗得好好说一下,因为我觉得不仅仅是技术可以交流,比如对产品的看法,人生的感悟,碰到的坑等等这些都可以很好的跟一群喜欢阅读和喜欢写作的人交流。当然为了保证技术博客的质量,一般在简书上经过考验的技术类文章会收录到我的个人博客 ,欢迎大家关注我的简书和个人博客。在一个交流故事沟通想法的平台,大家可以轻松的写作,不论技术的高低,只 要你有想法,都可以把

2016-04-07 17:47:32 631

原创 Android注解框架Dagger ,Butterknife 和AndroidAnnotations以及RoboGuice的比较

http://stackoverflow.com/questions/24351817/dagger-and-butter-knife-vs-android-annotations 这片文章的答案,简单的介绍了三种注解框架(Dagger,Butterknife以及AA)的异同以及简单的比较。RoboGuice是Google官方的注解框架,不过每个类都需要继承RoboActivity。下面进行客观的

2015-08-08 22:14:06 1865

原创 原型模式详解

UML图原型模式URL图如下: 解决问题原型模式是一种对象创建模式,采取复制原型对象的方法来创建对象的实例。使用Prototype模式创建实例,可以具有与原型一样的初始化数据。工作原理通过将一个原型对象传递给要发送创建的对象,这个要发动创建的对象通过请求原型对象复制它们来实施创建。实际应用如果一个对象想具有被复制的能力,必须声明自己实现了Cloneable接口,如果没有声明,就会在对象被复制时,抛

2015-04-17 09:36:50 726

原创 工厂方法模式详解

UML图工厂方法模式URL图如下: 解决问题在简单工厂模式进一步抽象而来,解决了如何实例化一个对象,也克服了简单工厂模式中违背的“开-闭原则”的缺点。核心思想工厂方法模式中,核心的工厂类不再提供所有产品的创建工作,而是将具体的产品交给具体的工厂类去实现。核心工厂类值负责制定具体工厂需要实现的接口即可,至于具体的工作交给子类去实现。实际运用假设我们有一个手机加工厂,具体的子工厂来生产Android手

2015-04-17 09:08:01 770

原创 简单工厂模式详解

UML图简单工厂模式的UML图如下: 解决问题简单工厂模式解决了如何去实例化一个合适的对象。核心思想简单工厂模式的核心思想就是有一个专门的类(工厂类)负责创建实例的过程。 把产品看成是一系列类的集合,这些类是由某个抽象类或者接口派生出来的一个对象树。而工厂类负责来生产一个合适的对象来满足用户的需求。实现原则如果简单工厂模式中所涉及到的具体产品之间没有共同的逻辑,那么就用接口来扮演抽象产品的角色;

2015-04-17 08:27:52 868

原创 自定义网络加载视图NetworkImageView

NetworkImageView简介:在布局中使用自定义视图:<com.mrljdx.loadimage.NetWorkImageView android:id="@+id/myNetImgView" android:layout_width="200dp" android:layout_height="200dp" android:l

2015-04-16 20:56:38 1090

原创 自定义View

View基类呈现一个100x100像素的空白正方形,要改变控件的大小并呈现一个不同的界面则需要分别对onMesure和onDraw方法进行重写。 onMesure方法中,新的视图将会计算一系列给定的边界条件下占据的高度和宽度。 onDraw方法用于在画布上进行绘图。 下面代码中定义了一个MyView继承自View:public class MyView extends View {

2015-04-13 15:13:56 465

原创 Android中常用的设计模式

Android中其实到处都是设计模式或者设计模式的联合运用的地方,以下设计模式是Android设计中常见的:Observer模式Abstract Factory模式Adapter模式Template Method模式Composite模式Strategy模式State模式Proxy模式Bridge 模式Iterator模式Mediator模式Facade模式Android框

2015-04-13 10:44:44 639

原创 Android应用性能优化笔记

性能优化概要:不要在主线程中做耗时操作,比如网络请求,文件读写等。使用ViewStub来推迟初始化,在运行时展开资源。使用RelativeLayout代替嵌套LinearLayout,尽可能扁平化布局。减少创建对象的数量,也会让事件的处理速度更快。(了解View事件的传递机制)主线程中尽可能少做事,把耗时操作交给子线程。Sqlite数据库,通过事务来操作。(当数据库在持久存储中使用事务耗时

2015-04-13 10:13:57 663

原创 AndroidManifest.xml简介

在Android开发接触的最多的可能就是AndroidManifest.xml这个配置文件了,这里配置文件中包括了应用程序中的大部分信息,系统在运行代码时,需要知道这些基本信息。比如开发中的Activity、Service、Broadcast都需要在这里定义。如果用到了一些系统自带的服务比如拨号、应用安装、GPS定位等服务也需要在这里声明。 下面看一段注释过的AndroidManifest.xml

2015-04-12 18:15:39 833

原创 Java中enum的本质

在平时的开发中,经常需要用到枚举,其实枚举enum 定义了一个特殊的类,这个类继承自java.lang.Enum,不过这是由编译程序处理的,直接写一个类继承Enum类会被编译程序拒绝。 来看一段代码:public enum Action{ UP,RIGHT,DOWN,LEFT}在编译之后,会生成一个Action.class文件,反编译后,观察程序代码,就可以了解enum的本质内容:pub

2015-04-07 10:29:29 1096

原创 Java对象封装

在看了设计模式-迪米特法则之后,应该就可以理解Java中对象的封装。什么是封装?在Java中定义了类,其实有点类似于面向过程设计中定义一个结构体一样,但是有个概念必须清楚,那就是定义类不等于做好了封装。封装是遵循迪米特法则的,就是让调用时不用去了解内的内部构造,只需要调用相应的对外方法即可。 具体说来可以归结为两点:封装对象操作流程封装对象内部数据 在Java中定义了public 、prot

2015-04-07 10:00:17 3040

翻译 Receiving intents

原文地址: https://github.com/excilys/androidannotations/wiki/Receiving-intents接收意图@Receiver注释通知你的代码的意图,而不必手工申报和注册一个BroadcastReceiver。例如:@EActivitypublic class MyActivity extends Activity { @Receiver(

2015-04-06 22:09:55 515

翻译 @EReceiver加强广播接收器

原文地址: https://github.com/excilys/androidannotations/wiki/Enhance-broadcastreceivers你可以使用@EReceiver注释增强一个Android BroadcastReceiver :@EReceiverpublic class MyReceiver extends BroadcastReceiver {}然后,

2015-04-06 21:38:49 658

翻译 @EProvider加强contentprovider

原文地址: https://github.com/excilys/androidannotations/wiki/Enhance-contentproviders你可以使用@EProvider注释加强一个Android内容提供商与:@EProviderpublic class MyContentProvider extends ContentProvider {}然后,您可以开始使用大多数

2015-04-06 21:06:03 414

翻译 Extra

原文地址: https://github.com/excilys/androidannotations/wiki/Extras#executing-code-after-extras-injection@Extra@Extra注释一个从Activity中启动意图中获取正确值的字段,例如:@EActivitypublic class MyActivity extends Activity {

2015-04-06 21:01:49 703 1

翻译 @EFragment增强碎片(Fragment)

原文地址: https://github.com/excilys/androidannotations/wiki/Enhance-Fragments支持FragmentActivity在AndroidAnnotations 2.6之前,没有支持片段注入。然而,我们确保至少继承FragmentActivity的活动不会打破AndroidAnnotations的规则:@EActivity(R.i

2015-04-06 20:41:35 1385

翻译 Injecting Views

原文地址: https://github.com/excilys/androidannotations/wiki/Injecting-Views@ViewById在Activity中@ViewById标注的字段,必须的在activity所在的布局layout中可以找到相应的ID,类似于调用findViewById()方法。 注释的视图id可以设置参数,即@ViewById(R.id.myT

2015-04-06 19:57:32 507

翻译 @AfterXXX 调用顺序

用@AfterXXX标注的方法调用次序同一个类中的同一个注释的方法调用顺序不能保证,你不应该依赖于它。如果你想多种方法按照可靠的顺序被被调用,你应该只创建创建一个注解的方法,并用它来调用它们所需顺序的其他方法。@AfterInjectprotected void callInOrder() { methodA(); methodB(); methodC();}privat

2015-04-05 21:06:25 1804

翻译 @EBean增强自定义类

原文地址: https://github.com/excilys/androidannotations/wiki/Enhance-custom-classes加强自定义类您可以在一个不是一个标准的Android组件(如Activity,Service)的类使用注解@EBean。 你只需要使用@EBean注释这个类即可:@EBeanpublic class MyClass {} 一个@

2015-04-05 20:42:22 1555

翻译 AA工作原理及注解的Activity的启动方式

译文地址: https://github.com/excilys/androidannotations/wiki/HowItWorks#starting-an-annotated-activity概述AndroidAnnotations是以一种非常简单的方式工作。它会使用标准的Java注释处理工具自动添加一个额外的编译步骤来生成的”源代码”。 这里所谓的源代码是指,对于每个增强型类,例如每

2015-04-05 18:59:27 1781

翻译 @EActivity增强Activities

译文地址: https://github.com/excilys/androidannotations/wiki/Enhance-activities@EActivity使用@EActivity注解表明一个Activity将通过AndroidAnnotations增强。其值的参数必须是有效的布局ID,这将被用作该Activity的内容视图。 您可以将value参数为空,这意味着不会设置内容

2015-04-05 15:34:26 3558

翻译 @EApplication加强Application类

译文地址: https://github.com/excilys/androidannotations/wiki/Enhancing-the-Application-class加强应用类您可以使用@EApplication注释来增强Android的Application类:@EApplicationpublic class MyApplication extends Application

2015-04-05 15:25:02 656

翻译 @EView@EViewGroup增强的自定义视图

译文地址: https://github.com/excilys/androidannotations/wiki/Enhance-custom-views如果你想创建自定义组建,可以使用@EView和@EViewGroup的注解方法。为什么要使用自定义组建?如果你发现在应用程序中的不同位置的某些布局部分需要复制相同的内容和调用相同的方法,那么自定义组建可以让你的开发轻松很多!@EView自定

2015-04-05 15:14:35 1558

原创 AndroidStudio参考资料整理

这篇文章主要记录一些关于AndroidStudio的参考资料,文章内容会不定期更新。主要记录博主在使用AndroidStudio的过程中碰到的一些问题以及这些解决这些问题的博客链接。Gradle Android插件用户指南翻译通过阅读Google官方的Gradle Android插件用户指南,可以让你在写build.gradle的时候不至于不知道这里面的语法意思。 原文地址:Gradle

2015-04-05 14:04:54 1300

原创 在AndroidStudio下搭建AGES开发框架

使用AndroidStudio(以下简称AS)作为首选的开发工具已经很普及了,但是作为一个Eclipse的老手来说,转AS还是需要点时间去适应的。比如以前常用的快捷键,代码提示: Alt+/ 在AS下是ctrl+alt+space 而 查看函数则由之前的鼠标悬浮变成了按F2查看,导入包则由之前的ctrl+shift+o编程了现在的alt+enter 说了这么多不适应的快捷键,下面来谈谈如何在AS

2015-04-05 13:52:01 851

原创 AndroidStudio常用快捷键

本文介绍AndroidStudio一些常用的快捷键,至于怎么修改KeyMap不在本文的范畴之内,有修改快捷键需求的请绕道。Android Studio如何修改快捷键 如果不慎修改了快捷键导致冲突,请绕道Android Stuido如何查看快捷键冲突? 废了这么多话,下面进入正题。 功能 快捷键 代码提示 ctrl+alt+空格 导入包 alt+Enter 格式化代码

2015-04-04 22:22:34 651

原创 工厂方法模式

什么是工厂方法模式首先来看一下Android手机和Iphone手机使用工厂方法是怎么生产的,你就懂了。 如图,首先定义了工厂的抽象类Factory 用于生产手机,其次,定义了一个手机抽象类Mobile 来定义手机的共有方法(打电话),然后定义了一个抽象方法,手机的特点。 在定义了工厂和产品(手机)后,就可以根据需求来指定手机生产的厂家和手机的具体要求了。我们定义一个富士康工厂(FusicoF

2015-04-04 15:44:53 578

原创 单例模式(Singleton Pattern)

什么是单例模式首先来看一段单例模式的通用代码:public class Singleton{ //自行实例化 private static final Singleton instance = new Singleton(); /** *1,构造函数为私有,不能通过new获得对象实例,限制实例产生 *2,自行实例化 */ private Sin

2015-04-04 10:17:31 693

原创 JVM、JRE和JDK的关系与区别

关于JVM(JavaVisualMachine)、JRE(JavaRuntimeEnvironment)、JDK(JavaDevelopmentKit)的区别可以看下面一张图。 一张图读懂JVM、JRE和JDK的关系,该图摘自Oracle官方文档简单的用一种包含关系表示就是JDK[TOOLS,JRE[JavaSE APIm,JVM]]。所以一般情况下,在安装JDK后,需要配置JRE环境,比如Win

2015-04-03 19:40:55 1382

原创 设计模式读书笔记(开篇)

好的设计可以去繁就简,在软件设计中能够熟练的运用设计模式可以在不同的需求变化中“以不变应万变”。简单易懂的设计才是好的设计,下面简单的总结一下设计模式中的6个基本原则–SOLIDSRP (单一职责)OCP(开闭原则)LSP(里氏替换原则)LoD(迪米特法则)ISP(接口隔离原则)DIP(依赖倒置原则)

2015-04-03 13:41:00 721

原创 Vi/Vim编辑器常用命令

前言习惯了在Mac/Linux下工作的人,可能需要了解一些Vi/Vim编辑器相关的命令。Vim 是Vi Improved的缩写。在Vi原有的基础上进行了很大的扩展。下面分别介绍Vi常用的命令。

2015-04-02 12:01:49 991

转载 Android开发最佳实践建议

注:本文转载自Android Best Practice 从Futurice公司Android开发者中学到的经验。 遵循以下准则,避免重复发明轮子。

2015-04-01 23:02:31 738

原创 CSDN也支持Markdown了

在用Hexo搭建自己的博客Mrljdx后,玩了一个段时间,今天偶然间发现CSDN也开始支持Markdown写博客了,这对于我们这些搞技术的人来说无疑是一件喜大普奔的事。 PS:之所以用Hexo搭建私有博客,一方面是为了装B,另一方面是因为能用Markdown来写文章,手不离键盘就搞定了很多复杂的操作,能更专心与内容的创作。哈哈,不知道是不是CSDN换产品经理了,在支持Markdown写作这方面

2015-04-01 00:49:10 1041

原创 Mac下配置Java开发环境以Java 8 为例

在Mac OSX下配置Java 8 环境

2015-02-02 18:48:13 16001

翻译 AndroidStudio v1.0下配置AndroidAnnotations图文教程

在AndroidStudio v1.0下配置AndroidAnnotations 图文教程。

2015-02-02 17:58:08 912

C#学习笔记(基础篇)

C#的学习笔记总结,涵盖软件的使用,很多地方与C语言作比较从而加深印象,帮助理解。

2010-08-06

java全套教程(每一个知识点带多个实例,入门的良师)

很好的JAVA教程,是入门和提高的必读丛书。希望大家学有所成,也希望大家支持一下。

2010-08-06

空空如也

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

TA关注的人

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