Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux

底层之旅 —— Linux下的I2c体系结构

底层之旅 —— Linux下的I2c体系结构

最近在搞电容式触摸屏驱动,用I2C总线接口来传输数据,所以趁机复习一下I2C总线原理。 I2C总线是Philips公司推出的芯片间品德传输总线,它采用两线制,由串行时钟线SCL和串行数据线SDA构成。在电路设计方面,由于I2C总线接口为开漏或开集电极输出,需要加上上拉电阻。 I2C总线通信方式: (1)I2C采用主/从方式进行双向通信。 (2)I2C总线的时钟线SCL和数据线SDA都是双向传输线。 (3)在标准I2C模式下,...
Android中的service 实现之 利用onStart方式

Android中的service 实现之 利用onStart方式

service的实现主要有两种方式,一种是onStart方式,另一种是onBoundd方式。两种方式的关于service的生命周期不一样。前者是和activity的生命周期一样的,后者则不是。activity结束了service可以继续运行。onStart 方法来调用service的话,调用者其实和service是没有关系的,调用者消亡了的话,service是依然可以继续运行的;onBound方式的话调用者和service是绑定在一起的,调用者消亡的了话,...
Android Service 之Bound Service

Android Service 之Bound Service

前面提了start service 是可以独立与调用程序运行的(见http://www.linuxidc.com/Linux/2011-09/42254.htm),也就是说启动它的程序消亡了,该service还是可以继续运行的。 这里的Bound Service 就没这好事了,它仅仅服务于调用它的组件,不能脱离于调用它的组件而生存。人都完蛋了,人体的一些器官有啥用呢。。。 Bound Service 是允许其他的组件(如 Activities)绑定到其上...
Linux 2.6 内核的调度程序分析

Linux 2.6 内核的调度程序分析

在Linux 的2.6的内核中,使用了一种O(1)的调度算法,使得Linux的调度程序能够在O(1)的时间复杂度内完成。每个处理器都含有一个运行队列,运行队列中保存的是可运行的进程,处理器调度程序每次的调度都是从可运行队列当中取出一个当前优先级最高的进程(线程)来投入运行的。运行队列的结构体如下:/** This is the main, per-CPU runqueue data structure.** Locking rule: those plac...
Android 创建自定义View

Android 创建自定义View

创建自定义的View能够从根本上塑造你的应用程序的外观,你可以通过创建自定义视图的方式去满足用户独特的需求。你可以继承View类或者是SurfaceView类。View类提供了一个Canvas对象,你可以去使用这个对象的很多画图的方法以及Paint对象去绘制你的自定义视图。当然你可以通过覆盖screen touch, key press等的UI事件,对这些事件进行响应,与用户进行交互。SurfaceView类提供了一个Surface对象用来支持使用后台独立...
Android软件开发之发送短信与系统短信库解析

Android软件开发之发送短信与系统短信库解析

今天我和同学们讨论一下Android平台下如何调用系统方法发送短信、接收短信、系统的短信库相关的问题。进入正题,我们先使用Eclipse工具模拟给自己的模拟器发送一条短信。在Eclipse下打开DDMSIncoming number: 这里须要填写的是发件人的手机号码,这里只能输入数字否则会无法发送。 Message: 这里为发送的内容send: 上面两项都填写完毕点击发送键可以给模拟器发送短信。点击发送后,模拟器中就可以看到自己收到了一条消息 发件人的号...
Android游戏开发之使用AnimationDrable实现Frame动画

Android游戏开发之使用AnimationDrable实现Frame动画

Android开发中在制作2D帧动画中提供了使用XML配置动画文件的方式绘制,也就是说Android底层提供了动画播放的接口,那么我们分析一下如何调用它的接口来绘制动画。首先在工程res资源文件夹下创建anim动画文件夹,在这个文件夹中建立一个animation.xml文件, 这样它的路径就为re/anim/animation.xml。看看内容应该是很好理解的,<animation-list>为动画的总标签,这里面放着帧动画 <item&...
Android开发改善用户体验的小技巧

Android开发改善用户体验的小技巧

出色的用户体验有三个特征:速度快、响应及时以及无缝。我们不能假设手机与桌面系统和服务器一样快,更多的是要关注你的代码是否高效。编写高效的Android代码,应遵循两个原则:不要做不必要的事;不要分配不必要的内存。以下是一些达到此目标的小技巧:1、避免建立对象例如,int数组比Integer数组好,同理,这适用于所有基本类型的组合2、使用本地方法不要吝惜使用String.indexOf(), String.lastIndexOf()等特殊实现的方法(spec...
Android开发AsyncTask异步处理任务使用方法及注意事项

Android开发AsyncTask异步处理任务使用方法及注意事项

在开发Android应用时必须遵守单线程模型的原则:Android UI操作并不是线程安全的并且这些操作必须在UI线程中执行。在单线程模型中始终要记住两条法则:1.不要阻塞UI线程2.确保只在UI线程中访问Android UI工具包当一个程序第一次启动时,Android会同时启动一个对应的主线程(MainThread),主线程主要负责处理与UI相关的事件,如:用户的按键事件,用户接触屏幕的事件以及屏幕绘图事件,并把相关的事件分发到对应的组件进行处理。所以主...
Android触控屏幕Gesture(GestureDetector和SimpleOnGestureListener的使用教程)

Android触控屏幕Gesture(GestureDetector和SimpleOnGestureListener的使用教程)

1、当用户触摸屏幕的时候,会产生许多手势,例如down,up,scroll,filing等等,我们知道View类有个View.OnTouchListener内部接口,通过重写他的onTouch(Viewv,MotionEventevent)方法,我们可以处理一些touch事件,但是这个方法太过简单,如果需要处理一些复杂的手势,用这个接口就会很麻烦(因为我们要自己根据用户触摸的轨迹去判断是什么手势)Android sdk给我们提供了GestureDetect...
Android中使用SoftReference缓存图片对象

Android中使用SoftReference缓存图片对象

Java中的SoftReference即对象的软引用。如果一个对象具有软引用,内存空间足够,垃圾回收器就不会回收它;如果内存空间不足了,就会回收这些对象的内存。只要垃圾回收器没有回收它,该对象就可以被程序使用。软引用可用来实现内存敏感的高速缓存。使用软引用能防止内存泄露,增强程序的健壮性。 SoftReference的特点是它的一个实例保存对一个Java对象的软引用,该软引用的存在不妨碍垃圾收集线程对该Java对象的回收。也就是说,一旦SoftRefere...
Android--由文件名获取文件Id的两种方法

Android--由文件名获取文件Id的两种方法

在Android中,我们经常使用资源文件的id来代替这个资源,如 R.drawable.*** ,那怎样通过文件名得到这个资源的Id的,这里介绍两种方法:一:通过 getIdentifier (String name, String defType, String defPackage)方法。这里有两种实现1.name 用package:type/entry,那么后面两个参数可以为null.2.name只写文件名,后面两参数分别为文件类型和包路径。二:通过...
<< 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 >>