Android相对布局RelativeLayout,Intent用法,Intent传值(对象),Intent.action大全

工作内容:

1.像素PX

2.android定义的尺寸dpi,dp(dip)计算公式:Px=dp*(dpi/160)

3.文本字体用SP,(用户修改字体大小时,文本大小会跟着改变)

4.RelativeLayout:相对定位,相对父布局定位,相对兄弟组件定位

常用属性:

1.相对父布局:layout_alignParentLeft默认,layout_alignParentRight默认

2.相对兄弟布局:layout_above[below|toLeftOf|toRightOf]="@+id/textView",layout_margin:是指相对兄弟组件的偏移

5.基准线:BaseLine 对齐文本layout_alignBaseline="@+id/textView1"

6.EditText的属性ems=10”预设置容量是10

7.Intent作用:1.在活动间传递数据  2.进入下一个活动(页面)

8.Intent可传递实现Serializable的类

学习分享:

实例:

//点击按钮,Intent传递Bundle(bundle携带要传递的值)字符串在下一个activity中显示出来


....

//Secound中的TextView显示传递过来的String【逐层解析】

textShow = (TextView)findViewById(R.id.textView1);

Intent intent = this.getIntent();

if(intent!=null){

bundle = intent.getBundleExtra("user");

}

String str = bundle.getString("From");

textShow.setText(str);

 

 

//使用Intent传递对象

/**

 * 1.将实现Serializable的类User添加到ArrayList<User>的对象userList中
 * 2.intent.putExtra("Users",userList);通过Intent的对象来传递list
 * 3.userList = (ArrayList<User>)intent.getSerializableExtra("Users");
 * 在目标活动中用一个ArrayList<User>的对象userList去接收它【需要向下转型】
 * 4.用一个组件去显示接收到的list中的内容
 */

 btn_join.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View arg0) {

Intent intent =new Intent(MainActivity.this,Secound.class);

intent.putExtra("Users",userList);

startActivity(intent);

}

});

...

//接收

Intent intent = this.getIntent();

if(intent!=null){

userList =(ArrayList<User>)intent.getSerializableExtra("Users");

}

String str = bundle.getString("From");

Toast.makeText(Secound.this,userList.get(0).getName(),0).show();

