自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Linux/Android开发记录

学习、记录、分享Linux/Android开发技术

  • 博客(86)
  • 资源 (5)
  • 收藏
  • 关注

原创 Git学习笔记

作者:刘昊昱 博客:http://blog.csdn.net/liuhaoyutz 推荐学习网址http://git-scm.com/dochttp://lostechies.com/joshuaflanagan/2010/09/03/use-gitk-to-understand-git/ 1、commit树不是线性的,不是一条直线,而是tree,是树状的,可以有很多分

2014-11-08 11:36:33 5150

原创 一个打印调试信息的例子

作者:刘昊昱 博客:http://blog.csdn.net/liuhaoyutz #include #define HAOYU_DEBUG_TYPE #ifdef HAOYU_DEBUG_TYPE#define HAOYU_DEBUG(...) \ do { \ printf("\n[HAOYU_DEBUG] ------------------ i

2014-10-22 08:53:22 3511

原创 Linux FrameBuffer分析之编写基于FrameBuffer接口的应用程序

作者:刘昊昱 博客:http://blog.csdn.net/liuhaoyutz测试环境:Ubuntu 12.04终端模式 在网上找到一个很不错的介绍FrameBuffer相关知识的帖子,原帖网址如下:http://bbs.chinaunix.net/thread-1932291-1-1.html,现把其中测试FrameBuffer的应用程序代码转帖过来,方便分析学习:#in

2014-07-23 16:12:08 7729 1

原创 Android架构分析之Android智能指针(二)

作者:刘昊昱 博客:http://blog.csdn.net/liuhaoyutzAndroid版本:4.4.2 在上一篇文章中,我们分析了Android智能指针中的强指针sp,本文我们来分析弱指针wp。为什么需要弱指针wp呢?我们来考虑下面一种场景:有两个类CParent和CChild,CParent类中有一个智能指针指向CChild对象,CChild类中有一个智能指针指向CPa

2014-06-13 16:29:00 4424

原创 Android架构分析之Android智能指针(一)

作者:刘昊昱 博客:http://blog.csdn.net/liuhaoyutzAndroid版本:4.4.2 在C++语言中,指针操作是最容易问题的地方,常见的指针操作错误有以下几种:1、      定义一个指针,但没有对其进行初始化。这种情况下,指针会指向一个随机地址,此时使用该指针,将出现不可预知的错误。一般定义一个指针时,应该同时对该指针进行初始化。2、     

2014-05-28 13:27:45 3928

原创 Android架构分析之Android消息处理机制(三)

作者:刘昊昱 博客:http://blog.csdn.net/liuhaoyutzAndroid版本:4.4.2 本文我们来分析AndroidUI线程即主线程是怎样实现对消息的处理的。UI线程的实现类定义在frameworks/base/core/java/android/app/ActivityThread.java文件中。我们来看Android对ActivityThread

2014-05-20 17:28:20 3362

原创 Android架构分析之Android消息处理机制(二)

作者:刘昊昱 博客:http://blog.csdn.net/liuhaoyutzAndroid版本:4.4.2 在上一篇文章中我们看了一个使用Handler处理Message消息的例子,本文我们来分析一下其背后隐藏的Android消息处理机制。我们可能比较熟悉Windows操作系统的消息处理模型:while(GetMessage(&msg,NULL, 0, 0)){

2014-05-19 17:05:23 3305

原创 Android架构分析之Android消息处理机制(一)

作者:刘昊昱 博客:http://blog.csdn.net/liuhaoyutz 在这个系列文章中我们将来分析Android消息处理机制。

2014-05-14 16:23:50 3919 1

原创 ftrace用法

ftrace官方文档在kernel/Documentation/trace/ftrace.txt文件中。 使用ftrace接口之前,如果系统没有自动挂载debugfs文件系统,则要先手动挂载。# mount -t debugfs nodev /sys/kernel/debug ftracer的目录为/sys/kernel/debug/tracing,下面介绍这个目录下的常用文件

2014-04-16 10:22:52 15170

原创 LDD3源码分析之块设备驱动程序

作者:刘昊昱 博客:http://blog.csdn.net/liuhaoyutz编译环境:Ubuntu 10.10内核版本:2.6.32-38-generic-paeLDD3源码路径:examples/sbull 一、块设备驱动基本操作我们从init函数开始分析,sbull的init函数内容如下:403static int __init sbull_init(vo

2014-01-27 17:38:04 4905 1

原创 Linux设备驱动程序架构分析之SD Spec摘要

作者:刘昊昱 博客:http://blog.csdn.net/liuhaoyutz 本文是对SDSpecifications Part 1 Physical Layer Simplified Specification Version 4.10的摘要记录,具体信息可参考该文档。 3、SD Memory Card System Concept3.1 读-写属性按照读/写属

