摘要:本文将在Android开发的过程中,遇到的一些典型问题,拿出来与大家分享。持续更新中...
阅读全文
摘要:1.java.lang.NullPointerException at java.io.File.fixSlashes(File.java:267) at java.io.File.<init>(File.java:131)File file = new File(filePath);其中的 filePath 为null.--------------------------------------------------------------------2.更科学的方法参看我的另一篇博文:利用Android的崩溃日志来定位问题
阅读全文
摘要:过几秒后,广告回来了,但是却出现以下的错误,但是又不能传一个Handler进去,郁闷,有人知道怎么解决的么?06-30 09:26:50.799: ERROR/AndroidRuntime(1134): FATAL EXCEPTION: ServiceThread06-30 09:26:50.799: ERROR/AndroidRuntime(1134): android.view.ViewRoot$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch i
阅读全文
摘要:http://android.git.kernel.org/?p=platform/external/sqlite.git;a=commitdiff;h=3a74962298118ee138e290c3458bccb895854b47显示SQLite中的 GET_PHONEBOOK_INDEX 函数是在2010.3.3才加入的,也就是说,可能2.0之后的很多老机器都不支持该函数,需要自己去实现,This function will produce a normalized upper case first letterfrom a given string.Bug: 2407129Change
阅读全文
摘要:有人提交的Bug描述: http://code.google.com/p/android/issues/detail?id=3484现象:如果你将LinearLayout作为一个View添加到根目录中,但是这个LinearLayout没有子View的话,运行的时候就会收到如下的error:06-18 21:50:44.020: ERROR/AndroidRuntime(28605):> java.lang.RuntimeException: mBaselineAlignedChildIndex of LinearLayout> set to an index that is ou
阅读全文
摘要:要想查看系统自定义的样式,比如 style="?android:attr/dropDownItemStyle",1 首先当然必须有源代码2 其次查找的目录是在: <android_source>/frameworks/base/core/res/res/values 下的某个源文件中3 因为是attr,所以现在attrs.xml中查找: <!-- Default style for drop down items. --> <attr name="dropDownItemStyle" format="referen
阅读全文
摘要:但是在代码中,注册监听倒是可以的,android.intent.action.SCREEN_OFF也是一样不能的意思是,其实写了receiver在解屏或者锁屏的时候都截获不到任何的消息搜到两篇老外的介绍:1 http://groups.google.com/group/android-developers/browse_frm/thread/81d84efa68578924?scoring=d&q=screen_on&2 http://stackoverflow.com/questions/2575242/android-intent-action-screen-on-does
阅读全文
摘要:参考: http://hi.baidu.com/lihn1987/blog/item/73fb281ac1a61cdaac6e752c.htmlGetObjectClass 以及 用 GetObjectArrayElement获取的对象退出JNI 函数或者不再使用的时候 需要用env->DeleteLocalRef() <C++>来释放引用。
阅读全文
摘要:所谓用代码创建视图,是指不是通过XML来构造Activity的视图或者ListView的中的每隔ItemView(如下所示),publicclass HelloWorld extends Activity { private TextView mTextView; @Override publicvoid onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); mText...
阅读全文
摘要:一般我们要在我们自己的控件中放置文本的时候,都会通过Paint来实现:Paint paint = new Paint();paint.setAntiAlias(true);paint.setTextSize(16);但是,如果你在其他分辨率的手机上,查看文本的效果的时候,就会有问题,如果是在低分辨率的机器调试的话,放到高分辨率的机器上,就会感觉字体太小了;反之,太大。所以设置文本字体的时候不能采用以上的方式来设置,而应该采用与TextView类似的方法,如: public void setTextSize(int textSize){ Context c = getContext(); Res
阅读全文
摘要:前几天更新到最新的SDK与CDT但是就是无法启动模拟器,但是只是其中的一个,删除重新创建AVD也不行后来发现还真是根据Warning所说的:emulator: ERROR: could not find required kernel image (kernel-qemu).emulator: Your ANDROID_SDK_ROOT is probably wrong: /opt/android-sdk-linux_x86/,缺少qmenu文件从同事那考了个,启动就正常了。我想可能是当时更新的时候 不小心中途停止了以后更新也没有把这个文件更新下来可以看出,更新SDK的时候没有做校验
阅读全文
摘要:目前版本的ADT(10.0.1)需要Ant 1.8的支持如果不更新1.8,会报以下的错误:The Android Ant-based build system requires Ant 1.8.0 or later. Current version is 1.7.1...1)到网站(http://ant.apache.org/)下载Ant的目前最新的版本1.82)下载解压到本地的一个目录, 如 /opt/apache-ant-1.8.23)打开eclipse->Preferences->Ant->Runtime删除 Ant Home Entries下关于1.7的所有选项,然后
阅读全文
摘要:当EditText获取焦点后,如果长按EditText就会弹出一个上下问菜单如果剪贴板上没有内容的话,就不会有粘帖选项,否则就会有粘帖选项ClipboardManager cm = (ClipboardManager)getSystemService(CLIPBOARD_SERVICE);EditText继承自TextView,而该事件的处理是在TextView里面的函数void onCreateContextMenu(ContextMenu menu) 处理的,因此,要想修改这个选项单的话,可以重载该函数。另外,为了阻止弹出上下文菜单,也可以重载boolean getDefualtEdita
阅读全文
摘要:如果一个TextView以一个9-patch图片作为背景图的话,需要先设置TextView的背景图,然后再设置文本,否则伸展的时候会出问题而且作为背景图片,不能采用缓存的方式供同一个页面上的其他TextView等View作为背景,这个规律也可以扩展到需要动态变化TextView上的文字的背景图片,或者会导致同一个页面上的同一个背景图的控件是一样的,而导致某些View文字在背景图外。
阅读全文
摘要:加两个属性即可:android:stackFromBottom="true"android:transcriptMode="alwaysScroll"这样,就像系统的短信会话界面,一进去,listview的滚动条就在底部,就显示最后一个项目
阅读全文
摘要:默认的内核是不支持加载与卸载LKM的,所以在编译Android的Linux内核之前,需要配置下,在Android的Linux内核的源代码,目录下,运行$ make menuconfig出现如下的图片:另外,按向左键选择,卸载模块相关注意:如果用官方的模拟器内核或者没有进行以上的配置的话:1 运行 insmod hello.ko 来加载模块的时候,会提示2 而如果运行 rmmod hello.ko 来卸载模块的时候,会提示
阅读全文
摘要:[更新] http://source.android.com/source/downloading.html新版的地址修改了: $ repo init -u https://android.googlesource.com/platform/manifest.git按照官方的文档下载与配置好git以及repo,$ repo init -u git://android.git.kernel.org/platform/manifest.git过会儿,在看到init finished后,再运行如下的命令,否则再运行一次上面的命令直到看到成功的提示$ repo sync以上的命令是下载platform
阅读全文
摘要:http://wangliping.net/android_debug文中提到的 development/ide/eclipse/.classpath其文件是隐藏的(Ubuntu下显示隐藏文件:打开文件浏览器 然后点击左上角的 查看->显示隐藏文件(Ctrl+H))修改eclipse程序的配置 1)、修改eclipse缓存设置 把eclipse.ini(在eclipse软件的安装目录下)的3个值改为下面的值: -Xms128m -Xmx512m -XX:MaxPermSize=256m 2)把android-formatting.xml和android.importorde (这两个文件
阅读全文
摘要:cupcake1 编译前 请先安装工具:http://www.cnblogs.com/Lynn_doo/archive/2010/03/18/1689285.html2 添加组件如果下载的版本没有被引入中文输入法,这里做适当修改:#cd /home/android/build/target/product/#gedit generic.mk打开这个文件后,在PRODUCT_PACKAGES中,加入PinyinIME,然后保存退出。这样在整体编译的时候就会把中文输入法也编译进system中了。再次运行 make的话,就可以看到如下的输出:Install: out/target/product/g
阅读全文
摘要:版本 代号 API Level Linux kernel version Release Date 1.1 2 2.6.25 2009.02.09 1.5 Cupcake 3 2.6.27 2009.04.30 1.6 Donut 4 2.6.29 2009.09.15 2.0 Eclair 5 2
阅读全文