自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 Volley 源码解析

1. 功能介绍1.1. VolleyVolley 是 Google 推出的 Android 异步网络请求框架和图片加载框架。在 Google I/O 2013 大会上发布。名字由来:a burst or emission of many things or a large amount at once发布演讲时候的配图从名字由来和配图中无数急促的火箭可以

2015-04-16 17:25:18 536

转载 蘑菇街架构

###1. 架构总览###2. 模块介绍####2.1 协议封装与任务流程#####1) 协议与任务的封装 a. 协议有协议头(协议头因为格式相同,被抽象出来)和协议体组成,协议有两类:请求协议(request)和回复协议(response); b. 任务(action)由请求协议、回复协议和任务回调(callback)组成; c. callback

2015-04-07 09:01:34 2080

转载 Android中LocalSocket使用

一 Socket  Socket最初用在基于TCP/IP网络间进程通信中,以客户端/服务器模式进行通信。实现异步操作,共享资源集中处理,提高客户端响应能力。Tcp通信基本流程:  服务器端                                                                       客户端  1.创建socket

2015-03-12 14:04:57 388

转载 Java总结篇系列:java.lang.Object

http://www.cnblogs.com/lwbqqyumidi/p/3693015.html从本篇开始,将对Java中各知识点进行一次具体总结,以便对以往的Java知识进行一次回顾,同时在总结的过程中加深对Java的理解。Java作为一个庞大的知识体系,涉及到的知识点繁多,本文将从Java中最基本的类java.lang.Object开始谈起。Object类是Jav

2015-02-06 15:20:17 876

转载 UML图中类之间的关系:依赖,泛化,关联,聚合,组合,实现

转http://blog.csdn.net/hguisu/article/details/7609483类与类图1) 类(Class)封装了数据和行为,是面向对象的重要组成部分,它是具有相同属性、操作、关系的对象集合的总称。2) 在系统中,每个类具有一定的职责,职责指的是类所担任的任务,即类要完成什么样的功能,要承担什么样的义务。一个类可以有多种职责,设计得好的类一般只有一

2015-01-27 19:23:10 440

转载 Android学习 StateMachine与State模式

转http://www.cnblogs.com/bastard/archive/2012/06/05/2536258.html一 State模式意图:  允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改了它的类。(Objects for States)  对象内部状态决定行为方式,对象状态改变行为方式改变;但这里为何要强调内部状态,外部状态改变

2015-01-23 09:53:12 373

转载 图解Android - Android GUI 系统 (1) - 概论

转http://www.cnblogs.com/samchen2009/p/3364327.htmlAndroid的GUI系统是Android最重要也最复杂的系统之一。它包括以下部分:窗口和图形系统 - Window and View Manager System.显示合成系统 - Surface Flinger用户输入系统 - InputManager System应用框架系统

2015-01-22 10:28:05 2062

转载 Android 5.0(Lollipop)事件输入系统(Input System)

转http://blog.csdn.net/jinzhuojun/article/details/41909159其实Android 5.0中事件输入子系统的框架和流程没有本质变化。Service端的实现在/frameworks/native/services/inputflinger/下(4.4中在/frameworks/base/services/input下)。通用部分的实现在/fram

2015-01-21 20:26:58 963

转载 Android 之 Window、WindowManager 与窗口管理

其实在android中真正展示给用户的是window和view,activity在android中所其的作用主要是处理一些逻辑问题,比如生命周期的管理、建立窗口等。在android中,窗口的管理还是比较重要的一块,因为他直接负责把内容展示给用户,并和用户进行交互。响应用户的输入等。在讲窗口管理时,有必要先说下ViewManager这个接口,这个接口主要有以下的实现子接口和实现类,分别是:W

2015-01-21 20:14:33 366

转载 Android 4.4(KitKat)窗口管理子系统 - 体系框架

原文地址:http://blog.csdn.net/jinzhuojun/article/details/37737439窗口管理系统是Android中的主要子系统之一,它涉及到App中组件的管理,系统和应用窗口的管理和绘制等工作。由于其涉及模块众多,且与用户体验密切相关,所以它也是Android当中最为复杂的子系统之一。一个App从启动到主窗口显示出来,需要App,Activ

2015-01-21 19:31:07 628

转载 Android中的事件机制

Android 中与 Touch 事件相关的方法包括:dispatchTouchEvent(MotionEvent ev)、onInterceptTouchEvent(MotionEvent ev)、onTouchEvent(MotionEvent ev);能够响应这些方法的控件包括:ViewGroup、View、Activity。方法与控件的对应关系如下表所示:  从这张表中我们

2015-01-14 10:22:36 401

转载 Android事件处理模型

