Activity的一些特点(1)

本文介绍了Android中Activity的基本配置及启动方式,并详细讲解了如何通过Intent、剪切板及全局对象等方式在Activity间传递数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.Activity

1.配置时指定android.intent.action.MAIN为启动界面,如指定多个,则在配置文件中的第一个就是启动项。

2.android.intent.category.LAUNCHER 必须指定,否则无法启动

二.Activity间的数据传递

1.Intent对象(同样适用于Services和BroadCast)

    putExtras(),getXxxExtras()方法传递数据 。基本数据类型和实现了serializable接口的对象。

2.定义public static常量传递

3.利用剪切板传递对象

     1.1)传递文本    ClipboardManagerclipboardManager = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE);
                ClipData clipData = ClipData.newPlainText("newPlainTextLabel","我的文本");
                clipboardManager.setPrimaryClip(clipData);

     1.2)传递对象 

                             ClipboardManager  clipboardManager= (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);

                             People  people=new People("hehe",5);//要实现serializable接口

                            String base64="";

                            try {

                                   ByteArrayOutputStream baos=new ByteArrayOutputStream();

                                   ObjectOutputStream obos=new ObjectOutputStream(baos);

                                   obos.writeObject(people);

                                   base64= Base64.encodeToString(baos.toByteArray(),Base64.DEFAULT);

                                 } catch (IOException e) {

                                      e.printStackTrace();

                                        }

                                  clipboardManager.setPrimaryClip( ClipData.newPlainText("data",base64));


       2.1)读取文本

                                 ClipboardManager clipboardManager = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE);

                         String message = (String) clipboardManager.getPrimaryClip().getDescription().getLabel()+ " "+

                                                    (String) clipboardManager.getPrimaryClip().getItemAt(0).getText();

     2.2)读取对象

                        ClipboardManager clipboardManager = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE);

                        ClipData cd=clipboardManager.getPrimaryClip();

                        String msg=cd.getItemAt(0).getText().toString();

                        byte[] base64_btye=Base64.decode(msg, Base64.DEFAULT);

                        ByteArrayInputStream bais=new ByteArrayInputStream(base64_btye);

                            try {

                                 ObjectInputStream ois=new ObjectInputStream(bais);

                                 People mydata=(People) ois.readObject();

                                 TextView tv=(TextView)findViewById(R.id.textView);

                                  tv.setText(mydata.toString());

                                  } catch (Exception e) {

                                       e.printStackTrace();

                                  }


4.建立全局对象

 1)建立一个继承自android.app.Application类的子类Xxx类

 2)在清单文件中配置该类

 3)通过(Xxx)getApplicationContext();可在任何地方对该类进行调用

5.更改Activity的启动和关闭的动画

1).在res/anim中建立动画资源文件

2)代码设置

    Intent it=new Intent(this,AnimationActivity.class);

    startActivity(it);

overriddePendingTransition(R.anim.fade_in,R.anim.fade_out)




 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值