- 博客(57)
- 收藏
- 关注
转载 Media开发之铃声设置(RingtoneManager)
public class Media_RingTongActivity extends Activity { //定义三个按钮 private Button mRingtongButton; private Button mAlarmButton; private Button mNotificationButton;
2013-04-11 16:02:56
940
转载 Java中参数传递类型只有值传递
java核心技术卷I里有一个结论我觉得挺有意思的:java中没有引用传递,只有值传递 首先看定义: 值传递,是指方法接收的是调用者提供的值 引用传递,是指方法接收的是调用者提供的变量地址 以前学习C++时把参数传递分为值传递和引用传递,国内的不少java教材愿意把对象的传递理解是引用传递,为什么它们会这么说呢?可以看下面一个例子: import java.util.Calen
2013-04-11 08:33:42
593
原创 Android5个进程等级
1. 前端进程 正处于Activity onResume状态 正处于bound服务交互状态 服务在前端运行startForeground()被调用 Service函数正在被执行onCreate,onStart,onDestroy Receiver函数正在被执行onReceive2. 可见进程 不在最前端,Activity被对话框覆盖 bound到一个v
2013-04-10 08:46:04
755
原创 Android Manifest解析
在系统启动的时候PacketedManegerService会解析manifest.xml并将其保存到内存中,相当于建立一张表,供后面的应用程序来调用在启动应用程序的时候,在内存表中查找到合适的组件进行实例化
2013-04-09 20:27:41
643
原创 i++和++i哪个效率高
只有在必要时才使用后置操作符因为前置操作需要做的工作更少,只需要加1后返回加1后的结果即可。而后置操作符则必须先保存操作数原来的值,以便返回未加1之前的值作为操作的结果。对于int对象和指针,编译器可优化掉这项额外工作。但是对于更多的复杂迭代器类型,这种额外工作可能会花费更大代价。因此,养成使用前置操作这个好习惯,就不必担心性能差异的问题。这个问题是分两种情况的:1、对于内置数据类型,
2013-04-07 14:51:09
1698
转载 ADN FDN SDN
ADN Abbreviated dialing numberFDN Fixed dialer numberBDN Barred dialing numbersLND Last number dialedSDN Service dialing numberADN(SI
2012-12-11 09:25:50
3751
转载 \r是回车符,\n是换行符
\r是回车符,\n是换行符计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33)的玩意,每秒钟可以打10个字符。但是它有一个问题,就是打完一行换行的时候,要用去0.2秒,正好可以打两个字符。要是在这0.2秒里面,又有新的字符传过来,那么这个字符将丢失。 于是,研制人员想了个办法解决这个问题,就是在每行后面加两个表示结束的字符。一个叫做“回车”,告诉打字机把打印头定位在
2012-12-06 18:30:10
642
原创 Linux应用 - 时间编程
时间类型Coordinated Universal Time(UTC):世界标准时间,也就是格林威治时间Greenwhich Mean Time(GMT)Calendar Time日历时间,从一个标准时间点到此时经历过的秒数1. 获取日历时间#includetime_t time(time_t *tloc)获取日历时间,即从1970年1月1日0点到现在经历的秒数#inc
2012-12-05 16:54:48
388
原创 库函数-访问文件
库函数-访问文件1. 库函数-创建和打开#FILE *fopen(const char *filename, const char *mode)filename: 要打开的文件名mode: 打开模式r,rb: 只读方式打开w,wb: 只写方式打开,如果文件不存在,则创建该文件a,ab: 追加方式打开,如果文件不存在,则创建该文件r+,r+b,rb+: 读写方
2012-12-05 15:44:14
490
原创 系统调用访问文件
系统调用访问文件1. 系统调用-创建int creat(const char *filename, mode_t mode)filename 要创建的文件名(包含路径,缺省为当前路径)mode 创建模式S_IRUSR 可读 0100 4S_IWUSR 可写 0010 2S_IXUSR 可执行 0001 1S_IRWXU 可读、可写、可执行
2012-12-05 14:11:00
476
原创 Wifi测试
Wifi测试步骤1. 写配置文件system("echo "" > /data/misc/wifi/user_priority.conf");system("chown wifi.wifi /data/misc/wifi/user_priority.conf");if(access("/data/misc/wifi/wpa_supplicant.conf",F_OK)){sys
2012-11-23 09:44:57
1425
转载 strtok和strsep函数详解
函数原型:char *strtok(char *s, const char *delim); char *strsep(char **s, const char *delim); 功能:strtok和strsep两个函数的功能都是用来分解字符串为一组字符串。s为要分解的字符串,delim为分隔符字符串。
2012-11-22 10:32:55
626
原创 strcpy/strncpy/sprintf/_snprintf/snprintf的区别
1. char *strcpy(char *str1, char *str2); 串拷贝#include #include int main(void) { char string[10]; char *str1 = "abcdefghi"; strcpy(string, str1); printf("%s\n", string); return
2012-11-19 10:55:08
1894
原创 查看User模式还是Eng模式
1. 查看User模式还是Eng模式shell@android:/ $ cat default.propcat default.prop## ADDITIONAL_DEFAULT_PROPERTIES#ro.secure=1ro.allow.mock.location=0ro.debuggable=0persist.sys.usb.config=mass_sto
2012-11-17 11:02:28
2271
原创 静态区、堆、栈区别
静态区:保存自动全局变量和static 变量(包括static 全局和局部变量)。静态区的内容在总个程序的生命周期内都存在,由编译器在编译的时候分配。栈:保存局部变量。栈上的内容只在函数的范围内存在,当函数运行结束,这些内容也会自动被销毁。其特点是效率高,但空间大小有限。堆:由malloc 系列函数或new 操作符分配的内存。其生命周期由free 或delete 决定。在没有释放之前一
2012-11-12 11:26:43
573
原创 嵌入式Linux文件系统
1. 嵌入式Linux中,主要的存储设备为 1). RAM 2). FLASHNOR 存放程序 读的速度较快,价格较高,存储容量较小NAND 存放数据 写的速度较快,价格较低,存储容量较大,容易出现坏块。2. 文件系统分类 1).基于Flash的文件系统 a). Jffs2 主要用于NOR型Flash,基于MTD驱动层。可读写、支持数据压缩的日
2012-11-11 20:39:24
569
原创 嵌入式Linux内核启动流程
1. .config 配置启动的命令行 1). 使用nfs作为根文件系统 CONFIG_CMDLINE="root=/dev/nfs rw nfsroot=192.168.0.10:/home/King/mini2440/rootfs ip=192.168.0.13 console=ttySAC0 mem=64M"root=/dev/nfs 指名使用哪种系统作为根文
2012-11-11 15:38:01
669
原创 制作根文件系统
步骤1. 创建文件系统目录 mkdir bin dev etc lib proc sbin sys urs tmp var mkdir usr/bin usr/lib usr/sbin lib/modules2. 创建设备文件 cd dev/ mknod -m 666 console c 5 1 mknod -m 666 null c 1 3
2012-11-11 15:18:12
368
原创 Uboot命令
1. 查看Uboot环境变量printenv [name]2. 添加、修改、删除环境变量setenv name [value]3. 保存环境变量saveenv : 有的没有提供4. 文件下载 - tftp1). 配置网络a). setenv ethaddr 12:34:56:78:9A:BC设置网卡地址b). setenv ipaddr 192.16
2012-11-10 21:12:12
542
原创 Uboot介绍
1. U-boot的来源德国DENX小组开发的2. 作用1). 可以用于多种嵌入式CPU(ARM, x86, MIPS, XScale等)的bootloader程序2). 支持Linux, VxWorks, QNX等多种嵌入式操作系统3. 源码下载ftp://ftp.denx.de/pub/u-boot/4. 目录结构board : 和开发板有关的文件。
2012-11-10 19:47:47
481
原创 增加ldo regulator震动驱动
增加ldo regulator震动驱动//LDO的声明和初始化TC4_Kernel_3.0/arch/arm/mach-exynos/mach-smdk4x12.c1. 为ldo提供名字static struct regulator_consumer_supply s5m8767_ldo19_supply[] = {- REGULATOR_SUPPLY("dvdd2
2012-11-10 18:16:19
1558
原创 Bootloader介绍
1. 软件角度看嵌入式系统,分为三个层次1). 引导加载程序a). 包含在固件(firmware)中的boot程序,如PC机上的BIOS【可选的,有的没有】b). Bootloader: 将内核从硬盘上读到内存中,然后跳到内核的入口点去运行,即启动操作系统Lilo Linux磁盘引导程序 支持x86,不支持ARM、PowerPCGrub GNU的Lili代替程序 支持x86
2012-11-10 09:53:34
517
原创 内核模块开发基础
1. hello module Makefile的编写# Makefile2.6obj-m += hellomod.o # 产生hellomod 模块的目标文件hellomod-objs := add.o xxx.o#依赖的文件CURRENT_PATH := $(shell pwd) #模块所在的当前路径LINUX_KERNEL := $(shell
2012-11-09 16:43:29
454
原创 内核代码结构
arch | architecture的缩写,架构相关的代码,内核所支持的每种CPU体系,在该目录下都有对应的子目录。arm | arm处理器mach-xxx | 代表着一款开发板mach-s3c2410mach-s3c2440mach-s5p64x0mach-exynosmach-smdk4x12 | 正在使用的开发版本...powerpc | p
2012-11-09 10:44:14
459
原创 Shell编程
1. 指定shell脚本的解析程序#!/bin/sh符号#!用来指定该脚本文件的解析程序可以指定sh使用的命令,一般/bin/sh -> bash,我们服务器上就是/bin/sh -> dash2. 注释符号#开头表示注释3. 自定义变量所有变量都由字符串组成,不能加入数字。如a1=“xxx”是错误的变量赋值时左右两边都不要加空格,如a = 1是错误的
2012-11-08 19:29:22
389
原创 Linux使用
1. 切换用户Ctrl + Alt + F7切换到图形界面Ctrl + Alt + F1/F2/F3/F4/F5/F6 切换到字符界面2.
2012-11-07 15:34:11
385
原创 kill和killall的区别
kill对象是进程IDkill -9 proc_idkillall对象是进程名字killall -9 proc_name注:信号代码可以省略;我们常用的信号代码是 -9 ,表示强制终止;
2012-11-07 14:19:22
8284
转载 Ubuntu下更改gcc版本的简便方法
1. 下载指定版本:sudo apt-get install gcc-4.42. 使用指定版本// 首先须移除原有的gcc快捷方式,然后把新安装的gcc指定到原有的位置 // 该方法在11.04下测试可用# rm /usr/bin/gcc # ln -s /usr/bin/gcc-4.4 /usr/bin/gcc其实当你到 /usr/bin 目录下ls时,你就会发现Linux的
2012-11-01 10:40:48
1121
原创 Shell中显示时间差
begintime=`date +%s` sleep 2sendtime=`date +%s`duration=$(($endtime-$begintime))
2012-10-31 16:02:33
910
原创 解压/制作Android Bootimg
一、 解压boot.img1.先下工具。 split.pl2.解压boot.img文件去到boot.img所在的文件夹,输入下面的命令:split.pl boot.img Page size: 2048 (0x00000800)Kernel size: 2240184 (0x00222eb8)Ramdisk size: 221504 (0x00036
2012-10-29 14:50:26
1951
原创 制作/解压android ramdisk.img镜像
一、解包Ramdisk.img1 查看文件格式: file ramdisk.imgramdisk.img: gzip compressed data, from Unix可知ramdisk.img是一个压缩包,当然ramdisk.img的压缩不是必需的2 解压ramdisk.img压缩包: gunzip -S .img ramdisk.img由于文件名不是.gz,所以要加-
2012-10-29 14:48:51
4748
1
原创 构建根文件系统-initramfs
用initramfs方式构建根文件系统步骤:0) set envenimenta) $ export PATH=$PATH:/usr/local/arm/arm-2009q3/bin1) make busybox.a) $ cd busybox-1.20.2b) $ make menuconfigBusybox Settings--> Build Options
2012-10-18 10:31:28
1135
原创 构建根文件系统-initrd
1. 用initrd方式构建根文件系统操作步骤:0) set envenimenta) $ export PATH=$PATH:/usr/local/arm/arm-2009q3/bin1) make busybox.a) $ cd busybox-1.20.2b) $ make menuconfigBusybox Settings--> Build Optio
2012-10-18 10:29:50
756
原创 git patch
1) 创建从HEAD^到HEAD的patch: git format-patch HEAD^..HEAD2) 打补丁 git am -3 [PATCH]=======================在用git am提交patch时,有时在提交失败后,继续提交时会出现/.git/rebase-apply still exists
2012-06-27 17:17:41
409
原创 二维char数组与二维char指针
char**的内存结构可以看成有多个连续的char*类型的元素构成,而二维字符数组是由M*N个字符组成。1. 以下函数将出现段错误:#include #define M 2#define N 100void test(const char** pstr){int i = 0;for(i = 0; i {printf("array[%d]= %
2012-06-18 11:29:43
11742
原创 Linux驱动bug记录 - 2.开机时手机一直在震动
现象:手机开机,马达一直震动分析:uboot正常启动后,没有设置震动关闭解决:在震动200ms后关闭马达相关代码:u-boot/property/normal_mode.cvoid normal_mode(void){ //MMU_Init(CONFIG_MMU_TABLE_ADDR);vibrator_hw_init();set_vibrator(1
2012-06-06 11:11:12
1236
原创 Linux驱动bug记录 - 1. Android数据无法显示到LCD上
现象:uboot启动正常,kernel启动能显示第一帧画面,以后的画面无法显示,停留在第一帧分析:由于启动的时候开启了,Fmark同步功能,Fmark等待LCD的同步确认,但是有的LCD panel不支持这一功能,或者没有开启这个功能解决:关闭Fmark功能,不要求LCD panel的同步相关代码:kernel/drivers/video/sc8810/fb_main.cstati
2012-06-06 10:50:22
712
原创 Windows搭建Trac
1. 安装 Python- Trac使用python语言编写,自然需要这个环境我安装的是python-2.7.1.msi,官方的打不开,我是在网上搜索的这个安装文件所选安装目录是D:\Trac\Python272. 安装数据库If you're using Python 2.5 or 2.6, you already have everything you need.
2012-06-04 17:22:23
3151
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人