Android平台的事件处理机制有两种,一种是基于回调机制的,一种是基于监听接口的,现介绍第一种:基于回调机制的事件处理。Android平台中,每个View都有自己的处理事件的回调方法,开发人员可以通过重写View中的这些回调方法来实现需要的响应事件。当某个事件没有被任何一个View处理时,便会调用Activity中相应的回调方法。Android提供了以下回调方法供用户使用:1. onKe

2015-01-13 19:20:21 372

转载 java容器

1.迭代器   迭代器是一种设计模式,它是一个对象,它可以遍历并选择序列中的对象,而开发人员不需要了解该序列的底层结构。迭代器通常被称为“轻量级”对象,因为创建它的代价小。   Java中的Iterator功能比较简单,并且只能单向移动:   (1) 使用方法iterator()要求容器返回一个Iterator。第一次调用Iterator的next()方法时,它

2015-01-12 19:22:34 274

转载 使用ContentProvider

一、使用ContentProvider(内容提供者)共享数据ContentProvider在android中的作用是对外共享数据,也就是说你可以通过ContentProvider把应用中的数据共享给其他应用访问,其他应用可以通过ContentProvider对你应用中的数据进行添删改查。关于数据共享,以前我们学习过文件操作模式,知道通过指定文件的操作模式为Context.MODE_WORL

2014-12-30 20:42:08 298

转载 SQLiteOpenHelper简介

SQLiteDatabase是Android SDK中操作数据库的核心类之一。使用SQLiteDatabase可以打开数据库,也可以对数据库进行操作。然而为了数据库升级的需要以及使用更方便,往往使用SQLiteOpenHelper的子类来完成创建、打开数据库及各种数据库操作。     SQLiteOpenHelper是个抽象类,在该类中有如下两个抽象方法,SQLiteOpenHelper的子类

2014-12-30 20:07:40 562

转载 Android 中关于 【Cursor】 类的介绍

使用过 SQLite 数据库的童鞋对 Cursor 应该不陌生,如果你是搞.net 开发你大可以把Cursor理解成 Ado.net 中的数据集合相当于dataReader。今天特地将它单独拿出来谈,加深自己和大家对Android 中使用 Cursor 的理解。关于 Cursor在你理解和使用 Android Cursor 的时候你必须先知道关于 Cursor 的几件事情:

2014-12-13 09:33:56 327

转载 ViewHolder模式超简洁写法,很cool!