下面是网上找过来的可以看看

  1. Intent启动不同组件的方法  
  2. 组件名称  方法名称    
  3. Activity  startActivity()  startActivityForResult()    
  4. Service  startService()  bindService()    
  5. Broadcasts  sendBroadcast()  sendOrderedBroadcast()  sendStickyBroadcast()  
  6.   
  7.    
  8. 常见的Activity Action Intent常量  
  9. 常量名称   常量值  意义  
  10. ACTION_MAIN  android.intent.action.MAIN   应用程序入口  
  11. ACTION_VIEW  android.intent.action.VIEW  显示数据给用户  
  12. ACTION_ATTACH_DATA  android.intent.action.ATTACH_DATA  指明附加信息给其他地方的一些数据  
  13. ACTION_EDIT  android.intent.action.EDIT  显示可编辑的数据    
  14. ACTION_PICK  android.intent.action.PICK  选择数据    
  15. ACTION_CHOOSER  android.intent.action.CHOOSER  显示一个Activity选择器    
  16. ACTION_GET_CONTENT  android.intent.action.GET_CONTENT  获得内容    
  17. ACTION_DIAL  android.intent.action.GET_CONTENT  显示打电话面板    
  18. ACITON_CALL  android.intent.action.DIAL  直接打电话    
  19. ACTION_SEND  android.intent.action.SEND  直接发短信    
  20. ACTION_SENDTO  android.intent.action.SENDTO  选择发短信    
  21. ACTION_ANSWER  android.intent.action.ANSWER  应答电话    
  22. ACTION_INSERT  android.intent.action.INSERT  插入数据    
  23. ACTION_DELETE  android.intent.action.DELETE  删除数据    
  24. ACTION_RUN  android.intent.action.RUN  运行数据    
  25. ACTION_SYNC  android.intent.action.SYNC  同步数据    
  26. ACTION_PICK_ACTIVITY  android.intent.action.PICK_ACTIVITY  选择Activity    
  27. ACTION_SEARCH  android.intent.action.SEARCH  搜索    
  28. ACTION_WEB_SEARCH  android.intent.action.WEB_SEARCH  Web搜索    
  29. ACTION_FACTORY_TEST  android.intent.action.FACTORY_TEST  工厂测试入口点       
  30.   
  31.   
  32. 常见的BroadcastIntent Action常量  BroadcastIntent   
  33. Action字符串常量  描述    
  34. ACTION_TIME_TICK  系统时间每过一分钟发出的广播    
  35. ACTION_TIME_CHANGED  系统时间通过设置发生了变化    
  36. ACTION_TIMEZONE_CHANGED  时区改变    
  37. ACTION_BOOT_COMPLETED  系统启动完毕    
  38. ACTION_PACKAGE_ADDED  新的应用程序apk包安装完毕    
  39. ACTION_PACKAGE_CHANGED  现有应用程序apk包改变    
  40. ACTION_PACKAGE_REMOVED  现有应用程序apk包被删除    
  41. ACTION_UID_REMOVED  用户id被删除       
  42.   
  43.   
  44. Intent的Action和Data属性匹配    
  45. Action属性  Data属性  说明    
  46. ACTION_VIEW  content://contacts/people/1  显示id为1的联系人信息    
  47. ACTION_DIAL  content://contacts/people/1  将id为1的联系人电话号码显示在拨号界面中    
  48. ACITON_VIEW  tel:123  显示电话为123的联系人信息    
  49. ACTION_VIEW  http://www.google.com  在浏览器中浏览该网站    
  50. ACTION_VIEW  file://sdcard/mymusic.mp3  播放MP3    
  51. ACTION_VIEW  geo:39.2456,116.3523  显示地图  
  52.    
  53.   
  54. 常见的Category常量  
  55. Category字符串常量  描述  
  56. CATEGORY_BROWSABLE  目标Activity能通过在网页浏览器中点击链接而激活(比如,点击浏览器中的图片链接)    
  57. CATEGORY_GADGET  表示目标Activity可以被内嵌到其他Activity当中    
  58. CATEGORY_HOME  目标Activity是HOME Activity,即手机开机启动后显示的Activity,或按下HOME键后显示的Activity    
  59. CATEGORY_LAUNCHER  表示目标Activity是应用程序中最优先被执行的Activity    
  60. CATEGORY_PREFERENCE  表示目标Activity是一个偏爱设置的Activity  
  61.   
  62.   
  63. 常见的Extra常量  
  64. Extra键值字符串常量  描述  
  65. EXTRA_BCC  装有邮件密送地址的字符串数组    
  66. EXTRA_CC  装有邮件抄送地址的字符串数组    
  67. EXTRA_EMAIL  装有邮件发送地址的字符串数组    
  68. EXTRA_INTENT  使用ACTION_PICK_ACTIVITY动作时装有Intent选项的键    
  69. EXTRA_KEY_EVENT  触发该Intent的案件的KeyEvent对象    
  70. EXTRA_PHONE_NUMBER  使用拨打电话相关的Action时,电话号码字符串的键,类型为String    
  71. EXTRA_SHORTCUT_ICON  使用ACTION_CREATE_SHORTCUT在HomeActivity创建快捷方式时,对快捷方式的描述信息。  
  72. 其中ICON和ICON_RESOURCE描述的是快捷方式的图标,类型分别为Bitmap和ShortcutIconResource。INTENT描述的是快捷方式相对应的Intent对象。NAME描述的是快捷方式的名字。    
  73. EXTRA_SHORTCUT_ICON_RESOURCE  EXTRA_SHORTCUT_INTENT  EXTRA_SHORTCUT_NAME  EXTRA_SUBJECT  描述信息主题的键    
  74. EXTRA_TEXT  使用ACTION_SEND动作时,用来描述要发送的文本信息,类型为CharSequence    
  75. EXTRA_TITLE  使用ACTION_CHOOSER动作时,描述对话框标题的键,类型为CharSequence    
  76. EXTRA_UID  使用ACTION_UID_REMOVED动作时,描述删除的用户id的键,类型为int      
  77.   
  78.   
  79. Android.telephony包中的类    
  80. 类名  描述    
  81. CellLocation  表示设备位置的抽象类    
  82. PhoneNumberFormattingTextWather  监视一个TextView控件,如果有电话号码输入,则用formatNumber()方法处理电话号码    
  83. PhoneNumberUtils  包含各种处理电话号码字符串的使用工具    
  84. PhoneStateListener  监视手机中电话状态变化的监听类    
  85. ServiceState  包含电话状态和相关的服务信息    
  86. TelephonyManager  提供对手机中电话服务信息的访问  
  87.   
  88.    
  89. 与短信服务相关的类主要在包android.telephony.gsm中  
  90. 类名  描述  
  91. GsmCellLocation  表示GSM手机的基站位置    
  92. SmsManager  管理各种短信操作    
  93. SmsMessage  表示具体的短信    


