这一篇咱们要讲的内容主要是Activity的建立以及多个Activity之间的调用和数据的携带与返回,相信读者们耐心且用心的读完这篇文章必定能学到一些知识,加深对Activity的了解和掌握。java
1.Activity的建立:android
步骤以下:
app
(1)在src下的包中新建一个类继承Activity类(java文件)ide
(2)重写onCreate方法this
(3)建立与这个Activity对应的xml文件3d
(4)在继承Activity的类中经过setContentView()加载试图(上一步建立的xml文件)xml
(5)在AndroidManifest.xml文件中注册对象
2.Activity之间的跳转:blog
使用Activity实现不一样Activity的跳转继承
* 1 建立一个新的Activity(略过)
* 2 建立Intend对象,是四个基本组件的桥梁
* 3 启动Activity的方法 startActivity
* 4 给按钮添加监听,实现跳转
* (1)声明一个Button,同时在主xml文件中添加一个Button
* (2)经过findViewById方法引入这个Button
* (3)经过setOnClickListener的匿名内部类来添加监听
具体代码以下(未列出的代码在工程建立后由系统自动生成):
(1)建立的新的Activity的java文件Act2.java
package com.example.newactivity; import android.app.Activity; import android.os.Bundle; public class Act2 extends Activity{ //重写onCreate方法 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //加载试图 setContentView(R.layout.act2); } }
(2)在主配置文件AndroidManifest.java文件中注意必定千万不要忘记对新建的Activity进行注册:
</activity> <activity android:name="Act2"></activity>
(3)main_Activity.xml文件中添加一个用于跳转的Button:
<Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="跳转" />
(4)在MainActivity.java文件中实现跳转的主要功能代码:
package com.example.newactivity; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; public class MainActivity extends Activity { //声明Button private Button btn; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //引入对应id号的Button btn=(Button)findViewById(R.id.button); //给Button建立监听 btn.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { //建立Intent对象来实现Activity的跳转 Intent i=new Intent(MainActivity.this,Act2.class); //调用startActivity方法启动新的Activity startActivity(i); } }); } }
到这里咱们就能够运行结果看一下了:
3.Activity之间的数据携带
这里咱们只拿出java文件,其余文件不写了,代码以下:
(1)MainActivity.java
package com.example.startactivity; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); findViewById(R.id.button1).setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { Intent i=new Intent(MainActivity.this,Act2.class); i.putExtra("data", "谢谢你把我携带到这里"); startActivity(i); } }); } }
(2)Act2.java
package com.example.startactivity; import android.app.Activity; import android.os.Bundle; public class Act2 extends Activity{ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.act2); String strInfo=getIntent().getStringExtra("data"); System.out.println("Act2--"+strInfo); } }
(3)注意不要忘了Activity的注册!
运行结果以下:
4.Activity之间的数据返回:
基于前面的数据携带,咱们接下来说一下数据的返回,这一点主要应用于注册或者登录界面,当跳转到下一个页面时可能须要返回给前一个页面一些值,实现的代码以下:
(1)MainActivity.java文件:
package com.example.startactivityforresult; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); findViewById(R.id.button1).setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { Intent i=new Intent(MainActivity.this,Act2.class); startActivityForResult(i, 1); } }); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); switch (requestCode) { case 1: System.out.println(data.getStringExtra("data")); break; default: System.out.println("返回错误"); break; } } }
(2)Act2.java文件:
package com.example.startactivityforresult; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; public class Act2 extends Activity{ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.act2); findViewById(R.id.button1).setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Intent i=new Intent(Act2.this,MainActivity.class); i.putExtra("data", "我是返回主界面的信息"); setResult(1, i); finish(); } }); } }
(3)运行结果:
今天就到这里了,你们晚安,GoodNight!