2013-12-27 12:09:15 12201 3

原创 Linux设备驱动程序架构分析之MMC/SD(二)

作者:刘昊昱 博客:http://blog.csdn.net/liuhaoyutz内核版本:3.10.1 一、s3cmci_ops分析在上一篇文章中我们分析了Mini2440 MMC/SD驱动的probe函数s3cmci_probe。在该函数中初始化了struct mmc_host指针变量mmc,其中,设置mmc->ops为s3cmci_ops,s3cmci_ops定义在dri

2013-12-24 14:09:44 15822 1

原创 Linux设备驱动程序架构分析之MMC/SD(一)

作者:刘昊昱 博客:http://blog.csdn.net/liuhaoyutz内核版本:3.10.1 MMCMMC全称MultiMedia Card,由西门子公司和SanDisk公司1997年推出的多媒体记忆卡标准。MMC卡尺寸为32mm x24mm x 1.4mm,它将存贮单元和控制器一同做到了卡上,智能的控制器使得MMC保证兼容性和灵活性。MMC卡具有MMC和SPI

2013-12-19 13:31:53 31583 1

原创 Linux设备驱动程序架构分析之一个I2C驱动实例

作者:刘昊昱 博客:http://blog.csdn.net/liuhaoyutz内核版本:3.10.1 编写一个I2C设备驱动程序的工作可分为两部分,一是定义和注册I2C设备,即i2c_client;二是定义和注册I2C设备驱动,即i2c_driver。下面我们就以mini2440的I2C设备at24c08 EEPROM为例,介绍如何完成这两个工作。 一、定义和注册I2C

2013-12-12 14:50:26 15610 5

原创 Linux设备驱动程序架构分析之I2C架构(基于3.10.1内核)

作者:刘昊昱  博客:http://blog.csdn.net/liuhaoyutz内核版本:3.10.1 I2C体系架构的硬件实体包括两部分:硬件I2C Adapter:硬件I2C Adapter表示一个硬件I2C适配器,也就是I2C控制器。一般是SOC中的一个接口,也可以用GPIO模拟。硬件I2C Adapter主要用来在I2C接口上产生I2C时钟信号和数据信号。硬件I2C

2013-12-09 15:48:48 15154 3

原创 Linux设备驱动程序架构分析之I2C Spec摘要

作者:刘昊昱 博客:http://blog.csdn.net/liuhaoyutz 1、I2C总线介绍I2C(Inter-Integrated Circuit,内置集成电路)总线是由PHILIPS公司提出的一种串行总线,用于连接处理器及其外围设备,它具有如下特点:l  只有两条总线线路:一条串行数据线(SDA),一条串行时钟线(SCL)。l  每个连接到总线的器件都可以使用

2013-12-09 15:30:54 5234

原创 Linux设备驱动程序架构分析之platform(基于3.10.1内核)

作者:刘昊昱 博客:http://blog.csdn.net/liuhaoyutz内核版本:3.10.1 一、platform bus的注册platform bus注册是通过platform_bus_init函数完成的,该函数定义在drivers/base/platform.c文件中,其内容如下: 904int __init platform_bus_init(void)

2013-11-12 16:09:08 9663

原创 Linux设备模型分析之device_driver(基于3.10.1内核)

作者:刘昊昱 博客:http://blog.csdn.net/liuhaoyutz内核版本:3.10.1 一、device_driver定义 181/** 182 * struct device_driver - The basic device driver structure 183 * @name: Name of the device driver. 184

2013-11-11 17:46:54 8726

原创 Linux设备模型分析之device(基于3.10.1内核)

作者:刘昊昱 博客:http://blog.csdn.net/liuhaoyutz内核版本:3.10.1 一、device定义device结构体定义在include/linux/device.h文件中: 598/** 599 * struct device - The basic device structure 600 * @parent: The device's

2013-11-06 15:51:49 11110 2

原创 Linux设备模型分析之bus(基于3.10.1内核)

作者:刘昊昱 博客:http://blog.csdn.net/liuhaoyutz内核版本:3.10.1 一、bus定义Linux设备驱动模型中的bus,即可以是物理总线(如PCI、I2C总线)的抽象,也可以是出于设备驱动模型架构需要而定义的虚拟的“platform”总线。一个符合Linux设备驱动模型的device或device_driver必须挂靠在一个bus上,无论这个b

2013-11-01 15:48:56 7094

原创 Linux设备模型分析之kset(基于3.10.1内核)

