android开发之一<Activity-Intent-界面跳转>

  随着第一个Activity跳转成功,就开始有编写博客的冲动. 废话少说!

  Android开发,界面跳转当然最基础。以下讲述的是开发过程中一些关键的设置。

  0. 功能:

    启动界面->第二界面

    第二界面->启动界面

  

  1. package中,有两个java文件,

    a. 主界面为MainActivity.java  当然是运行的第一个文件了。

    b. 跳转目标界面为secondActivity.java

  

  2. 两个源文件关键代码如下:

    a 启动界面

    

 1 package com.huang.activity02;
 2
 3 import android.os.Bundle;
 4 import android.app.Activity;
 5 import android.content.Intent;
 6 import android.view.Menu;
 7 import android.view.View;
 8 import android.view.View.OnClickListener;
 9 import android.widget.Button;
10
11 public class MainActivity extends Activity {
12
13     Button mainButton = null;
14
15     @Override
16     protected void onCreate(Bundle savedInstanceState) {
17         super.onCreate(savedInstanceState);
18         setContentView(R.layout.activity_main);
19
20         mainButton = (Button)findViewById(R.id.mainButton);
21
22         mainButton.setText(R.string.mainButtonText);
23
24         mainButton.setOnClickListener(new OnClickListener()
25         {
26
27             @Override
28             public void onClick(View arg0) {
29                 // TODO Auto-generated method stub
30                 startActivity(new Intent(MainActivity.this,secondActivity.class));
31             }
32         });
33     }
34
35
36     @Override
37     public boolean onCreateOptionsMenu(Menu menu) {
38         // Inflate the menu; this adds items to the action bar if it is present.
39         getMenuInflater().inflate(R.menu.main, menu);
40         return true;
41     }
42
43 }

    b 第二界面

    

 1 package com.huang.activity02;
 2
 3 import android.app.Activity;
 4 import android.content.Intent;
 5 import android.os.Bundle;
 6 import android.view.View;
 7 import android.view.View.OnClickListener;
 8 import android.widget.Button;
 9
10 public class secondActivity extends Activity{
11
12     Button secondButton = null;
13     @Override
14     protected void onCreate(Bundle savedInstanceState) {
15         // TODO Auto-generated method stub
16         super.onCreate(savedInstanceState);
17         setContentView(R.layout.activity_second);
18
19         secondButton = (Button)findViewById(R.id.secondActivityButtonId);
20
21         secondButton.setText(R.string.secondButtonText);
22
23
24         secondButton.setOnClickListener(new OnClickListener()
25         {
26
27             @Override
28             public void onClick(View arg0) {
29                 // TODO Auto-generated method stub
30                 startActivity(new Intent(secondActivity.this,MainActivity.class));
31             }
32         });
33
34     }
35
36 }

  3. res/layout 添加secondActivity的界面编辑文件 activity_second.xml 代码如下:

    

 1 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
 2     xmlns:tools="http://schemas.android.com/tools"
 3     android:layout_width="match_parent"
 4     android:layout_height="match_parent"
 5     android:paddingBottom="@dimen/activity_vertical_margin"
 6     android:paddingLeft="@dimen/activity_horizontal_margin"
 7     android:paddingRight="@dimen/activity_horizontal_margin"
 8     android:paddingTop="@dimen/activity_vertical_margin"
 9     tools:context=".secondActivity" >
10
11     <Button
12         android:id="@+id/secondActivityButtonId"
13         android:layout_width="wrap_content"
14         android:layout_height="wrap_content"
15         android:text="@string/secondButtonInitText"
16         />
17
18
19 </RelativeLayout>

  4. res/values/strings.xml文件代码如下:

    

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <resources>
 3
 4     <string name="app_name">MainActivity</string>
 5     <string name="action_settings">Settings</string>
 6     <string name="hello_world">Hello world!</string>
 7     <string name="mainButtonText">Jump</string>
 8     <string name="secondButtonText">Back</string>
 9     <string name="secondActivitylabel">secondActivity</string>
10     <string name="secondButtonInitText">第二给Activity初始文字</string>
11
12 </resources>

  5. AndroidManifest.xml文件内容如下:

    

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
 3     package="com.huang.activity02"
 4     android:versionCode="1"
 5     android:versionName="1.0" >
 6
 7     <uses-sdk
 8         android:minSdkVersion="8"
 9         android:targetSdkVersion="18" />
10
11     <application
12         android:allowBackup="true"
13         android:icon="@drawable/ic_launcher"
14         android:label="@string/app_name"
15         android:theme="@style/AppTheme" >
16         <activity
17             android:name="com.huang.activity02.MainActivity"
18             android:label="@string/app_name" >
19             <intent-filter>
20                 <action android:name="android.intent.action.MAIN" />
21
22                 <category android:name="android.intent.category.LAUNCHER" />
23             </intent-filter>
24         </activity>
25
26         <activity
27             android:name="com.huang.activity02.secondActivity"
28             android:label="@string/secondActivitylabel"
29         ></activity>
30
31     </application>
32
33 </manifest>

  6. 注意的地方:

    a. 注册第二个界面程序时,使用添加代码的方式没有setContentView函数(secondActivity.java).自动添加

    b. layout文件,需要指定到相应的java文件. 比如:(activity_second.xml) “tools:context=".secondActivity" >”

  

  

     

