Android基础学习之Activity之间的切换

首先我还是要先介绍Intent这个家伙,没错,就是这个家伙让我们实现了Activity之间的跳转切换来着的。 接下来的介绍引用了 enjoy风铃所写的《Intent的那些事》的部分内容:

 Intent在Android大家庭中是一个活泼的小男孩,从小就是交际草。在代码中,Activity、Service、BroadcastReceiver这三个重要的大妈级重量组件,之间的调用关联都是依靠Intent去交流的,例如Activity的startActivity(),Service的startService()、bindService(),BroadcastReceiver的sendBroadcast()、sendOrderBroadcast()等,其中都是需要携带一个Intent(或IntentFilter)的参数。

  当然Intent中要指定要启动组件的信息,或明显活隐晦。明显的就是显式启动:举个例子来说就是Intent你去把这东西交给某某(名字)Activity大妈。隐晦的是隐式启动:当然得不免俗得给例子就是Intent你把这个东东交给昨晚和我一起在菜市场跳广场舞的那个胖大妈,其中广场舞和胖就把某大妈给赤果果的定位了。这就是Intent的两种匹配方式,我都觉得我自己说的怪抽象的了。

  接下来就是介绍IntentFilter的好时机了,它就是大妈的儿子(组件的拦截器)。当如果Intent隐式启动时,Intent会找他的一群小伙伴IntentFilter来,然后问他们说,你们谁的妈昨晚去菜市场跳广场舞了?你们谁的妈又好胖好胖的?然后IntentFilter各想各妈,哎呀,其中一个IntentFilter拍拍脑袋说,这不就是我妈吗!然后他就屁颠屁颠的领着Intent去找某Activity妈把东东交给她了。

  为了避免大家看不懂上面的例子,我还是发扬一下2B青年的社会责任感,用比较教条的语言来介绍一下Intent和IntentFilter:Intent是一个意图对象,组件可以通过设定Intent来启动另外一个组件,有显式启动和隐式启动两种方法,显式启动直接指定要启动的组件的名字,隐式启动则指定action、category、data等来启动符合条件的组件;其中的IntnetFilter就是一个意图过滤器,它会设定一些过滤规则如action、category、data等,如果Intent中的action、category、data与过滤器中相匹配,则为启动该过滤器的组件。

接下来就为大家展示一个简单的跳转流程及代码:

首先是创建一个Android项目,项目名自定义,我用Intent_App作为项目的名称。

接下来在首个Activity的XML页面中添加一个Button按钮,id默认是button1;

在XML页面所对应的MainActivity.java文件中添加2个方法:(稍后贴上代码)

findViewById():用来创建一个按钮对象。

setListener():用来创建事件监听器。

创建app_intent.xml页面,用来进行跳转。新建App_intentActivity.java文件,在文件内添加onCreate()事件。

以上就是一个简单的页面跳转流程,小弟不才,写得很不公整,外加所表达知识点很基础,还望给为看官海涵。代码如下:

 1 package com.example.intent_app;
 2
 3 import android.os.Bundle;
 4 import android.app.Activity;
 5 import android.view.Menu;
 6 import android.view.View;
 7 import android.view.View.OnClickListener;
 8 import android.widget.Button;
 9 import android.content.Intent;
10 public class MainActivity extends Activity {
11
12     private Button myLogin;
13     @Override
14     protected void onCreate(Bundle savedInstanceState) {
15         super.onCreate(savedInstanceState);
16         setContentView(R.layout.activity_main);
17         findViewById();
18         setListener();
19     }
20
21     @Override
22     public boolean onCreateOptionsMenu(Menu menu) {
23         // Inflate the menu; this adds items to the action bar if it is present.
24         getMenuInflater().inflate(R.menu.main, menu);
25         return true;
26     }
27     public void findViewById()
28     {
29     myLogin =(Button)findViewById(R.id.button1);
30     }
31
32     public void setListener()
33     {
34         myLogin.setOnClickListener(new OnClickListener(){
35             public void onClick(View v){
36                 startActivity(new Intent(MainActivity.this,App_intentActivity.class));
37                 finish();
38             }
39         });
40     }
41 }
 1 package com.example.intent_app;
 2
 3 import android.os.Bundle;
 4 import android.app.Activity;
 5 import android.view.Menu;
 6 import android.view.View;
 7 import android.view.View.OnClickListener;
 8 import android.widget.Button;
 9 import android.content.Intent;
10
11 public class App_intentActivity extends Activity {
12     protected void onCreate(Bundle savedInstanceState) {
13         super.onCreate(savedInstanceState);
14         setContentView(R.layout.app_intent);
15     }
16 }