作者:刘昊昱 博客:http://blog.csdn.net/liuhaoyutz内核版本:3.10.1 一、kset结构定义kset结构体定义在include/linux/kobject.h文件中,其内容如下:142/**143 * struct kset - a set of kobjects of a specific type, belonging to a sp

2013-10-29 09:44:00 5440

原创 Linux设备模型分析之kobject(基于3.10.1内核)

作者:刘昊昱 博客:http://blog.csdn.net/liuhaoyutz内核版本:3.10.1 一、kobject结构定义kobject是Linux设备模型的最底层数据结构,它代表一个内核对象。kobject结构体定义在include/linux/kobject.h文件中: 60struct kobject { 61    const char

2013-10-24 10:17:29 5516 1

原创 Android应用开发学习笔记之BroadcastReceiver

作者:刘昊昱 博客:http://blog.csdn.net/liuhaoyutz 一、BroadcastReceiver机制概述 Broadcast Receiver是Android的一种“广播发布/消息接收”机制,或者说的更准确一些,是一种“监听”机制。作为广播发布者的应用程序,可以在不知道谁(如果有的话)将接收这个广播消息的情况下发出一个广播消息(广播的消息实际上就是一个

2013-08-29 08:12:28 1809

原创 Android应用开发学习笔记之Service

作者:刘昊昱 博客:http://blog.csdn.net/liuhaoyutz Android Service分为两种,一是StartedService,另一种是Bound Service。下面来看Android官方文档对这两种Service的定义:A service canessentially take two forms:StartedA service is "

2013-08-28 11:20:59 1478

原创 Android应用开发学习笔记之AsyncTask

作者:刘昊昱 博客:http://blog.csdn.net/liuhaoyutz 在上一篇文章中我们学习了多线程和Handler消息处理机制,如果有计算量比较大的任务,可以创建一个新线程执行计算工作,但是子线程无法更新UI界面,所以通过Handler消息处理机制与UI线程通信,更新UI界面。有一个问题需要注意,创建的子线程太多时,会影响系统性能。针对这个问题,Android为我们

2013-08-23 15:46:39 1351

原创 Android应用开发学习笔记之多线程与Handler消息处理机制

作者:刘昊昱 博客:http://blog.csdn.net/liuhaoyutz 和JAVA一样,Android下我们可以通过创建一个Thread对象实现多线程。Thread类有多个构造函数,一般通过构造函数Thread(Runnable runnable)实现多线程,代码如下:Thread thread = new Thread(new Runnable() {

2013-08-23 15:39:58 1531

原创 Android应用开发学习笔记之ContentProvider

作者:刘昊昱 博客:http://blog.csdn.net/liuhaoyutz ContentProvider用于为其它应用程序提供共享数据,它为不同应用程序间共享数据提供了统一的操作接口。 一、ContentProvider的Uri每个ContentProvider都有对应的Uri,例如,一个自定义的ContentProvider Uri格式如下:content:

2013-08-22 17:00:26 2043 2

原创 Android应用开发学习笔记之播放视频

作者:刘昊昱 博客:http://blog.csdn.net/liuhaoyutz 在Android中,我们可以通过使用VideoView类或者MediaPlayer类来播放视频。 一、使用VideoView类播放视频要使用VideoView类播放视频,首先要在布局文件中添加VideoView组件,然后在Activity中获取该组件,并使用VideoView.setVide

2013-08-22 16:32:04 8877 3

原创 Android应用开发学习笔记之播放音频

作者:刘昊昱 博客:http://blog.csdn.net/liuhaoyutz Android支持常用音视频格式文件的播放,本文我们来学习怎样开发Android应用程序对音视频进行操作。Android提供了MediaPlayer和SoundPool两个类能够用来播放音频,MediaPlayer类通常用来播放较大的文件,比如一首MP3歌曲,这种文件通常保存在SD卡上,而不是保存在

2013-08-22 16:27:23 7567 2

原创 Android应用开发学习笔记之绘图

作者:刘昊昱 博客:http://blog.csdn.net/liuhaoyutz 一、绘图常用类介绍 在Android中绘图时,常用到的几个类是Paint、Canvas、Bitmap和BitmaptFactory。其中,Paint类代表画笔,Canvas类代表画布。有了Paint和Canvas类就可以进行绘图操作了。 1、  Paint类Android官方文档中对

2013-08-22 16:21:51 7148

原创 Android应用开发学习笔记之事件处理

作者:刘昊昱 博客:http://blog.csdn.net/liuhaoyutz Android提供的事件处理机制分为两类:一是基于监听的事件处理;二是基于回调的事件处理。对于基于监听的事件处理,主要的做法是为Android界面组件绑定特定的事件监听器。对于基于回调的事件处理,主要是重写Android组件特定的回调函数或重写Activity的回调函数。基于监听的事件处理,在前面的