1.从google搜索内容 
Intent intent = new Intent(); 
intent.setAction(Intent.ACTION_WEB_SEARCH); 
intent.putExtra(SearchManager.QUERY,"searchString") 
startActivity(intent); 

2.浏览网页 
Uri uri = Uri.parse("http://www.google.com"); 
Intent it  = new Intent(Intent.ACTION_VIEW,uri); 
startActivity(it); 

3.显示地图 
Uri uri = Uri.parse("geo:38.899533,-77.036476"); 
Intent it = new Intent(Intent.Action_VIEW,uri); 
startActivity(it); 

4.路径规划 
Uri uri = Uri.parse("http://maps.google.com/maps?f=dsaddr=startLat%20startLng&daddr=endLat%20endLng&hl=en"); 
Intent it = new Intent(Intent.ACTION_VIEW,URI); 
startActivity(it); 

5.拨打电话 
Uri uri = Uri.parse("tel:xxxxxx"); 
Intent it = new Intent(Intent.ACTION_DIAL, uri);   
startActivity(it); 

6.调用发短信的程序 
Intent it = new Intent(Intent.ACTION_VIEW);    
it.putExtra("sms_body", "The SMS text");    
it.setType("vnd.android-dir/mms-sms");    
startActivity(it); 

7.发送短信 
Uri uri = Uri.parse("smsto:0800000123");    
Intent it = new Intent(Intent.ACTION_SENDTO, uri);    
it.putExtra("sms_body", "The SMS text");    
startActivity(it); 
String body="this is sms demo"; 
Intent mmsintent = new Intent(Intent.ACTION_SENDTO, Uri.fromParts("smsto", number, null)); 
mmsintent.putExtra(Messaging.KEY_ACTION_SENDTO_MESSAGE_BODY, body); 
mmsintent.putExtra(Messaging.KEY_ACTION_SENDTO_COMPOSE_MODE, true); 
mmsintent.putExtra(Messaging.KEY_ACTION_SENDTO_EXIT_ON_SENT, true); 
startActivity(mmsintent); 

8.发送彩信 
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); 
StringBuilder sb = new StringBuilder(); 
sb.append("file://"); 
sb.append(fd.getAbsoluteFile()); 
Intent intent = new Intent(Intent.ACTION_SENDTO, Uri.fromParts("mmsto", number, null)); 
// Below extra datas are all optional. 
intent.putExtra(Messaging.KEY_ACTION_SENDTO_MESSAGE_SUBJECT, subject); 
intent.putExtra(Messaging.KEY_ACTION_SENDTO_MESSAGE_BODY, body); 
intent.putExtra(Messaging.KEY_ACTION_SENDTO_CONTENT_URI, sb.toString()); 
intent.putExtra(Messaging.KEY_ACTION_SENDTO_COMPOSE_MODE, composeMode); 
intent.putExtra(Messaging.KEY_ACTION_SENDTO_EXIT_ON_SENT, exitOnSent); 
startActivity(intent); 

9.发送Email 
Uri uri = Uri.parse("mailto:xxx@abc.com"); 
Intent it = new Intent(Intent.ACTION_SENDTO, uri); 
startActivity(it); 
Intent it = new Intent(Intent.ACTION_SEND);    
it.putExtra(Intent.EXTRA_EMAIL, "me@abc.com");    
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={"me@abc.com"};      
String[] ccs={"you@abc.com"};      
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")); 

10.播放多媒体   
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); 

11.uninstall apk 
Uri uri = Uri.fromParts("package", strPackageName, null);    
Intent it = new Intent(Intent.ACTION_DELETE, uri);    
startActivity(it); 

12.install apk 
Uri installUri = Uri.fromParts("package", "xxx", null); 
returnIt = new Intent(Intent.ACTION_PACKAGE_ADDED, installUri); 

