2010.8.9
1、\res\layout\目录下的xml文件的文件名必须是小写的字母或数字。
2、跨资源文件交叉使用的方式:使用@符号后面加上resource_type名称String,最后加上变量名称String。例:在res\layout\main.xml布局文件当中引用另一个资源文件res\values\Strings.xml中的变量string1来设置变量text:android:text="@string/string1"。
3、"@+"符号表示自动创建R.id类的资源号码,例:<EditText id="@+id/text"/>就表示替<EditText>XML加上一个资源ID号码,而这个资源会自动呗定义到R.java资源类文件中。
4、在设置画面布局的时候,注意:<ScrollView>标签内部不能有多个标签组对,只能有对标签;
例如: <ScrollView> <LinearLayout>......</LinearLayout></ScrollView>
2010.8.10
5、学习其他人应用的布局方法:
Hierarchy Viewer 帮你分析应用程序UI布局
Hierarchy Viewer在android的工具文件夹里: \android\tools\hierarchyviewer.bat
1.启动 模拟器。
2.到\android\tools\目录下,双击可以启动hierarchyviewerbat文件,打开一个图形界面。
3.点击 load View hierarchy按钮,就可以捕获模拟器当前activity的画面布局信息。
4.hierarchy通过树形结构展示布局形式。
5.双击树节点可以展示单独的UI部分。
6.当模拟器activity画面变更后,点击refresh可以加载新的页面布局信息。
通过Hierarchy Viewer你就可以学习别人优秀的布局方式,
同时也更能更深入更全面更整体的把握xml布局文件。
体会UI和代码(java code)以及资源(res)的相互分离。
转自:http://rayleung.javaeye.com/blog/434025
6、画面布局的时候涉及到EditText的时候,软键盘对画面的这该问题(待总结)。
7、设计界面UI的一款开源工具:droiddraw;下载地址:http://code.google.com/p/droiddraw/downloads/list(另见附件:droiddraw.jar)
8、Android开发中应该注意的细节:转自:http://wayfarer.javaeye.com/blog/444061
2010.8.13
9、调用android系统自带的应用的Intent总结(来自网络)
来个总结:
显示网页: Uri uri = Uri.parse("http://www.google.com");
Intent it = new Intent(Intent.ACTION_VIEW,uri);
startActivity(it);
复制代码显示地图: Uri uri = Uri.parse("geo:38.899533,-77.036476");
Intent it = new Intent(Intent.Action_VIEW,uri);
startActivity(it);
复制代码路径规划: Uri uri = Uri.parse("http://maps.google.com/maps?f=d&saddr=startLat%20startLng&daddr=endLat%20endLng&hl=en");
Intent it = new Intent(Intent.ACTION_VIEW,URI);
startActivity(it);
复制代码拨打电话:
调用拨号程序 Uri uri = Uri.parse("tel:xxxxxx");
Intent it = new Intent(Intent.ACTION_DIAL, uri);
startActivity(it);
复制代码Uri uri = Uri.parse("tel.xxxxxx");
Intent it =new Intent(Intent.ACTION_CALL,uri);
要使用这个必须在配置文件中加入<uses-permission id="android.permission.CALL_PHONE" />
复制代码发送SMS/MMS
调用发送短信的程序 Intent it = new Intent(Intent.ACTION_VIEW);
it.putExtra("sms_body", "The SMS text");
it.setType("vnd.android-dir/mms-sms");
startActivity(it);
复制代码发送短信 Uri uri = Uri.parse("smsto:0800000123");
Intent it = new Intent(Intent.ACTION_SENDTO, uri);
it.putExtra("sms_body", "The SMS text");
startActivity(it);
复制代码发送彩信 Uri uri = Uri.parse("content://media/external/images/media/23");
Intent it = new Intent(Intent.ACTION_SEND);
it.putExtra("sms_body", "some text");
it.putExtra(Intent.EXTRA_STREAM, uri);
it.setType("image/png");
startActivity(it);
复制代码发送Email
Uri uri = Uri.parse("mailto:[email protected]");
Intent it = new Intent(Intent.ACTION_SENDTO, uri);
startActivity(it);
复制代码Intent it = new Intent(Intent.ACTION_SEND);
it.putExtra(Intent.EXTRA_EMAIL, "[email protected]");
it.putExtra(Intent.EXTRA_TEXT, "The email body text");
it.setType("text/plain");
startActivity(Intent.createChooser(it, "Choose Email Client"));
复制代码Intent it=new Intent(Intent.ACTION_SEND);
String[] tos={"[email protected]"};
String[] ccs={"[email protected]"};
it.putExtra(Intent.EXTRA_EMAIL, tos);
it.putExtra(Intent.EXTRA_CC, ccs);
it.putExtra(Intent.EXTRA_TEXT, "The email body text");
it.putExtra(Intent.EXTRA_SUBJECT, "The email subject text");
it.setType("message/rfc822");
startActivity(Intent.createChooser(it, "Choose Email Client"));
复制代码添加附件 Intent it = new Intent(Intent.ACTION_SEND);
it.putExtra(Intent.EXTRA_SUBJECT, "The email subject text");
it.putExtra(Intent.EXTRA_STREAM, "file:///sdcard/mysong.mp3");
sendIntent.setType("audio/mp3");
startActivity(Intent.createChooser(it, "Choose Email Client"));
复制代码播放多媒体
Intent it = new Intent(Intent.ACTION_VIEW);
Uri uri = Uri.parse("file:///sdcard/song.mp3");
it.setDataAndType(uri, "audio/mp3");
startActivity(it);
复制代码Uri uri = Uri.withAppendedPath(MediaStore.Audio.Media.INTERNAL_CONTENT_URI, "1");
Intent it = new Intent(Intent.ACTION_VIEW, uri);
startActivity(it);
复制代码Uninstall 程序 Uri uri = Uri.fromParts("package", strPackageName, null);
Intent it = new Intent(Intent.ACTION_DELETE, uri);
startActivity(it);
例子:一个应用,其中的一项功能是收发e-mail,android系统本身带有e-mail功能,可以把系统自带的功能加入到该应用中来。
只要指定email地址,然后发个intent就可以把Email启动起来了:
Uri uri = Uri.parse("mailto:[email protected]");
Intent it = new Intent(Intent.ACTION_SENDTO, uri);
startActivity(it);
2010.8.16
10、startActivityForResult 用法:
startActivityForResult 用法:http://www.javaeye.com/topic/577342
android Activity 之 startActivityForResult 的使用:http://hi.baidu.com/stalwart/blog/item/a25334cd72b8e2580fb34580.html
Android:不同Activity之间的数据传递:http://blog.chinaunix.net/u/20947/showart_1964127.html
11、自定义控件的相关分析资料:
2010.10.16
学习内容: 你将学到如何读出你手机里的SIM卡的IMSI (国际移动用户ID) 和IMEI (国际移动设备ID). IMSI 与 SIM唯一对应, IMEI 与 设备唯一对应.
|
深度定制界面风格浅析:http://www.ophonesdn.com/article/show/37
Android高手进阶教程(四)之----Android 中自定义属性(attr.xml,TypedArray)的使用:http://weizhulin.blog.51cto.com/1556324/311453
本文出自 “一路悠扬” 博客,谢绝转载!