Android开发―随笔杂记(2010年的)

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

Android开发经验:获得IMSI / IMEI的方法(SIM和手机的唯一识别ID)

  学习内容: 你将学到如何读出你手机里的SIM卡的IMSI (国际移动用户ID) 和IMEI (国际移动设备ID). IMSI 与 SIM唯一对应, IMEI 与 设备唯一对应.

  可能应用的场合: 你可能需要 唯一的id 去授权/注册,或者用于你的Android-Activity的license目的 下面的两行代码将会使你获得SIM卡唯一 ID IMSI 和设备唯一ID IMEI

  描述:
  IMSI是一个 唯一的数字, 标识了GSM和UMTS 网络里的唯一一个用户. 它 存储 在手机的SIM卡里,它会通过手机发送到网络上.

  IMEI也是一串唯一的数字, 标识了 GSM 和 UMTS网络里的唯一一个手机. 它通常被打印在手机里电池下面的那一面,拨  *#06# 也能看到它.

  代码: 这里是你在Android里读出 唯一的 IMSI-ID / IMEI-ID 的方法。
Java:
         String myIMSI = android.os.SystemProperties.get(android.telephony.TelephonyProperties.PROPERTY_IMSI);
// within my emulator it returns:   310995000000000

String myIMEI = android.os.SystemProperties.get(android.telephony.TelephonyProperties.PROPERTY_IMEI);
// within my emulator it returns:   0000000000000

 

 

 

 

深度定制界面风格浅析:http://www.ophonesdn.com/article/show/37

Android高手进阶教程(四)之----Android 中自定义属性(attr.xml,TypedArray)的使用:http://weizhulin.blog.51cto.com/1556324/311453

本文出自 “一路悠扬” 博客,谢绝转载!

你可能感兴趣的:(android,android,移动开发,开发,职场,笔记,休闲)