13. 打开照相机
 
    <1>Intent i = new Intent(Intent.ACTION_CAMERA_BUTTON, null); 
           this.sendBroadcast(i);
 
     <2>long dateTaken = System.currentTimeMillis(); 
            String name = createName(dateTaken) + ".jpg"; 
            fileName = folder + name; 
            ContentValues values = new ContentValues(); 
            values.put(Images.Media.TITLE, fileName); 
            values.put("_data", fileName); 
            values.put(Images.Media.PICASA_ID, fileName); 
            values.put(Images.Media.DISPLAY_NAME, fileName); 
            values.put(Images.Media.DESCRIPTION, fileName); 
            values.put(Images.ImageColumns.BUCKET_DISPLAY_NAME, fileName); 
            Uri photoUri = getContentResolver().insert( 
                    MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values); 
             
            Intent inttPhoto = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
            inttPhoto.putExtra(MediaStore.EXTRA_OUTPUT, photoUri); 
            startActivityForResult(inttPhoto, 10); 

14.从gallery选取图片 
  Intent i = new Intent(); 
            i.setType("image/*"); 
            i.setAction(Intent.ACTION_GET_CONTENT); 
            startActivityForResult(i, 11); 

15. 打开录音机 
   Intent mi = new Intent(Media.RECORD_SOUND_ACTION); 
            startActivity(mi); 

16.显示应用详细列表       
Uri uri = Uri.parse("market://details?id=app_id");         
Intent it = new Intent(Intent.ACTION_VIEW, uri);         
startActivity(it);         
//where app_id is the application ID, find the ID          
//by clicking on your application on Market home          
//page, and notice the ID from the address bar      

刚才找app id未果,结果发现用package name也可以 
Uri uri = Uri.parse("market://details?id=<packagename>"); 
这个简单多了 

17寻找应用       
Uri uri = Uri.parse("market://search?q=pname:pkg_name");         
Intent it = new Intent(Intent.ACTION_VIEW, uri);         
startActivity(it); 
//where pkg_name is the full package path for an application       

18打开联系人列表 
            <1>            
           Intent i = new Intent(); 
           i.setAction(Intent.ACTION_GET_CONTENT); 
           i.setType("vnd.android.cursor.item/phone"); 
           startActivityForResult(i, REQUEST_TEXT); 

            <2> 
            Uri uri = Uri.parse("content://contacts/people"); 
            Intent it = new Intent(Intent.ACTION_PICK, uri); 
            startActivityForResult(it, REQUEST_TEXT); 

19 打开另一程序 
Intent i = new Intent(); 
            ComponentName cn = new ComponentName("com.yellowbook.android2", 
                    "com.yellowbook.android2.AndroidSearch"); 
            i.setComponent(cn); 
            i.setAction("android.intent.action.MAIN"); 
            startActivityForResult(i, RESULT_OK); 

20.调用系统编辑添加联系人(高版本SDK有效):
Intent it = newIntent(Intent.ACTION_INSERT_OR_EDIT);
               it.setType("vnd.android.cursor.item/contact");
                //it.setType(Contacts.CONTENT_ITEM_TYPE);
                it.putExtra("name","myName");
               it.putExtra(android.provider.Contacts.Intents.Insert.COMPANY,  "organization");
               it.putExtra(android.provider.Contacts.Intents.Insert.EMAIL,"email");
                it.putExtra(android.provider.Contacts.Intents.Insert.PHONE,"homePhone");
                it.putExtra(android.provider.Contacts.Intents.Insert.SECONDARY_PHONE,
                               "mobilePhone");
                it.putExtra(  android.provider.Contacts.Intents.Insert.TERTIARY_PHONE,
                               "workPhone");
               it.putExtra(android.provider.Contacts.Intents.Insert.JOB_TITLE,"title");
                startActivity(it);
 
21.调用系统编辑添加联系人(全有效):
Intent intent = newIntent(Intent.ACTION_INSERT_OR_EDIT);
           intent.setType(People.CONTENT_ITEM_TYPE);
           intent.putExtra(Contacts.Intents.Insert.NAME, "My Name");
           intent.putExtra(Contacts.Intents.Insert.PHONE, "+1234567890");
           intent.putExtra(Contacts.Intents.Insert.PHONE_TYPE,Contacts.PhonesColumns.TYPE_MOBILE);
           intent.putExtra(Contacts.Intents.Insert.EMAIL, "com@com.com");
           intent.putExtra(Contacts.Intents.Insert.EMAIL_TYPE,                    Contacts.ContactMethodsColumns.TYPE_WORK);
           startActivity(intent);


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值