`
文章列表
Service生命周期一般有两种使用方式 Service可以被启动或者允许被启动直到有人停止了它或者它自己停止了。在这种模式下,它通过Context.startService()方法开始,通过Context.stopService()方法停止。它可以通过Service.stopSelf()方法或者Service.stopSelfResult()方法来停止自己。只要调用一次stopService()方法便可以停止服务,无论调用了多少次的启动服务方法。 Service可以通过定义好的接口来编程,客户端建立一个与Service的链接,并使用此链接与Service进行通话。通过Context.bind ...

SurfaceView

动态壁纸是在Android 2.1新增的一个功能。动态壁纸可以添加到Android的桌面,具有交互式的动画背景效果。在本教程中,我们将教会你如何去制作一个交互式的动态壁纸。 动态壁纸是一个Android应用程序,包括一个服务(WallpaperService)。该服务必须包括一个引擎(WallpaperService.Engine)。该引擎是连接用户、桌面、系统之间的桥梁。它也可以绘制桌面壁纸。 首先,必须由内在的Engine类创建一个WallpaperService类。该服务必须在AndroidManifest.xml中声明为"android.service.wallpaper. ...
C语言宏定义技巧(常用宏定义)    写好C语言,漂亮的宏定义很重要,使用宏定义可以防止出错,提高可移植性,可读性,方便性 等等.下面列举一些***软件中常用得宏定义......   1,防止一个头文件被重复包含 #ifndef COMDEF_H #define COMDEF_H   //头文件内容 #endif 2,重新定义一些类型,防止由于各种平台和编译器的不同,而产生的类型字节数差异,方便移植. typedef  unsigned char      boolean;     /* Boolean value type. */   typedef  unsign ...
C中的预编译宏定义  在将一个C源程序转换为可执行程序的过程中, 编译预处理是最初的步骤. 这一步骤是由预处理器(preprocessor)来完成的. 在源流程序被编译器处理之前, 预处理器首先对源程序中的"宏(macro)"进行处理. C初学者可能对预处理器没什么概念, 这是情有可原的: 一般的C编译器都将预处理, 汇编, 编译, 连接过程集成到一起了. 编译预处理往往在后台运行. 在有的C编译器中, 这些过程统统由一个单独的程序来完成, 编译的不同阶段实现这些不同的功能. 可以指定相应的命令选项来执行这些功能. 有的C编译器使用分别的程序来完成这些步骤. 可单 ...

c 函数指针

函数指针是什么?     先来看函数调用是怎么回事。一个函数占用一段连续内存。当调用一个函数时,实际上是跳转到函数入口地址,执行函数体的代码,完成后返回。如何找到对应的入口地址?这是由函数名来标记的,实际 ...

linux 常用C函数

 字符测试篇 isalnum(测试字符是否为英文或数字) 相关函数 isalpha,isdigit,islower,isupper 表头文件 #include<ctype.h> 定义函数 int isalnum (int c) 函数说明 检查参数c是否为英文字母或阿拉伯数字,在标准c中相当于使用“isalpha(c) || isdigit(c)”做测试。 返回值 若参数c为字母或数字,则返回TRUE,否则返回NULL(0)。 附加说明 此为宏定义,非真正函数。 范例 /* 找出str 字符串中为英文字母或数字的字符*/ #include < ctype.h> ...
 虽然PreferenceActivity的UI比较搓,但是由于其良好的封装性和实用性,所以在一些场景还是有一定的使用价值。所以如何能优化它的UI让它和你程序相配就十分必要了。毕竟对于程序员来说能懒点就懒点,哈哈。  首先,   public abstract class PreferenceActivity extends ListActivity implements PreferenceManager.OnPreferenceTreeClickListener, PreferenceFragment.OnPreferenceStartFragmen ...
Windown类,位于代码树frameworks\base\core\java\android \view\Windowjava.java文件。连同注释,这个文件总共一千多行,它概括了Android 窗口的基本属性和基本功能。 WindowManager 是Android 中一个重要的服务 (Service )。WindowManager Service 是全局的,是唯一的。它将用户的操作,翻译成为指令,发送给呈现在界面上的各个Window。Activity会将顶级的控件注册到 Window Manager 中, 当用户真是触碰屏幕或键盘的时候,Window Man ...
效果图如下: 代码如下: public class BlurWindow { private Window mWindow; private WindowManager mWindowManager; private View mEmptyView; public static final int START_BLUR = 0; public static final int STOP_BLUR = 1; private static final int EMPTY_SIZE = 0; private Handler ...
   在Java中,枚举类型本质上其实就是一个类,枚举中的常量都是该枚举类型的实例。虽然枚举类型有一些限制,比如不能再派生出子枚举类型,不能调用构造函数,不过我们仍然可以在枚举类型中定义构造函数、字段和方法。 ...

获取Service实例

//工具接口 public interface ServiceCreator {     Service getService();        public static class ServiceBinder<T extends Service> extends Binder {        private ServiceCreator mServiceCreator;         public ServiceBinder(ServiceCreator serviceFactory) {            mServiceCreator = serviceF ...
list_selector.xml: <?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android">     <item android:drawable="@drawable/shape_pressed" android:state_pressed="true"/>    <item androi ...
在手机安装应用时,系统会自动在/data/data目录下面以应用的主包名创建一个目录,默认还会在最后的那个目录里面创建一个lib目录。下面看一下系统获取存储空间的代码:   来自android2.3.3系统源代码/packages/apps/Settings/src/com/android/settings/applications/ManageApplications.java     531.mDataFileStats = new StatFs("/data");  532.mSDCardFileStats = new StatFs ...

GNU Make 简介

Make 程序最初设计 是 为了维护C 程序文件防止不必要的重新编译。在使用命令行编译器的时候,修改了一个工程中的头文件,如何确保包含这个头文件的所有文件都得到编译?现在10 机的版本生成是使用批处理程序,编译那些文件依赖于程序的维护者,在模块之间相互引用头文件的情况下,要将所有需要重新编译的文件找出来是一件痛苦的事 情;在找到这些文件之后,修改批处理进行编译。实际上这些工作可以让make 程序来自动完成,make 工具 对于维护一些具有相互依赖关系的文件特别有用,它对文件和命令的联系(在文件改变时调用来更新其它文件的程序)提供一套编码方法。Make 工具的基本概念类似于Prog ...

android filter

    一、何谓Android的过滤机制?     Android对数据的处理是分层的,从上到下,可以分为:数据层、提供层、Cursor层(不好意思,没找到一个词来表示)、适配层、显示层。每个层次通过一定的机制,可以使数据发生变化时能 ...
Global site tag (gtag.js) - Google Analytics