时间: 2024-10-15 04:22:54

android开发之一<Activity-Intent-界面跳转>的相关文章

eclipse Android 开发基础 Activity 窗体 界面

eclipse Android 开发基础 新建工程 新建布局layout,new Android Activity就相当于窗体Form. 新建Activity自动生成src下同名的java代码. public class Tform2activity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setCon

Android学习笔记-Activity&Intent

界面activity_main.xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"     xmlns:tools="http://schemas.android.com/tools"     android:layout_width="match_parent"     android:layout_height="matc

Android开发学习之 定制界面风格

统一的用户界面是可以使得应用程序更友好.要做到用户界面的统一,我们就必须用到风格(style)和主题(theme).OPhone系统提供了很多系统默认的风格和主题,但是很多情况下,这些不能满足我们的需要.例如我们不可能总是希望背景色是系统规定的,我们也不希望字体大小一成不变.当然我们可以在每个空间里面进行修改,但是如果放到风格里面去做,可以更容易的做到用户界面统一.如果有朋友还不清楚什么是风格什么是主题,你可以在Andoird的Dev Guide文档里面找到详细的解释,这篇文章要描述的是开发者怎

Android开发中使用Intent跳转到系统应用中的拨号界面、联系人界面、短信界面

现在开发中的功能需要直接跳转到拨号.联系人.短信界面等等,查找了很多资料,自己整理了一下. 首先,我们先看拨号界面,代码如下: Intent intent =new Intent(); intent.setAction("android.intent.action.CALL_BUTTON"); startActivity(intent); 和 Uri uri = Uri.parse("tel:xxxxxx"); Intent intent = new Intent(

【Android应用开发】Activity intent使用的Flag

Activity intent经常使用的 FLAG Intent.FLAG_ACTIVITY_NEW_TASK 默认的跳转类型,会重新创建一个新的Activity,不过与这种情况,比方说Task1中有A,B,C三个Activity,此时在C中启动D的话,如果在Manifest.xml文件中给D添加了Affinity的值和Task中的不一样的话,则会在新标记的Affinity所存在的Task中压入这个Activity.如果是默认的或者指定的Affinity和Task一样的话,就和标准模式一样了启动

Android开发之Activity的创建跳转及传值

在Android系统的江湖中有四大组件:活动(Activity), 服务(Service), 广播接收器(Broadcast Reciver)和内容提供者(Content Provider).今天所介绍的就是Android开发中的四大组件之一:Activity,其他那三大组件以后再进行介绍.说道Android中的Activity,如果你做过iOS开发的话,Activity类似于iOS中的ViewController(视图控制器).在应用中能看到的东西都是放在活动中的.活动是安卓开发比较重要的东西

Android开发学习—— activity

activity生命周期 #Activity生命周期###void onCreate()* Activity已经被创建完毕###void onStart()* Activity已经显示在屏幕,但没有得到焦点###void onResume()* Activity得到焦点,可以与用户交互###void onPause()* Activity失去焦点,无法再与用户交互,但依然可见###void onStop()* Activity不可见,进入后台###void onDestroy()* Activi

Android中实现activity的页面跳转并传值

一个Android应用程序很少会只有一个Activity对象,如何在多个Activity之间进行跳转,而且能够互相传值是一个很基本的要求. 本次我们就讲一下,Android中页面跳转以及传值的几种方式! Activity跳转与传值,主要是通过Intent类来连接多个Activity. 1. Intent显式意图 (1) 最常见最一般的页面跳转代码,很简单,如下: Intent intent = new Intent(A.this, SecondActivity.class); startActi

详解Android开发中Activity的四种launchMode

Activity栈主要用于管理Activity的切换.当使用Intent跳转至某个目标Activity,需要根据目标Activity的加载模式来加载. Activity一共有以下四种launchMode: 1.standard:默认,每次使用Intent跳转到目标Activity时都创建一个新的实例.坏处是每次进入都要创建新的实例,执行OnCreate方法. 2.singleTop:如果要跳转的目标Activity正好在task的顶部(说明当前肯定不在目标task里,例如我在微信首页,然后想使用

从零开始学android开发-详细谈谈intent的startActivityForResult()方法

1.两种实现activity跳转的方法 实现activity的跳转主要有两种方法,startActivity()和startActivityForResult();例如activity A跳转到activity B 对于,第一种,是把activity A的数据,通过intent传送到activity B,但是不能返回数据. 关于第一种,可以参考我之前的这篇博文http://blog.csdn.net/conowen/article/details/7270393 2.第二种方法startActi