- 博客(161)
- 资源 (9)
- 收藏
- 关注
转载 Android:Butter Knife 框架——最好用的View注入
http://www.jianshu.com/p/9ad21e548b69
2017-07-24 22:20:04
484
转载 Android:Fragment在ViewPager中的生命周期
转自:http://www.2cto.com/kf/201607/530540.html1.一直以来的疑问Fragment在ViewPager到底经历了哪些生命周期方法?到底发生了什么?常会TabLayout和ViewPager配合起来使用,针对这套组合,就想也做一些学习了解。在一个ViewPager中经常会存在多个Fragment,Fragemnt在ViewPager中的生命周期一直没有闹明白。这
2017-07-22 11:36:47
1319
转载 Qt:QML与C++混合编程详解
1、QML与C++为什么要混合编程QML与C++为什么要混合编程,简单来说,就是使用QML高效便捷地构建UI,而C++则用来实现业务逻辑和复杂算法,下面介绍了两者间交互的方法与技巧。2、QML访问C++概述Qt集成了QML引擎和Qt元对象系统,使得QML很容易从C++中得到扩展,在一定的条件下,QML就可以访问QObject派生类的成员,例如信号、槽函数、枚举类型、属性、成员函数等。QML访问C++
2017-07-15 12:16:56
1056
1
原创 C++:fatal error LNK1169: 找到一个或多个多重定义的符号
错误:fatal error LNK1169: 找到一个或多个多重定义的符号原因:我们都知道一般高级语言程序编译的过程其中有编译、链接两步这两步: 1.编译是源代码生成obj二进制目标文件的过程, 注意一个源代码文件(指.cpp, 而非.h, .h已经被包含进.cpp中了)生成一个obj文件, 由于编译是独立的, 所以在两个独立的编译单元里是可以有重名的函数和变量的。例如a.hint n=10;
2017-06-30 14:53:56
11707
1
转载 C++:IsProcessInJob返回值问题
在调试一个作业(Job)程序时发现,如下代码总是返回TRUE,无论是从VS中启动调试还是从资源管理器中启动。BOOL bInJob = FALSE; IsProcessInJob(GetCurrentProcess(), NULL, &bInJob); if (bInJob) { MessageBox(NULL, TEXT("Process already in a
2017-06-30 11:03:29
705
1
转载 C++:auto_ptr智能指针的用法
转自: http://blog.csdn.net/monkey_d_meng/article/details/5901392C++中指针申请和释放内存通常采用的方式是new和delete。然而标准C++中还有一个强大的模版类就是auto_ptr,它可以在你不用的时候自动帮你释放内存。下面简单说一下用法。用法一: std::auto_ptr<T>m_example(new T()); 用法二:
2017-06-29 14:58:55
463
转载 C++:Windows下return,exit和ExitProcess的区别和分析
转自:http://www.cnblogs.com/jcss2008/archive/2009/03/18/1415519.html通常,我们为了使自己的程序结束,会在主函数中使用return或调用exit()。在windows下还有ExitProcess()和TerminateProcess()等函数。 本文的目的是比较以上几种结束程序的方式的区别,并分析其原理。首先我们用一个例子来说明几种结束
2017-06-28 10:04:41
4032
原创 C++:类静态变量的导出
动态链接库中导出静态成员变量 导出库头文件#pragma once#include "afx.h"#include <conio.h>#ifdef BUILDING_DLL //在stdafx.h中定义#define DLLIMPORT __declspec (dllexport) #else #define DLLIMPORT __declspec (dllimport)
2016-12-06 22:21:47
4810
1
转载 C++:struct和union 内存字节对齐问题
struct内存对齐问题1:数据成员对齐规则:结构(struct)(或联合(union))的数据成员,第一个数据成员放在offset为0的地方,以后每个数据成员存储的起始位置要从该成员大小的整数倍开始(比如int在32位机为4字节,则要从4的整数倍地址开始存储。2:结构体作为成员:如果一个结构里有某些结构体成员,则结构体成员要从其内部最大元素大小的整数倍地址开始存储.(struct a里存有stru
2016-11-23 21:16:23
3584
2
原创 C++:VS2010中如何查看DLL的导出接口
最近在学习动态链接库时,好多教程提到使用Visual C++ 6.0 的Depends工具可以查看动态链接库中的导出接口。对于VC6.0,VC所带的Depends软件,在VC6安装目录下的tools文件夹里面,可以直接运行。但是VS2010中没有了Depends工具,如何查看DLL文件的导出接口呢? 解决方法:方法1:1.打开命令行窗口,运行vcvarsall.batVS2010里vcvarsall
2016-10-16 18:48:14
5731
转载 C++:char* 和 char[]
char*p,表示p是指向字符串的指针char arr[],表示arr是一个字符串数组string s,表示s是一个string类的对象,有自己的成员变量和成员函数,和前两者的区别较大,在下一篇博文中详细讨论通过下面的例子来看char*与char[]的区别:例子1:对比下面两个函数: 复制代码char* get_str1(){ char str[] = {"abcd"}; ret
2016-10-01 19:54:47
1133
转载 C++:extern "c"用法解析
引言C++保留了一部分过程式语言的特点,因而它可以定义不属于任何类的全局变量和函数。但是,C++毕竟是一种面向对象的程序设计语言,为了支持函数的重载,C++对全局函数的处理方式与C有明显的不同。 extern “C”的主要作用就是为了能够正确实现C++代码调用其他C语言代码。加上extern “C”后,会指示编译器这部分代码按C语言的进行编译,而不是C++的。由于C++支持函数重载,因此编译器编译
2016-09-11 20:19:38
765
转载 C++:Struct 和 Union区别
转自:http://blog.csdn.net/firefly_2002/article/details/7954458一、Struct 和 Union有下列区别1.在存储多个成员信息时,编译器会自动给struct第个成员分配存储空间,struct 可以存储多个成员信息,而Union每个成员会用同一个存储空间,只能存储最后一个成员的信息。2.都是由多个不同的数据类型成员组成,但在任何同一时刻,Uni
2016-09-11 16:35:17
4204
原创 Android:GridView的item无法响应点击事件
里面有个ImageButton,怎么设置都不行,(不能点击,不让获取焦点) 最后换成ImageView就OK了…
2016-07-06 19:43:32
1525
原创 Android:Android Design中的TextInputLayout
http://blog.csdn.net/nightyk/article/details/46503893 http://www.jianshu.com/p/35080eb5a28f http://www.jcodecraeer.com/a/basictutorial/2015/0821/3338.html http://www.mamicode.com/info-detail-965904.
2016-06-20 00:51:57
488
原创 Android:AppCompat does not support the current theme features
Theme.AppCompat.Light.NoActionBar代替<item name="windowActionBar">false</item>
2016-06-19 12:16:53
834
转载 C++:类的成员函数存储方式(是否属于类的对象)
http://blog.csdn.net/richerg85/article/details/19540437
2016-05-16 20:59:54
507
转载 C++:指针详解
指针的概念指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址。要搞清一个指针需要搞清指针的四方面的内容:指针的类型,指针所指向的类型,指针的值或者叫指针所指向的内存区,还有指针本身所占据的内存区。让我们分别说明。 先声明几个指针放着做例子: 例一: int *ptr; char *ptr; int **ptr; int (*ptr)[3]; int *(*ptr)[
2016-05-12 11:49:43
501
1
原创 Android:Android涉及到的设计模式
组合模式Android中对组合模式的应用,可谓是泛滥成粥,随处可见,那就是View和ViewGroup类的使用。在android UI设计,几乎所有的widget和布局类都依靠这两个类。 组合模式,Composite Pattern,是一个非常巧妙的模式。几乎所有的面向对象系统都应用到了组合模式。将对象View和ViewGroup组合成树形结构以表示”部分-整体”的层次结构(View可以做为Vie
2016-05-08 22:59:17
1277
原创 设计模式:模板方法模式(Template)
定义与结构模板方法(Template Method)模式:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。这里的算法的结构,可以理解为你根据需求设计出来的业务流程。特定的步骤就是指那些可能在内容上存在变数的环节。可以看出来,模板方法模式也是为了巧妙解决变化对系统带来的影响而设计的。使用模板方法使系统扩展性增强,最小化了变化对系统的
2016-05-02 14:54:37
497
原创 设计模式:责任链模式(Chain of Responsibility)
引言责任链模式就是“推卸”责任的模式,你的问题在我这里能解决我就解决,不行就把你推给另一个对象。至于到底谁解决了这个问题了呢?我管呢!定义与结构从名字上大概也能猜出这个模式的大概模样——系统中将会存在多个有类似处理能力的对象。当一个请求触发后,请求将在这些对象组成的链条中传递,直到找到最合适的“责任”对象,并进行处理。《设计模式》中给它的定义如下:使多个对象都有机会处理请求,从而避免请求的发送者和接
2016-05-01 19:37:26
569
原创 设计模式:观察者模式(Observer)
引子还记得警匪片上,匪徒们是怎么配合实施犯罪的吗?一个团伙在进行盗窃的时候,总有一两个人在门口把风——如果有什么风吹草动,则会立即通知里面的同伙紧急撤退。也许放风的人并不一定认识里面的每一个同伙;而在里面也许有新来的小弟不认识这个放风的。但是这没什么,这个影响不了他们之间的通讯,因为他们之间有早已商定好的暗号。呵呵,上面提到的放风者、偷窃者之间的关系就是观察者模式在现实中的活生生的例子。定义与结构观
2016-05-01 14:26:53
535
转载 Java:垃圾回收机制
在C++中,对象所占的内存在程序结束运行之前一直被占用,在明确释放之前不能分配给其它对象;而在Java中,当没有对象引用指向原先分配给某个对象的内存时,该内存便成为垃圾。JVM的一个系统级线程会自动释放该内存块。垃圾收集器系统有自己的一套方案来判断哪个内存块是应该被回收的,哪个是不符合要求暂不回收的。垃圾收集器在一个Java程序中的执行是自动的,不能强制执行,即使程序员能明确地判断出有一块内存已经无
2016-04-30 20:54:39
494
原创 设计模式:装饰模式(Decorator )
定义与结构装饰模式(Decorator)也叫包装器模式(Wrapper)。GOF 在《设计模式》一书中给出的定义为:动态地给一个对象添加一些额外的职责。就增加功能来说,Decorator 模式相比生成子类更为灵活。让我们来理解一下这句话。我们来设计“门”这个类。假设你根据需求为“门”类作了如下 定义: 现在,在系统的一个地方需要一个能够报警的Door,你来怎么做呢?你或许写一个Door的子类
2016-04-30 17:08:28
497
转载 Android:内存管理机制
与windows内存区别在Linux中经常发现空闲内存很少,似乎所有的内存都被系统占用了,表面感觉是内存不够用了,其实不然。这是Linux内存管理的一个优秀特性,在这方面,区别于 Windows的内存管理。主要特点是,无论物理内存有多大,Linux都将其充份利用,将一些程序调用过的硬盘数据读入内存,利用内存读写的高速特性来提高Linux系统的数据访问性能。而Windows是只在需要内存时,才为应用程
2016-04-29 22:46:33
397
转载 Java:JVM的内存区域划分
学过C语言的朋友都知道C编译器在划分内存区域的时候经常将管理的区域划分为数据段和代码段,数据段包括堆、栈以及静态数据区。那么在Java语言当中,内存又是如何划分的呢?由于Java程序是交由JVM执行的,所以我们在谈Java内存区域划分的时候事实上是指JVM内存区域划分。在讨论JVM内存区域划分之前,先来看一下Java程序具体执行的过程: 如上图所示,首先Java源代码文件(.java后缀)会被Ja
2016-04-29 21:50:48
480
原创 设计模式:组合模式(Composite)
定义与结构组合(Composite)模式的其它翻译名称也很多,比如合成模式、树模式等等。在《设计模式》一书中给出的定义是:将对象以树形结构组织起来,以达成“部分-整体”的层次结构,使得客户端对单个对象和组合对象的使用具有一致性。从定义中可以得到使用组合模式的环境为:在设计中想表示对象的“部分-整体”层次结构;希望用户忽略组合对象与单个对象的不同,统一地使用组合结构中的所有对象。看下组合模式的组成。
2016-04-29 18:49:13
510
原创 设计模式:门面模式(Facade)
门面模式(facade)又称外观模式。GOF在《设计模式》一书中给出如下定义:为子系统中的一组接口提供一个一致的界面, Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。定义中提到的子系统是指在设计中为了降低复杂性根据一定的规则(比如业务、功能),对系统进行的划分。子系统中封装有一些类。客户程序在使用子系统的时候,可能会像下图一样零乱。 在上面的实现方法中,客户类紧紧地依赖在
2016-04-29 18:32:28
517
转载 Java:线程安全之静态变量、实例变量、局部变量
Java多线程编程中,存在很多线程安全问题,至于什么是线程安全呢,给出一个通俗易懂的概念还是蛮难的,如同《java并发编程实践》中所说: 写道 给线程安全下定义比较困难。存在很多种定义,如:“一个类在可以被多个线程安全调用时就是线程安全的”。 此处不赘述了,首先给出静态变量、实例变量、局部变量在多线程环境下的线程安全问题结论,然后用示例验证,请大家擦亮眼睛,有错必究,否则误人子弟!静态变量:
2016-04-28 23:24:37
590
原创 Java:多线程学习
本文主要讲了java中多线程的相关定义、多线程的使用方法、线程同步、线程的几种状态、线程之间的数据传递及线程函数用法等。相关定义首先讲一下进程和线程的区别: 进程:每个进程都有独立的代码和数据空间(进程上下文),进程间的切换会有较大的开销,一个进程包含1–n个线程。 线程:同一类线程共享代码和数据空间,每个线程有独立的运行栈和程序计数器(PC),线程切换开销小。线程和进程一样分为五个阶段:创建、
2016-04-27 15:12:35
956
原创 Android:AIDL使用详解
AIDL是 Android Interface definition language的缩写,一看就明白,它是一种android内部进程通信接口的描述语言,通过它我们可以定义进程间的通信接口。
2016-04-26 22:37:29
432
原创 设计模式:访问者模式(Visitor)
定义与结构访问者模式,顾名思义使用了这个模式后就可以在不修改已有程序结构的前提下,通过添加额外的“访问者”来完成对已有代码功能的提升。《设计模式》一书对于访问者模式给出的定义为:表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。从定义可以看出结构对象是使用访问者模式必须条件,而且这个结构对象必须存在遍历自身各个对象的方法。这便类似于java 中
2016-04-26 19:29:27
452
原创 设计模式:建造者模式(Builder)
定义与结构GOF 给建造模式的定义为:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。这句话说得很抽象,不好理解,其实它的意思可以理解为:将构造复杂对象的过程和组成对象的部件解耦。就像攒电脑一样,不管什么品牌的配件,只要兼容就可以装上;同样,一样的配件,可以有好多组装的方式。这是对降低耦合、提高可复用性精神的一种贯彻。当要生成的产品有复杂的内部结构——比如由多个对象组成;而
2016-04-21 19:03:10
515
1
转载 Android:ViewGroup事件分发机制详解
这篇博客我们从源码的角度分析ViewGroup的事件分发机制首先我们来探讨一下,什么是ViewGroup?它和普通的View有什么区别? 顾名思义,ViewGroup就是一组View的集合,它包含很多的子View和子VewGroup,是Android中所有布局的父类或间接父类,像LinearLayout、RelativeLayout等都是继承自ViewGroup的。但ViewGroup实际上也是一
2016-04-19 21:25:13
569
原创 设计模式:中介者模式(Mediator)
定义与结构中介者模式(Mediator Pattern)是用来降低多个对象和类之间的通信复杂性。这种模式提供了一个中介类,该类通常处理不同类之间的通信,并支持松耦合,使代码易于维护。中介者模式属于行为型模式。GOF 给调停者模式下的定义是:用一个中介类对象来封装一系列的对象交互。调停者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。简单点来说,将原来两个直接引用或者
2016-04-19 17:56:30
636
1
原创 Android:View事件分发机制详解
Android事件传递机制绝对不是三言两语就能说得清的,在网上查了相关资料,觉得大部分都没有讲的很清楚透彻,写本文的目的就是让更多的开发者进从FrameWork层到Application层一步步深入Android事件传递机制的原理,今天先小小试牛刀,主要是讲View的事件传递机制原理,下一篇会将更复杂的控件ViewGroup事件的传递机制。Android事件构成在Android中,事件主要包括点按、
2016-04-19 16:20:49
919
转载 设计模式:策略模式(Strategy)
转自:http://blog.csdn.net/jungle_hello定义策略模式(Strategy)属于对象行为型设计模式,主要是定义一系列的算法,把这些算法一个个封装成拥有共同接口的单独的类,并且使它们之间可以互换。策略模式使这些算法在客户端调用它们的时候能够互不影响地变化。这里的算法不要狭义的理解为数据结构中算法,可以理解为不同的业务处理方法。这种做法会带来什么样的好处呢? 它将算法的使用
2016-04-19 14:29:37
656
转载 设计模式:代理模式(Proxy)
转自于:http://blog.csdn.net/jungle_hello/article/details/51173882定义与结构其实每个模式名称就表明了该的作用,代理模式就是多一个代理类出来,替原对象进行一些操作,比如我们在租房子的时候会去找中介为什么呢?因为你对该地区房屋的信息掌握的不够全面,希望找一个更熟悉人去帮你做,此处代理就是这意思。再如,我们有的时候想要打官司,我们需要请律师,因为律
2016-04-18 18:31:44
451
Android_shape
2015-11-26
Transition
2015-10-20
Meizitu-master
2015-10-20
DesignSupportLibraryDemo-master
2015-10-20
DesignSupportLibraryDemo
2015-10-20
Activity transitions(Activity转换效果)
2015-10-06
Free Video to GIF Converter
2015-10-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人