2013-08-16 15:05:50 1522

原创 Android应用开发学习笔记之菜单

作者:刘昊昱 博客:http://blog.csdn.net/liuhaoyutz Android中的菜单分为选项菜单(OptionMenu)和上下文菜单(Context Menu)。通常使用菜单资源文件创建菜单。菜单资源文件通常放置在res\menu目录下,这个目录默认情况下是不存在的,需要我们自己创建该目录。菜单资源的根元素通常是标记,在该标记中可以包含两种子元素:1、标记,用

2013-08-16 15:03:29 1848

原创 Android应用开发学习笔记之Intent

作者:刘昊昱 博客:http://blog.csdn.net/liuhaoyutz Intent是什么呢?来看Android官网上的定义:An intent is an abstractdescription of an operation to be performed. It can be used with startActivity tolaunch an Activi

2013-08-16 14:53:19 1714

原创 Android应用开发学习笔记之Fragment

作者:刘昊昱 博客:http://blog.csdn.net/liuhaoyutz Fragment翻译成中文就是“碎片”、“片断”的意思,Fragment通常用来作为一个Activity用户界面的一部分。例如,可以用Fragment1在左边显示一个列表,用Fragment2在右边显示选中列表项的详细内容。两个Fragment属于同一个Activity,并且每个Fragment有它自己

2013-08-13 15:14:24 1700

原创 Android应用开发学习笔记之startActivityForResult

作者:刘昊昱  博客:http://blog.csdn.net/liuhaoyutz 如果我们有这样的需求:使用Activity1启动Activity2,Activity2处理完数据后,将处理结果返回给Activity1,这时,可以使用startActivityForResult()函数。下面我们通过一个例子来看这个函数的用法,该例子运行效果如下:我们先来看主布局文

2013-08-08 16:35:20 2890

原创 Android应用开发学习笔记之使用Bundle交换数据

作者:刘昊昱  博客:http://blog.csdn.net/liuhaoyutz 在上一篇文章中我们学会了怎样从一个Activity中启动另外一个Activity执行,但是有时我们需要在两个Activity之间传递一些数据,这种需要可以通过Bundle来实现。下面我们就通过一个例子看怎样通过Bundle在两个Activity之间传递数据。该程序运行效果如下:首先看主布局

2013-08-08 16:30:25 3313

原创 Android应用开发学习笔记之启动另外一个Activity

作者:刘昊昱  博客:http://blog.csdn.net/liuhaoyutz 一个Activity可以启动另外一个Activity,以实现比较复杂的功能,我们来看一个例子,其运行效果如下图所示:主布局文件main.xml如下所示:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/a

2013-08-06 16:43:18 2053 1

原创 Android应用开发学习笔记之AlertDialog对话框

作者:刘昊昱  博客:http://blog.csdn.net/liuhaoyutz 本文中我们通过一个例子来看AlertDialog对话框的实现,其运行效果如下:主布局文件main.xml内容如下:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" androi

2013-08-06 16:35:31 1845

原创 Android应用开发学习笔记之状态栏通知

作者:刘昊昱  博客:http://blog.csdn.net/liuhaoyutz 状态栏通知涉及到两个类,一是Notification,它代表一个通知;另一个是NotificationManager,它是用于发送Notification的系统服务。使用状态栏通知一般有4个步骤:1、  通过getSystemService()方法获取NotificationManag

2013-08-06 16:31:41 3731

原创 Android应用开发学习笔记之Toast消息提示框

作者:刘昊昱  博客:http://blog.csdn.net/liuhaoyutz 本文我们来看Toast消息提示框的用法。使用Toast消息提示框一般有三个步骤:1、  创建一个Toast对象。可以使用两种方法创建Toast对象,一种是使用Toast构造函数,另一种方法是使用Toast.makeText()方法创建。使用构造函数创建代码如下:Toast toas

2013-08-06 16:20:12 2550

Universal-USB-Installer-1.9.5.2

用于制作Ubuntu启动安装U盘,使用起来很方便快捷。

2014-08-02

ADT-18.0.0.zip

ADT-18.0.0.zip离线安装包,因为eclipse在线安装ADT不方便,所以可以使用离线安装的方式。

2012-04-25

ADT-16.0.0.zip

ADT-16.0.0.zip离线升级包,因为eclipse在线安装ADT插件不方便,可以使用离线安装的方式。

2012-04-25

ADT-12.0.0.zip

ADT-12.0.0.zip离线升级包,因为eclipse在线安装ADT插件不方便,可以使用离线安装的方式。

2012-04-25

emacs_vim_config

emacs and vim config file.

2012-04-21

空空如也

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

TA关注的人

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