摘要:
记下来,很重要。Java语言的关键字,当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码。 一、当两个并发线程访问同一个对象object中的这个synchronized(this)同步代码块时,一个时间内只能有一个线程得到执行。另一个线程必须等待当前线程执行完这个代码块以后才能执行该代码块。 二、然而,当一个线程访问object的一个synchronized(this)同步代码块时,另一个线程仍然可以访问该object中的非synchronized(this)同步代码块。 三、尤其关键的是,当一个线程访问object的一个sync...
阅读全文
posted @ 2012-05-16 10:57
wanqi
阅读(275)
推荐(0)
摘要:
SQLiteException 的 ErrorCode! from :http://blog.csdn.net/zhaojiangang/article/details/4350462Result Codes SQLITE_OK 0 /* Successful result *//* beginning-of-error-codes */ SQLITE_ERROR 1 /* SQL error or missing database */ SQLITE_INTERNAL 2 /* Internal logic error in SQLite...
阅读全文
posted @ 2012-05-16 10:18
wanqi
阅读(1168)
推荐(0)
摘要:
from : http://xiaoych.iteye.com/blog/149328以前我一直以为File#renameTo(File)方法与OS下面的 move/mv 命令是相同的,可以达到改名、移动文件的目的。不过后来经常发现问题:File#renameTo(File)方法会返回失败(false),文件没有移动,又查不出原因,再后来干脆弃用该方法,自己实现一个copy方法,问题倒是再也没有出现过。昨天老板同学又遇到这个问题,File#renameTo(File)方法在windows下面工作的好好的,在linux下偶尔又失灵了。回到家我扫了一遍JDK中File#renameTo(File)
阅读全文
posted @ 2012-05-15 17:23
wanqi
阅读(663)
推荐(0)
摘要:
Future reference, need to point to mnt/sdcard/... not /sdcard/...It's strange that it still works, but gallery gets confused.
阅读全文
posted @ 2012-05-14 19:54
wanqi
阅读(954)
推荐(0)
摘要:
http://blog.csdn.net/lb015331/archive/2011/05/31/6455927.aspx一、安装opera1、添加opera官方源(sudo gedit /etc/apt/sources.list): deb http://deb.opera.com/opera/ unstable non-free2、更新源: sudo apt-get update3、安装opera: sudo apt-get install opera二、解决Opera中文输入法问题1 、安装scim-qtimm sudo apt-get install scim-qtim...
阅读全文
posted @ 2012-05-10 23:25
wanqi
阅读(336)
推荐(0)
摘要:
//正确的设置流程private RadioGroup mDualMode = (RadioGroup)findViewById(R.id.dualmode);if(type != null && type.equals("RUIM")){ Log.i(TAG,"________________________________________CDMA RUIM"); mDualMode.check(R.id.dualmode_2);}else{ Log.i(TAG,"_______________________________
阅读全文
posted @ 2012-05-10 14:42
wanqi
阅读(2517)
推荐(0)
摘要:
出处:http://www.cnblogs.com/sdphome/archive/2011/03/18/1987678.html快速重建system.img修改android的系统模块后, 需要重新生成system.img, 以前我用make systemimage,但这个过程太慢了,很烦人。于是通过make输出的信息, 找到一个比较快的方法,只编译模块和生成system.img,省去其它过程,重新生成system.img快了不少。以修改services模块为例,命令如下:cd frameworks/base/servicesmmcd -out/host/linux-x86/bin/mkya
阅读全文
posted @ 2012-05-10 11:48
wanqi
阅读(688)
推荐(0)
摘要:
问题fastboot刷新system.img的时候出现如下错误sending 'system' (131529 KB)... FAILED (remote: data too large) finished. total time: 0.000s 分析fastboot定义了的IMG文件的最大size: 120MB$ find bootable/ -name '*.h' | xargs grep 'CFG_MAX_DOWNLOAD_BUF_LEN' bootable/bootloader/legacy/include/boot/config.h:#
阅读全文
posted @ 2012-05-10 11:43
wanqi
阅读(2019)
推荐(0)
摘要:
Ubuntu 10.04 LTS 安装sun-java6-jdk ,出现错误。Reading package lists... DoneBuilding dependency treeReading state information... DonePackage sun-java6-jdk is not available, but is referred to by another package.This may mean that the package is missing, has been obsoleted, oris only available from another s
阅读全文
posted @ 2012-05-09 22:18
wanqi
阅读(511)
推荐(0)
摘要:
下面总结一下git reset的各个选项吧:1 git reset –soft 只撤销commit,保留working tree和index file。2 git reset –hard 撤销commit、index file和working tree,即撤销销毁最近一次的commit3 git reset –mixed 撤销commit和index file,保留working tree4 git reset和git reset –mixed完全一样5 git reset –用于删除登记在index file里的某个文件。
阅读全文
posted @ 2012-05-09 15:52
wanqi
阅读(1258)
推荐(0)
摘要:
研究Android的时候,经常会遇到sp、wp的东西,网上一搜,原来是android封装了c++中对象回收机制。说明:1. 如果一个类想使用智能指针,那么必须满足下面两个条件: a. 该类是虚基类RefBase的子类或间接子类 b. 该类必须定义虚构造函数。如virtual ~MyClass();2. 本文以类BBinder来进行说明,其余类使用sp或wp的情况类似3. 代码路径:frameworks/base/libs/utils/RefBase.cpp frameworks/base/include/utils/RefBase.h一、calss BBinder类说明 class RefBa
阅读全文
posted @ 2012-05-08 17:16
wanqi
阅读(12149)
推荐(2)
摘要:
出处:http://blog.csdn.net/codejoker/article/details/5843143最近在向Android移植一个开源程序,编译的时候总是出现以下错误:arm-eabi-gcc::Nosuchfileordirectory 搜索arm-eabi-gccprebuilt$find.-namearm-eabi-gcc ./linux-x86/toolchain/arm-eabi-4.3.1/bin/arm-eabi-gcc./linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi-gcc./linux-x86/toolchain
阅读全文
posted @ 2012-05-07 17:46
wanqi
阅读(6451)
推荐(1)
摘要:
linux的终端上,没有windows的搜索那样好用的图形界面工具,但find命令确是很强大的。 比如按名字查找一个文件,可以用 find / -name targetfilename 。 唉,如果只知道名字,不知道地点,这样也不失为一个野蛮有效的方法。 按时间查找也有参数 -atime 访问时间 -ctime 改变状态的时间 -mtime修改的时间。但要注意,这里的时间是以24小时为单位的。查看man手册后使用,你会很迷惑: -mtime n: Files data was last modified n*24 hours ago. 字面上的理解是最后一次修改发生在n个24小时以前的文件..
阅读全文
posted @ 2012-05-07 17:45
wanqi
阅读(33167)
推荐(0)
摘要:
深入C++的new分类:C++2011-04-10 17:1352人阅读评论(0)收藏举报转自:http://www.builder.com.cn/2008/0104/696370.shtml“new”是C++的一个关键字,同时也是操作符。关于new的话题非常多,因为它确实比较复杂,也非常神秘,下面我将把我了解到的与new有关的内容做一个总结。new的过程当我们使用关键字new在堆上动态创建一个对象时,它实际上做了三件事:获得一块内存空间、调用构造函数、返回正确的指针。当然,如果我们创建的是简单类型的变量,那么第二步会被省略。假如我们定义了如下一个类A:class A{ int i;publi
阅读全文
posted @ 2012-05-07 10:04
wanqi
阅读(271)
推荐(0)
摘要:
堆和栈的区别一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)—由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap)—一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。3、全局区(静态区)(static)—,全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。-程序结束后有系统释放4、文字常量区—常量字符串就是放在这里的。程序结束后
阅读全文
posted @ 2012-05-07 10:04
wanqi
阅读(5383)
推荐(1)
摘要:
静态dumpstack()方法提供一个new exception ("stack trace").printstacktrace ()的封装,打印一个追踪当前线程的堆栈public class TestDumpStack{public static void main(String[]args){new Common().getInfo();}}class Common{private String info = "dump stack";public String getInfo(){Thread.dumpStack();return info;}}运
阅读全文
posted @ 2012-05-05 18:47
wanqi
阅读(5463)
推荐(2)
摘要:
转载请注明出处:http://blog.csdn.net/qinjuning 在Android中并没有定义MediaButtonReceive这个广播类,MediaButtonReceive只是作为一种通俗的命名方式来响应 插入耳机后,点击耳机上的按钮(名称:MEDIA_BUTTON)接受该广播事件的类。所有该MEDIA_BUTTON的按下我们就简称 为MEDIA_BUTTON广播吧。 顾名思义:它显然是一个广播接收器类(BroadbcastReceiver),那么它就具备了BroadbcastReceiver类的使用方式, 但是,因为它需要通过AudioManager对象注册,所以它有着自己
阅读全文
posted @ 2012-05-05 10:09
wanqi
阅读(5445)
推荐(1)
摘要:
转载请注明出处:http://blog.csdn.net/qinjuning 前言: 虽然本文标题的有点标题党的感觉,但无论如何,通过这篇文章的学习以及你自己的实践认知,写个简单的滑屏小Demo还是justso so的。 友情提示: 在继续往下面读之前,希望您对以下知识点有一定程度掌握,否则,继续看下去对您意义也不大。 1、掌握View(视图)的"视图坐标"以及"布局坐标",以及scrollTo()和scrollBy()方法的作用-----必须理解 如果对这方面知识不太清楚的话,建议先看看我的这篇博客 <Android中滑屏初探 ---- scro
阅读全文
posted @ 2012-05-05 10:08
wanqi
阅读(49728)
推荐(9)
摘要:
转载请注明出处:http://blog.csdn.net/qinjuning 前言: 最近一直在看Launcher模块,经过差不多两个月学习,终于摸透了Launcher的一些主要功能实现,目前继续还处于 摸索状态。未看Launcher时,于我而言,只能膜拜,以为所有功能都是它实现的 ;入门后,才发现,Launcher的很多功能只是 集成了框架/应用程序提供的功能。很多陌生的东西,只有接触了才感叹:“oh ,原来是这样的!” 今天先给大家分享下Launcher如何实现添加快捷方式(Shortcut) ,后续会慢慢增加其他方面的功能,帮助大家“一叶而知秋”。 具体来说,Launcher中的...
阅读全文
posted @ 2012-05-05 10:08
wanqi
阅读(2975)
推荐(0)
摘要:
转载请注明出处:http://blog.csdn.net/qinjuning 今天给大家展现的如何创建一个窗口小部件(AppWidget)以及如何在自己的应用程序中添加窗口小部件(AppWidget)。 本文组织如下: 第一部分:创建一个窗口小部件; 第二部分:在自己的应用程序中添加窗口小部件(AppWidget)。 整个功能其实实现起来也是很简单的,只望大家能耐着性子点看 。 第一部分 、创建一个窗口小部件网上资料已经许多了 ,在此先给大家推荐几个不错的Blog ,大家可以先去看看: 1、SDK对AppWidget的介绍 2、Android 桌面组件【widget】初探 ...
阅读全文
posted @ 2012-05-05 10:07
wanqi
阅读(14230)
推荐(0)
摘要:
转载请注明出处:http://blog.csdn.net/qinjuning Binder机制是Android系统进程间通信的核心机制,它很大而且很复杂,不过对它有一定程度的理解和掌握是真正接触Android核心的必备。网上关于它的介绍很多,希望大家能耐着性子认真地学习Binder机制的实现。在此,给大家分享一个 我认为挺好地学习Binder机制基础的博客《Android系统中Binder机制的分析系列》,希望对大家有用。 本来也准备自己 写点关于Binder机制的,但无奈自己的理解程度还很肤浅,只好放弃了。自己从事的模块开发采用了Binder机制进行功能的开发,对Binder机制的不熟悉..
阅读全文
posted @ 2012-05-05 10:06
wanqi
阅读(1235)
推荐(0)
摘要:
转载请注明出处:http://blog.csdn.net/qinjuning 本节内容主要是讲解ActivityManager的使用,通过ActivityManager我们可以获得系统里正在运行的activities,包括 进程(Process)等、应用程序/包、服务(Service)、任务(Task)信息。 计划如下:第一部分:获取系统可用内存以及所有的正在运行的进程信息 ; 第二部分:获取每个进程里运行的应用程序信息和所有正在运行的应用程序 第三部分:获取正在运行的服务和任务信息。 每部分都准备了相应的Demo,助您更深的理解. 知识准备:Android 应用程序模块:应用、任务、进...
阅读全文
posted @ 2012-05-05 10:05
wanqi
阅读(4536)
推荐(0)
摘要:
本文原创 ,转载必须注明出处 :http://blog.csdn.net/qinjuning从今天开始,下定决心一步一步开始步入Linux殿堂,重新拾起Linux学习时,依然记得大学时代对Linux的囫囵学习, 劲头持续不了几天,就消亡在她那迷惑的外衣下。如今处于对Android系统的究极学习,以及其他很多目的,下定决心把Linux 知识掌握好。 本学习笔记素材来源 : 1、《鸟哥的Linux私房菜_基础学习篇》(电子档) 2、 两篇博文对Linux下C编程gcc命令的认知 Linux下C语言编程--基础知识以及 Linux下的C编程实战 一 、Linux 操作系统来源 大家懂得,省略…...
阅读全文
posted @ 2012-05-05 10:04
wanqi
阅读(1313)
推荐(1)
摘要:
Android ANR分类:android 源码分析2012-02-14 17:5273人阅读评论(0)收藏举报1)什么引发了ANR?在Android里,应用程序的响应性是由Activity Manager和WindowManager系统服务监视的。当它监测到以下情况中的一个时,Android就会针对特定的应用程序显示ANR:在5秒内没有响应输入的事件(例如,按键按下,屏幕触摸)BroadcastReceiver在10秒内没有执行完毕一个ANR对话框显示给用户2)如何避免ANR?考虑上面的ANR定义,让我们来研究一下为什么它会在Android应用程序里发生和如何最佳构建应用程序来避免ANR。A
阅读全文
posted @ 2012-05-04 14:22
wanqi
阅读(17664)
推荐(4)
摘要:
在UserName/bin/目录下新建一个git-diff-wrapper.sh#!/bin/sh# diff is called by git with 7 parameters:# path old-file old-hex old-mode new-file new-hex new-mode"bcompare" "$2" "$5" | cat在UserName/目录下修改.gitconfig文件[user] name = wanqi email = wanqi@hymost.com[color] ui = auto[diff]
阅读全文
posted @ 2012-05-04 09:50
wanqi
阅读(2977)
推荐(0)
摘要:
安装Ubuntu软件,选择更新源很重要。要下KUbuntu,体验一下KDE桌面,用Ubuntu10.04 Release中的更新源,几乎用了一个下午,还剩半个小时,实在是受不了了。找国内的站点,找到国内镜像之后,官方站点还需要30分钟的下载,用163的代理,分分钟的事情!ft,我浪费的时间啊!网上找到很多,我试过当前可用的有:#163 Source(熟读奇快!)[plain]view plaincopydebhttp://mirrors.163.com/ubuntu/lucidmainuniverserestrictedmultiversedeb-srchttp://mirrors.163.c
阅读全文
posted @ 2012-05-02 16:45
wanqi
阅读(2348)
推荐(0)
摘要:
AndroidManifest.xml文件解析。1、重要性 AndroidManifest.xml是Android应用程序中最重要的文件之一。它是Android程序的全局配置文件,是每个 android程序中必须的文件。它位于我们开发的应用程序的根目录下,描述了package中的全局数据,包括package中暴露的组件 (activities, services, 等等),以及他们各自的实现类,各种能被处理的数据和启动位置等重要信息。因此,该文件提供了Android系统所需要的关于该应用程序的必要信息,即在该应用程序的任何代码运行之前系统所必须拥有的信息。一个典型的Android应...
阅读全文
posted @ 2012-05-02 12:55
wanqi
阅读(830)
推荐(0)
摘要:
在开发Android应用时,通常情况下是通过USB数据线连接设备和计算机,但对于一些需要使用USB设备的应用,这种方法就碰到了麻烦,手机的USB接口已经和外接的USB设备连接,无法再连数据线,此时可以通过网络TCPIP的方法来进行。也就是然ADB 通过网络来连接设备,而无需USB数据线。具体方法如下:1. 使用USB数据线连接设备。2. 在命令行输入adb tcpip 5555 ( 5555为端口号,可以自由指定)。3. 断开 USB数据,此时可以连接你需要连接的|USB设备。4. 再计算机命令行输入 adb connect <设备的IP地址>:5555后面就可以使用ADB ,DD
阅读全文
posted @ 2012-05-02 12:50
wanqi
阅读(5557)
推荐(0)
摘要:
KindleFire设置Setting ->More->DeviceAllow Installation of Applications From Unknown Sources设为 on修改adb_usb.ini打开adb_usb.inigedit ~/.android/adb_usb.ini添加0x19490x0006保存,关闭。重启adb server,保证kindlefire可悲检测到参考 Connecting your Kindle Fire to ADBhttp://stackoverflow.com/questions/8189488/debugging-androi
阅读全文
posted @ 2012-05-02 12:49
wanqi
阅读(307)
推荐(0)
摘要:
Android 获取手机总内存和可用内存等信息在android开发中,有时候我们想获取手机的一些硬件信息,比如android手机的总内存和可用内存大小。这个该如何实现呢?通过读取文件"/proc/meminfo"的信息能够获取手机Memory的总量,而通过ActivityManager.getMemoryInfo(ActivityManager.MemoryInfo)方法可以获取当前的可用Memory量。"/proc/meminfo"文件记录了android手机的一些内存信息,在命令行窗口里输入"adb shell",进入shell环
阅读全文
posted @ 2012-04-28 15:23
wanqi
阅读(1048)
推荐(0)
摘要:
出处:http://blog.csdn.net/jiajd/article/details/3863471linux 查看文件夹大小2009-02-05 09:2315567人阅读评论(3)收藏举报du -sh * 查看当前目录下的文件夹大小du 命令用途概述磁盘使用。语法du[-a|-s] [-k] [-m] [-g][-l] [-r] [-x] [-H|-L][File ...]描述du命令显示用于文件的块的数量。如果指定的File参数实际上是一个目录,就要报告该目录内的所有文件。如果没有提供File参数,du命令使用当前目录内的文件。如果File参数是一个目录,那么报告的块的数量就是分配
阅读全文
posted @ 2012-04-25 16:53
wanqi
阅读(646)
推荐(0)
摘要:
1:获得运营名称mTelephonyManager = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);mTelephonyManager.getNetworkOperatorName(0);mTelephonyManager.getNetworkOperatorName(1);
阅读全文
posted @ 2012-04-19 20:18
wanqi
阅读(1027)
推荐(0)
摘要:
Android有四种方式:SharePreference轻量级键-值方式存储,以XML文件方式保存。文件采用java.io.*库所提供有I/O接口,读写文件。SQLit数据库SQLite是轻量级嵌入式内置数据库。ContentProviderContentProvider可为数据封装,为多个应用共享创建 SharePreference SharedPreferences settings = this.getSharedPreferences("TestXML", 0); SharedPreferences.Editor localEditor = settings.edi
阅读全文
posted @ 2012-04-07 17:31
wanqi
阅读(39399)
推荐(0)
摘要:
1.概述许多初学者对C/C++语言中的void及void指针类型不甚理解,因此在使用上出现了一些错误。本文将对void关键字的深刻含义进行解说,并详述void及void指针类型的使用方法与技巧。2.void的含义void的字面意思是“无类型”,void *则为“无类型指针”,void *可以指向任何类型的数据。void几乎只有“注释”和限制程序的作用,因为从来没有人会定义一个void变量,让我们试着来定义:void a;这行语句编译时会出错,提示“illegal use of type 'void'”。不过,即使void a的编译不会出错,它也没有任何实际意义。void真正发挥
阅读全文
posted @ 2012-04-06 16:54
wanqi
阅读(356)
推荐(0)
摘要:
简介:这是[Android底层开发]Android开发问题集锦,介绍了和java,有关的知识、技巧、经验,和一些java源码等。 1、Android Market上发软件要注意哪些问题 很多网友可能都注册了Android Market账户,但发布一款软件如果要做到很周全需要考虑哪些问题呢?(一)、兼容性 对于目前市面上Android设备品牌种类定位繁多,这里教程之家大致将这些分为几类: (1). 按操作系统区分,Android 1.5,1.6和Android 2.0,2.1或2.2等几个版本。 (2). 按屏幕分辨率区分,目前WVGA是主流即480×800目前占了近一半,当然还有一部
阅读全文
posted @ 2012-04-05 11:34
wanqi
阅读(745)
推荐(0)
摘要:
if(TelephonyManager.getSubscriptionState(subscriptionId) == TelephonyManager.SUB_ACTIVATED)
阅读全文
posted @ 2012-03-31 15:54
wanqi
阅读(409)
推荐(0)
摘要:
*1 在AndroidManifest文件中加入sdcard操作权限 * <!--在SDCard中创建与删除文件权限 --> * <uses-permissioandroid:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/> * <!--往SDCard写入数据权限 --> * <uses-permissionandroid:name="android.permission.WRITE_EXTERNAL_STORAGE"/>*2 确认sdcard的存在
阅读全文
posted @ 2012-03-16 11:39
wanqi
阅读(3592)
推荐(0)
摘要:
烧写android boot.img 后不能adb push.解决方案韦韬2012-03-14 10:33:25把系统改成可写 adb remount -o system rw林鹏2012-03-14 10:34:59我这边试下来,直接就用adb remount 也可以
阅读全文
posted @ 2012-03-14 10:59
wanqi
阅读(1016)
推荐(0)
摘要:
lsmod :列出已经被内核调入的模块 insmod:将某个module插入到内核中 rmmod:将某个module从内核中卸载 depmod:生成依赖文件,告诉将来的insmod要从哪儿调入modules。这个依赖文件就在/lib/modules/[您的kernel版本]/modules.dep。 Kerneld:负责自动的将模块调入内核和把模块从内核中卸载。
阅读全文
posted @ 2012-03-11 10:45
wanqi
阅读(399)
推荐(0)
摘要:
最近在使用Ubuntu10.10下碰到不少问题,现将部分整理如下,自己亲测通过。 Ubuntu版本:10.10 Oracle VM VirtualBox版本:4.1.6 问题:USB 2.0 is currently enabled for this virtual machine. However, this requires the Oracle VM VirtualBox Extension Pack to be installed.Please install the Extension Pack from the VirtualBox download site. After thi
阅读全文
posted @ 2012-03-06 18:11
wanqi
阅读(12293)
推荐(1)