ViewHolder是什么就不解释了。        大家通常怎么写ViewHolder呢?[java] view plaincopy        ViewHolder holder = null;          if(convertView == null){                  convertView 

2014-11-27 19:17:40 346

转载 listview加载性能优化ViewHolder

在android开发中Listview是一个很重要的组件,它以列表的形式根据数据的长自适应展示具体内容,用户可以自由的定义listview每一列的布局,但当listview有大量的数据需要加载的时候,会占据大量内存,影响性能,这时候就需要按需填充并重新使用view来减少对象的创建。ListView加载数据都是在public View getView(int position, View c

2014-11-27 19:11:04 334

转载 ANDROID 中设计模式的采用--创建型模式

所谓模式就是在某一情景下解决某个问题的固定解决方案。        所有的创建型模式都是用作对象的创建或实例化的解决方案。        1 简单工厂模式创建对象的最简单方法是使用new来创建一个对象,如果只创建一种固定不变的对象,可以使用new来创建这个对象。如果要根据不同场景创建不同类型的对象,就可能需要采用不同的方法,就出现了不同的模式的采用和总结

2014-11-18 19:46:02 490

转载 广播(Broadcast内部机制讲解)续

3 激发广播        大家常见的激发广播的函数有哪些呢?从ContextImpl.java文件中,我们可以看到一系列发送广播的接口,列举如下:public void sendBroadcast(Intent intent)public void sendBroadcast(Intent intent, int userId)public voi

2014-09-25 16:02:38 1129

转载 广播(Broadcast内部机制讲解)

http://my.oschina.net/youranhongcha/blog/226274摘要 我们在编写Android程序时,常常会用到广播(Broadcast)机制。从易用性的角度来说,使用广播是非常简单的。不过,这个不是本文关心的重点,我们希望探索得再深入一点儿。我想,许多人也不想仅仅停留在使用广播的阶段,而是希望了解一些广播机制的内部机理。如果是这样的话,请容我斟一杯红

2014-09-25 16:00:44 440

转载 Android开发:性能最佳实践-管理应用内存

在任何软件开发环境中,RAM都是宝贵的资源,但在移动操作系统中更加珍贵。尽管Dalvik虚拟机有垃圾回收机制,也不要忽略分配和释放内存。为了让GC回收内存,你要避免内存泄漏(通常因为全局成员变量引用对象引起),并且在适当的时候释放对象引用。对大多数app来说,垃圾回收负责剩下的:当相应的对象离开app活动线程范围时,系统回收内存分配。为了让GC回收内存,你要避免内存泄漏(通常因为全局成员变量引

2014-09-18 16:25:25 734

转载 Java 接口和抽象类区别

原文:http://blog.csdn.net/sunboard/article/details/38318231.概述一个软件设计的好坏,我想很大程度上取决于它的整体架构,而这个整体架构其实就是你对整个宏观商业业务的抽象框架,当代表业务逻辑的高层抽象层结构 合理时,你底层的具体实现需要考虑的就仅仅是一些算法和一些具体的业务实现了。当你需要再开发另一个相近的项目时,你以前的抽象层说

2014-09-16 16:01:38 424

转载 设计模式 策略模式 以角色游戏为背景

今天不想写代码,给大家带来一篇设计模式的文章,帮助大家可以把系统组织成容易了解、容易维护、具有弹性的架构。先来看看策略模式的定义:策略模式(Strategy Pattern):定义了算法族,分别封装起来,让它们之间可相互替换,此模式让算法的变化独立于使用算法的客户。好了,对于定义,肯定不是一眼就能看明白的,不然这篇文章就收尾了,对于定于大家简单扫一眼,知道个大概,然后继续读

2014-09-01 19:47:53 421

转载 android4.2.2调试mu609 3G模块

1.修改kernel\drivers\usb\serial\option.c,添加MU609的ID号[cpp] view plaincopy#define HUAWEI_PRODUCT_E353   0x1506  [cpp] view plaincopy#define HUAWEI_PRODUCT

2014-06-17 17:16:42 1419

转载 Android2.1下调试3G模块(三)

现在开始介绍如何实现ppp拨号上网。在/system/etc下创建ppp目录,并在ppp目录下创建以下文件: 1.init.gprs-pppd#!/system/bin/sh# An unforunate wrapper scriptPPPD_PID=/system/bin/setprop "net.gprs.ppp-exit" ""/system/

2014-06-17 11:00:21 596

转载 Android2.1下调试3G模块(二)

前面讲到了如何让修改kernel驱动和ril层代码,接下来还需要增加ppp拨号以及设备文件和服务属性。1.修改init.gprs-pppd属性对应文件:system/core/include/private/android_filesystem_config.h在static struct fs_path_config android_files[]中增加:+  

2014-06-17 10:42:11 457

转载 Android2.1下调试3G模块(一)

曾几何时在Android2.1下调试3G模块,曾几何时模块厂商提供的库不能用,曾几何时只能用自己的库痛苦地调试...这一切的一切都已成往事,昔日的成功在毫无保留下成为浮云,该忘了忘记了,该记得也跟着忘记了。现如今再次调3G模块,却不知道以前如何调试,看来还是要记下来。我采用的是华为EM770W模块,支持WCDMA网络,由于华为提供的库只支持Android2.2,所以用Android2.1就

2014-06-17 10:36:22 579

转载 Android RIL 调试分析全记录

以前没有调试过RIL的东西, 从零开始, 花了两周时间,终于拨号成功,这里发表出来与大家共享经验,少走弯路.    上一篇文章是一个成功拨号的Android RIL log, 这里主要结合上一篇log进行分析, 分享一些注意事项, 由于时间有限,尽量言简意概, 主要要自己尝试去实践才会有所收获。 (本文所指的log行号,是指上一篇文章所标记的行号) 1. 所

2014-06-16 11:56:16 1479 1

转载 android 3G pppd 调试记录

android 3G pppd 调试记录。1.  JAVA 部分android/development/data/etc/apns-conf_sdk.xml   --->  system/etc/apns-conf.xml注意 apns 的版本,       apn="3gnet"      mcc="460"      mnc="01"      prox

2014-06-16 11:16:59 875

转载 mtk6572配置lcm背光

mtk6572配置lcm背光 配置lcm背光的控制脚lcm背光控制主要有两个引脚:使能脚EN和亮度控制引脚VFB。使能脚用来控制背光的使能与否,比如这里是1为enable,0为disable;亮度控制引脚则是用来接PWM输出,通过PWM的占空比来控制背光亮度,这里是低为亮,高为灭。mtk的电路图上表示的是PWM_A为disable,PWM_B为enable\mediat

2014-06-10 19:32:37 2266

转载 DAPM之二:audio paths与dapm kcontrol

在用alsa_amixer controls时,除了我们之前提到的snd_soc_add_controls添加的kcontrols外,还有一些多出来的controls。其实多出来的那些都是属于dapm kcontrol,主要用于切换音频路径。一、AUDIO PATHS OVERVIEW以标准内核2.6.32的wm8900 codec为例。先看AUDIO PATHS OV

2014-06-05 19:49:36 434

转载 UART接口

1.UART    UART(Universal Asynchronous Receiver and Transmitter)通用异步收发器(异步串行通信口),是一种通用的数据通信协议,它包括了RS232、RS499、RS423、RS422和RS485等接口标准规范和总线标准规范,即UART是异步串行通信口的总称。   而RS232、RS499、RS423、RS422和RS485等,是

2014-06-05 17:40:48 499

转载 DAPM之一:概述

DAPM--Dynamic Audio Power Management,对应结构体是snd_soc_dapm_widget和snd_soc_dapm_route,对应的操作函数是snd_soc_dapm_new_controls()、snd_soc_dapm_add_routes()和snd_soc_dapm_new_widgets()。在我看来,DAPM是音频驱动初接触者的噩梦。从何处来,到何

2014-06-04 11:02:26 444

转载 Linux ALSA声卡驱动之八:ASoC架构中的Platform

1.  Platform驱动在ASoC中的作用前面几章内容已经说过,ASoC被分为Machine,Platform和Codec三大部件,Platform驱动的主要作用是完成音频数据的管理,最终通过CPU的数字音频接口(DAI)把音频数据传送给Codec进行处理,最终由Codec输出驱动耳机或者是喇叭的音信信号。在具体实现上,ASoC有把Platform驱动分为两个部分:snd_soc_pl

2014-05-29 15:04:21 706

转载 Linux ALSA声卡驱动之七:ASoC架构中的Codec

1.  Codec简介在移动设备中,Codec的作用可以归结为4种,分别是:对PCM等信号进行D/A转换,把数字的音频信号转换为模拟信号对Mic、Linein或者其他输入源的模拟信号进行A/D转换,把模拟的声音信号转变CPU能够处理的数字信号对音频通路进行控制,比如播放音乐,收听调频收音机,又或者接听电话时,音频信号在codec内的流通路线是不一样的对音频信号做出相应的处理

2014-05-29 15:02:51 597

转载 Linux ALSA声卡驱动之六:ASoC架构中的Machine

前面一节的内容我们提到,ASoC被分为Machine、Platform和Codec三大部分,其中的Machine驱动负责Platform和Codec之间的耦合以及部分和设备或板子特定的代码,再次引用上一节的内容:Machine驱动负责处理机器特有的一些控件和音频事件(例如,当播放音频时,需要先行打开一个放大器);单独的Platform和Codec驱动是不能工作的,它必须由Machine驱动把它们结

2014-05-29 11:05:57 546

转载 Linux ALSA声卡驱动之五:移动设备中的ALSA(ASoC)

1.  ASoC的由来ASoC--ALSA System on Chip ,是建立在标准ALSA驱动层上,为了更好地支持嵌入式处理器和移动设备中的音频Codec的一套软件体系。在ASoc出现之前,内核对于SoC中的音频已经有部分的支持,不过会有一些局限性:   Codec驱动与SoC CPU的底层耦合过于紧密,这种不理想会导致代码的重复,例如,仅是wm8731的驱动,当时Lin

2014-05-29 11:03:08 551

转载 Linux ALSA声卡驱动之四:Control设备的创建

Control接口Control接口主要让用户空间的应用程序(alsa-lib)可以访问和控制音频codec芯片中的多路开关,滑动控件等。对于Mixer(混音)来说,Control接口显得尤为重要,从ALSA 0.9.x版本开始,所有的mixer工作都是通过control接口的API来实现的。 ALSA已经为AC97定义了完整的控制接口模型,如果你的Codec芯片只

2014-05-29 09:59:47 563

转载 Linux ALSA声卡驱动之三:PCM设备的创建

1. PCM是什么PCM是英文Pulse-code modulation的缩写,中文译名是脉冲编码调制。我们知道在现实生活中,人耳听到的声音是模拟信号,PCM就是要把声音从模拟转换成数字信号的一种技术,他的原理简单地说就是利用一个固定的频率对模拟信号进行采样,采样后的信号在波形上看就像一串连续的幅值不一的脉冲,把这些脉冲的幅值按一定的精度进行量化,这些量化后的数值被连续地输出、传输、处

2014-05-29 09:34:24 543

android面试题

一套android面试题,涉及上层和底层驱动,比较基础,适合初学者和面试者

2014-10-08

android平台培训

对整个android系统架构初步讲解,和android重要机制有初步了解

2014-10-08

空空如也

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

TA关注的人

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