您现在的位置: 365建站网 > 365文章 > android的activity跳转到另一个activity

android的activity跳转到另一个activity

文章来源:365jz.com     点击数:352    更新时间:2017-08-10 11:52   参与评论

一个activity就好比一个网页,此文章讲解怎样创建一个activity并且实现跳转!

开发环境:android4.1.1

实验功能:
在第一个Hello World!为标签的activity中显示good,该界面中有一个名为Next的按钮。点击Next按钮进入到第二个activity中去,第二个界面中只有1个Close按钮。当然,据网上有人将要比较安全的实现关闭程序的功能也不是挺简单的,因为android有专门的退出键返回键等。所以该Close按钮暂时没去实现它。
我的第1个activity为HelloworldActivity,第2个activity为NextActivity.

实验说明:
1. 要实现从1个activity跳到另一个activity,这需要通过intent来实现。当然我们需要在Next按钮上绑定一个按钮按下的监听器(这些好像是java中的知识,可我从没学过java,只能用到哪个地方再去学了),一旦该按钮监听到有按键按下,则通过intent将指定的第2个activity触发,这样就完成了本次试验的功能。
2.在工程中,每一个activity都对应一个xml文件,xml文件主要是控制各控件的位置和属性的.
3. asserts目录下可以存放任何文件,res目录下也可以存放任意文件,且res下的文件会在gen目录下的R.java文件中自动生成一个全局id。
4. res目录下的values目下的strings.xml中的控件也是每个控件都在R.jar中对应一个id号。当然layout下的main.xml文件也是一样的。
5. AndroidManifest.xml是整个应用程序的配置文件。
6. android.jar是该程序应用的所有android类的来源。
7. view是android中所有控件的父类。
8. Activity可以理解为人机交互的界面,也可以理解为一个控件的容器。
9. eclipse中用crtl+shift+c注释选中区域,同时也是用ctrl+shift+c取消选中区域,这里的注释为双斜杆//.
  如果用/**/来注释的话,就是用ctrl+shift+/来注释选中区域,用ctrl+shift+\来取消选中区域的注释。
10. 用alt+/是增加单词函数等补全功能的提示。
11. ctrl+shift+o可以自动添加eclipse中检测到需要导入的包文件。
12. setText里面不能采用资源引用,资源引用显示文本应该是在xml中的。
13. xml的注释不能出现在属性值代码中,不能出现在标记中。且注释格式为<!--注释内容-->
14. xml语句结束后并不需要结束符号,比如说分号。

试验结果(在模拟器中运行的):
启动程序后:


实验主要部分代码及注释:

</>code

  1. HelloworldActivity.java:
  2. package com.example.helloworld;
  3. import android.app.Activity;
  4. import android.content.Intent;
  5. import android.view.View;//注意view的大小写
  6. import android.view.View.OnClickListener;
  7. import android.os.Bundle;
  8. import android.widget.Button;
  9. public class HelloworldActivity extends Activity {
  10.     private Button my_button = null;
  11.     @Override
  12.     public void onCreate(Bundle savedInstanceState) {
  13.  super.onCreate(savedInstanceState);
  14.  setContentView(R.layout.activity_helloworld);
  15.  my_button = (Button)findViewById(R.id.my_button);
  16.  my_button.setText( "Next" );   
  17.  my_button.setOnClickListener(new MyButtonListener());
  18.     }
  19.     class MyButtonListener implements OnClickListener{
  20.  public void onClick(View v) {
  21.      // TODO Auto-generated method stub
  22.      Intent intent = new Intent();
  23.      intent.setClass(HelloworldActivity.this, NextActivity.class);
  24.      HelloworldActivity.this.startActivity(intent);
  25.  } 
  26.     }
  27.     /**
  28.      * 如果下面的语句不要,那么系统运行的时候会直接进入本程序中,而不是先进入主菜单
  29.      * 再进入选择应用程序界面进入本程序
  30.      * 为了方便调试,这里就不进入主菜单界面了*/
  31.     /*@Override
  32.     public boolean onCreateOptionsMenu(Menu menu) {
  33.  getMenuInflater().inflate(R.menu.activity_helloworld, menu);
  34.  return true;
  35.     }*/
  36. }
  37. NextActivity.java:
  38. package com.example.helloworld;
  39. import android.app.Activity;
  40. import android.os.Bundle;
  41. import android.widget.Button;
  42. public class NextActivity extends Activity{
  43.     private Button my_button2 = null;
  44.     @Override
  45.     protected void onCreate(Bundle savedInstanceState) {
  46.  // TODO Auto-generated method stub
  47.  super.onCreate(savedInstanceState);
  48.  setContentView(R.layout.activity_next);
  49.  my_button2 = (Button)findViewById(R.id.my_button2);
  50.     //    my_button2.setText("@string/close");    //setText里面不能采用资源引用
  51.       //资源引用显示文本应该是在xml中的
  52.  my_button2.setText("Close");
  53.     }
  54. }


