天天Android - 2010-10-14

来源:互联网 发布:从手机淘宝上怎么退货 编辑:程序博客网 时间:2024/05/10 18:27

 

Android相关总结:2010-10-14

 

1. 完成Android基础教程第一个较完整例子(chap 3, 设计用户界面)

问题总结:

* 找不到About Dialog的资源信息
10-14 02:00:30.399: ERROR/AndroidRuntime(427): Caused by: android.content.res.Resources$NotFoundException: Resource ID #0x7f030000
10-14 02:00:30.399: ERROR/AndroidRuntime(427):     at android.content.res.Resources.getValue(Resources.java:892)
10-14 02:00:30.399: ERROR/AndroidRuntime(427):

原因:about.xml文件放进res/layout-land目录,而程序从res/layout目录中去找了。
解决:拷至正确目录

* 增加菜单settings
程序启动就出错:

[2010-10-14 12:50:11 - HelloAndroid] W/ResourceType( 4352): Bad XML block: header size 62 or total size 0 is larger than data size 0
[2010-10-14 12:50:11 - HelloAndroid] D:/study/android/HelloAndroid/res/menu/menu.xml:3: error: Error: No resource found that matches the given name (at 'alphabeticShortcut' with value '@string/settings-shortcut')

原因:menu.xml文件中估计有乱字符
解决:重新输入相关配置信息, OK

* 点击按钮无反应
原因:Button对象未处理
解决:onCreate中加入Button对象的处理代码:找到instance,绑定事件处理器。


2.知识点总结

* Activity.onCreate(...)
生命周期的启动时被调用
绑定Activity与layout
可处理各种对象的绑定(与界面绑定,与事件listener绑定)

* Activity -> Intent -> Another Activity
* 替代资源
水平显示时候,使用res/layout-land/main.xml
Q: 其它layout呢?

* 对话框
在Activity的配置中指定theme,如:
<Activity android:theme="@android:style/Theme.Dialog .... />

* 菜单生成
Activity.onCreateOptionsMenu(Menu menu) {
 ......
 inflater.inflate(R.menu.menu, menu)
}

* 菜单项事件处理
Activity.onOptionsItemSelected(MenuItem item) {
 ......
 startActivity(new Intent(this, XXX.class));
 return true;
 ......
}

* 日志
Log.e(...)
Log.W(...)
log.i(...)
log.d(...)
log.v(...)


3. 几点特别注意:

* Activity一定要注册
* Activity中的Button与UI上的Button按钮,需要人工绑定
* 资源
<string><array><color>等资源可以混合放到一个文件中
res下的目录是有预定的,不能随便命名,否则报错。


4. 几个问题
* 模拟器运行速度似较慢,如何处理?是否需要用单元测试来加快某些开发?
* menu的名字由什么来决定的?文件名?

 

5. 关于NDK的认识:

http://blog.csdn.net/hhao137/archive/2009/06/28/4304664.aspx

 

* NDK之前就可以使用C/C++,但不是很方便,无官方正式支持

* 有了NDK,有大量工具支持

* 有了NDK,并不能完全使用C/C++来开发所有应用,因为其目的不是使用C/C++来开发所有应用,对系统事件及应用程序生命周期均无完备支持,所以,开发应用程序的标准API仍是SDK -------- 即使用Java语言。

 

原创粉丝点击