Activity的一些特点(1)

来源:互联网 发布:澳门银河网络平台 编辑:程序博客网 时间:2024/06/05 15:18

一.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)




 
0 0
原创粉丝点击