activity_helloworld.xml:

</>code

  1. <!-- android:text="@string/wuwei" -->
  2. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3.     xmlns:tools="http://schemas.android.com/tools"
  4.     android:layout_width="match_parent"
  5.     android:layout_height="match_parent" >
  6.     <TextView
  7.  android:layout_width="wrap_content"
  8.  android:layout_height="wrap_content"
  9.  android:layout_alignParentLeft="true"
  10.  android:layout_alignParentRight="false"
  11.  android:layout_alignParentTop="true"
  12.  android:layout_centerHorizontal="true"
  13.  android:text="@string/wuwei"
  14.  tools:context=".HelloworldActivity" />
  15.     <Button
  16.  android:layout_width="wrap_content"
  17.  android:layout_height="wrap_content"    
  18.  android:id="@+id/my_button"  
  19.  android:layout_centerHorizontal="true"
  20.  android:layout_centerVertical="true"
  21.   />
  22. </RelativeLayout>
  23. activity_next.xml:
  24. <?xml version="1.0" encoding="utf-8"?>
  25. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  26.     android:layout_width="match_parent"
  27.     android:layout_height="match_parent"
  28.     android:orientation="vertical" >
  29.     <Button
  30.  android:id="@+id/my_button2"
  31.  android:layout_width="fill_parent"
  32.  android:layout_height="wrap_content"
  33.     />
  34.     </LinearLayout>

 

AndroidManifest.xml:

</>code

  1. <manifest xmlns:android="http://schemas.android.com/apk/res/android"
  2.     package="com.example.helloworld"
  3.     android:versionCode="1"
  4.     android:versionName="1.0" >
  5.     <uses-sdk
  6.  android:minSdkVersion="16"
  7.  android:targetSdkVersion="15" />
  8.     <application
  9.  android:icon="@drawable/ic_launcher"
  10.  android:label="@string/app_name"
  11.  android:theme="@style/AppTheme" >
  12.  <activity
  13.      android:name=".HelloworldActivity"
  14.      android:label="@string/hello_world" >
  15.      <intent-filter>
  16.   <action android:name="android.intent.action.MAIN" />
  17.   <category android:name="android.intent.category.LAUNCHER" />
  18.      </intent-filter>
  19.  </activity>
  20.  <activity android:name=".NextActivity"  android:label="@string/close">
  21.  </activity>
  22.     </application>
  23. </manifest>

实验总结:
对android开发工程下的几个目录的主要功能和任务有了个大致的了解,对android的开发流程大概熟悉了一遍,由于不懂java和xml语法,所以未来的学习进度可能会稍慢,还好,我主要不是弄这方向的,只是实验室有这方面的项目,不得不弄一下。
作者:tornadomeet

 

如对本文有疑问,请提交到交流论坛,广大热心网友会为你解答!! 点击进入论坛

发表评论 (352人查看0条评论)
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
昵称:
最新评论
------分隔线----------------------------

快速入口

· 365软件
· 杰创官网
· 建站工具
· 网站大全

其它栏目

· 建站教程
· 365学习

业务咨询

· 技术支持
· 服务时间:9:00-18:00
365建站网二维码

Powered by 365建站网 RSS地图 HTML地图

copyright © 2013-2024 版权所有 鄂ICP备17013400号