- 博客(22)
- 资源 (1)
- 收藏
- 关注
原创 Android-两层view叠加带来的响应问题
双层view叠加不同于单个view的触摸事件分发机制,单个view的触摸事件我们先看对于一个viewGroup来说,触摸事件的分发 一般来说,开发Android应用程序的UI界面都不会直接实用View和ViewGroup,而是使用这两大基类的派生类。
2016-11-30 23:09:07 8197 1
原创 Android N新特性-多窗口模式适配
我们都知道 Android N 带来了多窗口的新特性,这样我们的App在适配android N的时候肯定要做一些适配工作。
2016-11-30 23:06:45 1230
原创 Android开发之context
今天研究了一下Context类,对于context发现即熟悉又陌生。一个我们天天打交道的东西到底是什么呢,这篇文章将带大家了解context。
2016-11-30 23:05:10 375
原创 Java的反射机制
Java反射机制主要提供了以下功能: 在运行时判断任意一个对象所属的类; 在运行时构造任意一个类的对象; 在运行时判断任意一个类所具有的成员变量和方法; 在运行时调用任意一个对象的方法; 生成动态代理。
2016-11-30 23:04:00 428
原创 Android浅析SurfaceView
为什么要用SurfaceView在自定义View中,我们知道使用onDraw可以做一些简单的动画效果。通过不断循环的执行View.onDraw方法,每次执行都对内部显示的图形做一些调整,我们假设onDraw方法每秒执行20次,这样就会形成一个20帧的补间动画效果。但是现实情况是你无法简单的控制View.onDraw的执行帧数,这边说的帧数是指每秒View.onDraw方法被执行多少次,这是为什么呢?
2016-11-30 23:01:31 373
原创 Android设计模式之策略模式
策略模式,很多人会忘记的一个模式,但是是我们平时开发中用到的最多的,我个人而言,我认为多态的使用,就是策略模式的最好应用。定义策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以互相替换。策略模式让算法独立于使用它的客户而独立变化。通过建立抽象,将不同的策略构建成一个具体的策略实现,通过不同的策略实现算法替换。
2016-11-30 23:00:30 264
原创 Android中的原型模式
原型模式是一种创建型的设计模式,主用来创建的复杂的对象和构建耗时的实例。通过克隆已有的对象来创建的新的对象,从而节省时间和内存。通过克隆一个已经存在的实例可以使我们的程序运行的更高效。
2016-11-30 22:58:40 363
原创 当Android遇到单例模式
定义单例模式最初的定义出现于《设计模式》(艾迪生维斯理, 1994):“保证一个类仅有一个实例,并提供一个访问它的全局访问点。”而我对单例的理解是,在可控的范围内充当全局变量的作用,就相当于C语言中一个全局结构体。一些资源管理器常常设计成单例模式。在计算机系统中,需要管理的资源包括软件外部资源,譬如每台计算机可以有若干个打印机,但只能有一个Printer Spooler, 以避免两个打印作业同时输出
2016-11-30 22:57:15 386
原创 当Android遇见工厂模式
我们先看一下一个Android系统应用中的工厂模式列子,再讲解工厂模式。package com.android.mms.ui;import android.content.Context;import android.util.Log;import java.lang.reflect.Constructor;import java.lang.reflect.InvocationTargetExc
2016-11-30 22:49:40 424
原创 Android设计模式之观察者模式
最近看android message代码的时候,发现有个CursorAdapter这个东西,蛮冷门的,然后看到了这篇文章[Cursor,CursorAdapter中的观察者模式解析][1],发现自己需要恶补一下设计模式,于是便有了这篇文章的诞生。正题 观察者模式。首先我们得明确观察者模式的定义,即:对象间的一种一对多的依赖关系,当一个对象的状态发
2016-11-30 22:48:09 344
原创 Android设计模式之Builder模式
我们首先来看一下Builder模式的定义:23种设计模式之一,英文叫Builder Pattern。其核心思想是将一个“复杂对象的构建算法”与它的“部件及组装方式”分离,使得构件算法和组装方式可以独立应对变化;复用同样的构建算法可以创建不同的表示,不同的构建过程可以复用相同的部件组装方式。Builder模式目的将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。
2016-11-30 22:46:57 404
原创 几步教你怎么写MVP
概述首先我们应该是知道的是,软件设计中,降低耦合度是很重要的,大名鼎鼎的MVC(Model-View-Controller)便是因此而生,而在android设计中MVP早就红了半边天, 我们学习MVP是很有必要的。
2016-11-30 22:02:08 1148 1
原创 RecyclerView入门简介
RecyclerView可以看作是ListView的进化版本,当然RecyclerView并不是继承ListView的,RecyclerView直接继承于ViewGroup父类。RecyclerView的灵活性与可替代性比listview更好,我们可以很方便的使用它完成ListView比较难完成的效果。现在,我们开始学习如何使用它
2016-11-30 21:48:53 434
转载 如何在Fragment中获取Activity
Fragment中获取Activity的Context时只需要this.getActivity()即可. 而不是许多人说的this.getActivity().getApplicationContext(),如果用后者传入AlterDialog肯定会报错(android.view.WindowManager$BadTokenException:Unable to add window -
2016-07-03 21:52:32 2551 1
原创 ViewPaper与ViewFliper的选择
ViewFlipper继承ViewAnimator,切换view的时候是有动画效果的,适合做ppt,多界面的程序欢迎引导界面,算是个轻量级的组件,适合展示静态数据,少量数据。ViewPager继承ViewGroup。看官网描述,这货和Fragment是好搭档,Fragment有自己的生命周期。也就是说ViewPager更适用复杂的视图切换,而且Viewpager有自己的adapter,这也
2016-07-03 19:37:34 528
原创 STM32定时器简介--极度基本版
STM32一共有11个定时器,其中2个高级控制定时器,4个普通定时器和2个基本定时器,以及2个看门狗定时器和1个系统嘀嗒定时器。其中系统嘀嗒定时器是前文中所描述的SysTick。主要讲普通定时器定时器。 TIM2-TIM5是普通定时器,每个可输出4路PWM TIM6和TIM7是基本定时器,其时钟由APB1输出产生。 TIM1 TIM8为高级定时器,每个可输出7路PWM共可以输出30路PWM系统
2015-05-31 18:34:23 560
原创 ARM系列常识
1.PC是R152.CPU执行一条指令要做哪些操作 主要有3个步骤:取指(将指令从内存或指令cache中取入指令寄存器)、译码(辨识出该指令是要执行加、减或是其他操作)、执行。3.指令执行方式:流水线操作 在对第1条指令进行译码的时候,可以同时对第2条指令进行取指操作;在对第1条指令开始执行的时候,可以同时对第2条指令进行译码操作,对第3条指令进行取指操作。因此,此时整个程序的
2015-05-31 18:30:22 934
转载 java常用集合总结
java常用集合总结1、线程安全 线程安全就是说多线程访问同一代码,不会产生不确定的结果。2、List类和Set类List类和Set类是Collection集合接口的子接口。Set子接口:无序,不允许重复。List子接口:有序,可以有重复元素。Set和List对比: Set:检索元素效率低下,删除和插入效率高,插入和删除不会引起元素位置改变。 List:和数
2015-01-30 17:21:14 373
原创 各平台的延时函数
DOS:sleep(1); //停留1秒 delay(100); //停留100毫秒 Windows: Sleep(100); //停留100毫秒 Linux: sleep(1); //停留1秒 usleep(1000); //停留1毫秒
2015-01-18 10:18:12 687
原创 关于curse.h终端图形库的学习
由于项目的需要,本人于15年元旦研究研究了curse库,关于学习这库谈谈自己的感想。悲剧的是curse输出中文会半乱码,我试了几种方法都没解决,还是有点烦躁的。curse库学起来很简单,但是很多人因为怕学,就畏惧了。其实不妨从最基本的几个函数敲起来,你就可以看到成果,接着,学习兴趣就来了。curse库,开写时先将 include 进来.当您引进 curses.h 这个函式库後, 系
2015-01-04 21:00:03 2084
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人