基本没啥技术含量,作为新手的我还是把它给写下来了(因为怕忘了)......

PS:每创建一个Activity时记得注册,我就是忘了注册这一茬,调了我一两个小时(楼主英语水平不过2级,勿鄙视~~~~)

AndroidManifest.xml中添加:

1   <activity
2      android:name="要注册的Activity的名字,比如com.example.intent_app.App_intentActivity"
3      android:screenOrientation="portrait" >
4   </activity>
时间: 2024-10-25 11:11:40

Android基础学习之Activity之间的切换的相关文章

Android 笔记-Fragment 与 Activity之间传递数据

Fragment 与 Activity之间传递数据有两种方法,一种是使用setArgument,一种是使用接口回调.下面先学习第一种方法. (1)使用setArgument方法: 为了便于理解,我在这里打个比喻:假如Activity是皇帝,它设立了三个部门(如三省六部),分别是Fragment1,Fragment2和Fragemnt3: 现在他现在要吩咐部门Fragment1去做一些事情,比如说:领兵攻打岛国!!好,它肯定不自己跑去告诉该部门的. 一般来说,会有个宰相或者太监总管来负责皇帝口谕是

android 基础学习图片六progross

加载进度条应用 android 基础学习图片六progross,布布扣,bubuko.com

android中fragment和activity之间相互通信

在用到fragment的时候,老是会遇到一个问题,就是fragment与activity之间的通信.下面就来记录一下activity和fragment之间 通过实现接口来互相通信的方法. 1. activity 向fragment发出通信,就这么写: private OnMainListener mainListener; // 绑定接口 @Override public void onAttachFragment(Fragmentfragment) { try { mainListener =

android基础 sqlite listview activity返回值

android基础  sqlite listview activity返回值 [1].[代码] [Java]代码 跳至 [1] [2] ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63

Android基础学习第二篇—Activity

写在前面的话: 1. 最近在自学Android,也是边看书边写一些Demo,由于知识点越来越多,脑子越来越记不清楚,所以打算写成读书笔记,供以后查看,也算是把自己学到所理解的东西写出来,献丑,如有不对的地方,希望大家给与指正. 2. 由于类似于读书笔记,可能格式神马的会比较随(hen)意(chou),大家看着受不了,可以使劲吐槽. *************************************我只是分割线***************************************

Android学习之Activity之间的数据传递

Activity与Activity之间很多情况下都需要进行数据的传递,下面就用几个简单的例子来看一下. (一).一个Activity启动另一个Activity并将数据传递到这个Activity当中 思路:1.通过Intent进行数据的传递,Intent作为数据的载体.2.首先将要传递的数据放入到Intent当中.这里用到了Intent中的putExtra()方法,这个方法有一系列的重载.3.启动另一个Activity后将数据从Intent中取出来.这里用到了getStringExtra()方法,

Android中Fragment与Activity之间的交互(两种实现方式)

(未给Fragment的布局设置BackGound) 之前关于Android中Fragment的概念以及创建方式,我专门写了一篇博文<Android中Fragment的两种创建方式>,就如何创建Fragment混合布局做了详细的分析,今天就来详细说道说道Fragment与宿主Activity之间是如何实现数据交互的. 我们可以这样理解,宿主Activity中的Fragment之间要实现信息交互,就必须通过宿主Activity,Fragment之间是不可能直接实现信息交互的. Fragment与

Android笔记Fragment与Activity之间传递数据

Fragment 与 Activity之间传递数据有两种方法,一种是使用setArgument,一种是使用接口回调.下面先学习第一种方法. (1)使用setArgument方法: 为了便于理解,我在这里打个比喻:假如Activity是皇帝,它设立了三个部门(如三省六部),分别是Fragment1,Fragment2和Fragemnt3: 现在他现在要吩咐部门Fragment1去做一些事情,比如说:领兵攻打岛国!!好,它肯定不自己跑去告诉该部门的. 一般来说,会有个宰相或者太监总管来负责皇帝口谕是

Android基础学习第三篇—Intent的用法

写在前面的话: 1. 最近在自学Android,也是边看书边写一些Demo,由于知识点越来越多,脑子越来越记不清楚,所以打算写成读书笔记,供以后查看,也算是把自己学到所理解的东西写出来,献丑,如有不对的地方,希望大家给与指正. 2. 由于类似于读书笔记,可能格式神马的会比较随(hen)意(chou),大家看着受不了,可以使劲吐槽. *************************************我只是分割线***************************************