Intent 信使、意图

由Intent来协助Android各个组件之间跳转

1、


startActivity(intent)

包下新建一个类,FActivity.class

public class FActivity extends AppCompatActivity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.factivity);    }}

新建一个XML文件factivity.xml

同样在创建第二对class和xml。

在AndroidManiFest中注册两个新类,并将默认启动类放在最前:

<?xml version="1.0" encoding="utf-8"?>                                                                                                                                                                                                                                


添加按钮事件:

public class FActivity extends AppCompatActivity {    private Button bt_first;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.factivity);        /***         * 点击第一个按钮实现跳转页面         */        bt_first= (Button) findViewById(R.id.bt1);        bt_first.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View view) {                                Intent intent=new Intent();                //第一个:上下文对象                //第二个:目标文件                intent.setClass (FActivity.this,SActivity.class);                startActivity(intent);            }        });    }}


2、

startActivityForResult(intent,requestCode);

onActivityResult(int requestCode,int resultCode,Intent data)

setResult(resultCode,data);


查看代码:

FActivity.java

public class FActivity extends AppCompatActivity {    private Button bt_first;    private Button bt_second;    private TextView tv;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.factivity);        /***         * 点击第一个按钮实现跳转页面         */        bt_first= (Button) findViewById(R.id.bt1);        bt_first.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View view) {                Intent intent=new Intent();                intent.setClass (FActivity.this,SActivity.class);                startActivity(intent);            }        });        /***         * 通过startActivityForresult实现         */        bt_second= (Button) findViewById(R.id.bt2);        bt_second.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View view) {                Intent intent=new Intent().setClass(FActivity.this,SActivity.class);                /***                 * 第二个参数是请求的标示                 */                startActivityForResult(intent,1);            }        });        tv= (TextView) findViewById(R.id.text1);    }    /***     * 通过startActivityForresult实现,接收返回数据的方法     * 一、请求的标示     * 二、第二个页面返回的标示     * 三、第二个页面传回的数据     */    @Override    protected void onActivityResult(int requestCode, int resultCode, Intent data) {        super.onActivityResult(requestCode, resultCode, data);        //判断是否满足条件来进行回传数据        if(requestCode==1&&resultCode==2){            String content=data.getStringExtra("intent");            tv.setText(content);        }    }}


SActivity.java

public class SActivity extends AppCompatActivity{    private Button bt;    private String content="Hello~!";    @Override    protected void onCreate( Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.sactivity);        /***         * 第二个页面给第一个页面回传数据         * 回传给第一个页面的实际上是一个intent对象         */        bt= (Button) findViewById(R.id.bt3);        bt.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View view) {                Intent intent=new Intent();                //创建回传对象                intent.putExtra("intent",content);                setResult(2,intent);                //结束当前页面                finish();            }        });    }}




App的签名和打包:

1、为了保证每个应用开发者的合法。

2、防止别人通过相同的Package Name来混淆替换已经安装的程序,从而出现一些恶意篡改

3、保证我们每次发布的版本的一致性(如自动更新不会因为版本不一样而无法安装)




更多相关文章

  1. Android 使用Json实现服务器与客户端数据的交互
  2. android 嵌入服务端页面二 之WebView与页面互调
  3. Android官方入门文档[6]添加Action按钮
  4. android 设置主页面的方式
  5. Android官方ORM数据库Room技术解决方案简介(一)
  6. Android(二)数据存储和访问 之文件
  7. 了解Android和数据库连接
  8. Android 应用程序之间数据共享—ContentProvider
  9. Android判断网络状态是否断开+Android完全关闭应用程序+ 本文讲

随机推荐

  1. Android(安卓)平台基础开发简介
  2. Android(安卓)Studio Android(安卓)UI控
  3. Android手机操作系统中的常用术语
  4. 记录一下八款开源 Android(安卓)游戏引擎
  5. Android(安卓)核心分析(13) -----Android
  6. android:layout_gravity 和 android:grav
  7. android:layout_gravity 和 android:grav
  8. 理解Android(安卓)Binder机制(3/3):Java层
  9. android:layout_gravity和android:gravit
  10. android 实现自定义键盘的实例