新西兰服务器

Android中如何对Intent进行封装


Android中如何对Intent进行封装

发布时间:2022-04-11 15:55:32 来源:高防服务器网 阅读:61 作者:iii 栏目:编程语言

这篇文章主要介绍了Android中如何对Intent进行封装的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Android中如何对Intent进行封装文章都会有所收获,下面我们一起来看看吧。

Android Intent封装的实例详解

什么是Intent:

Intent是协调应用间、组件之间的通讯和交互。通过Intent你可以启动Activity、Service、Broadcasts。更可以跨程序调用第三方组件。例如:启动拨打电话界面、音乐播放等。 

组件     启动
Activity startActicity()
Service startService(),bindService( )
Broadcasts sendBroadcast()

使用Intent:

栗子:在一个Activity中添加一个点击按钮->点击启动第二个Activity(需要两个String类型的参数)

     

第一个Activity的按钮点击代码:

 public void onclick(View view){      Intent intent=new Intent(this,Main2Activity.class);      intent.putExtra("text1","xiaoming");      intent.putExtra("text2","中国人");      startActivity(intent);    }

第二个Activity接受Intent数据代码:

 protected void onCreate(Bundle savedInstanceState) {      super.onCreate(savedInstanceState);      setContentView(R.layout.activity_main2);      ButterKnife.bind(this);      initView();    }      private void initView() {      String text1 = getIntent().getStringExtra("text1");      String text2 = getIntent().getStringExtra("text2");      mTextView.setText(text1);      mTextView2.setText(text2);    }

这是常见的Intent的使用,但是它存在这很大弊端。假如你的项目越来越多,你在启动第二个Activity中参数漏掉一个有可能引起程序奔溃。那么如何避免这种情况呢:

  1. 参数是第二个Activity所需的,那么为何不由他来进行参数设定呢。按照它的规范来

  2. 将Intent的实例交给第二个Activity。它更需要这个方法的封装。也就是开闭原则

另一种思路代码实现:

第一个Activity的按钮点击代码:

 public void onclick(View view){      //调用第二个Activity封装好的Intent      Intent intent = Main2Activity.newIntent(MainActivity.this, "hsis", "wodhis");      startActivity(intent);    }

第二个Activity的代码:

public class Main2Activity extends AppCompatActivity {    private static final String INTENT_TEXT1="intent_text1";    private static final String INTENT_TEXT2="intent_text2";      private String text1,text2;    @butterknife.Bind(R.id.textView)    TextView mTextView;    @butterknife.Bind(R.id.textView2)    TextView mTextView2;      @Override    protected void onCreate(Bundle savedInstanceState) {      super.onCreate(savedInstanceState);      setContentView(R.layout.activity_main2);      ButterKnife.bind(this);      initIntent();      initView();    }    public static Intent newIntent(Activity activity,String te, String te2){      Intent intent=new Intent(activity,Main2Activity.class);      intent.putExtra(INTENT_TEXT1,te);      intent.putExtra(INTENT_TEXT2,te2);      return intent;    }    private void initIntent(){      text1=getIntent().getStringExtra(INTENT_TEXT1);      text2=getIntent().getStringExtra(INTENT_TEXT2);    }    private void initView() {      mTextView.setText(text1);      mTextView2.setText(text2);    }  }

关于“Android中如何对Intent进行封装”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“Android中如何对Intent进行封装”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注高防服务器网行业资讯频道。

[微信提示:高防服务器能助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。

[图文来源于网络,不代表本站立场,如有侵权,请联系高防服务器网删除]
[