多个activities应用编程

原创 2011年01月11日 10:41:00

基于篇幅,这里我只用两个独立却又关联的activities来作演示:

main activitiy:

 

package mth.android;

import android.app.Activity;
import android.content.Intent;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

public class AndroidActivity extends Activity implements View.OnClickListener {
    // Define a media player
 private MediaPlayer mediaPlayer = null;
 private int curPos;
 
 /** Called when the activity is first created.
  *  We can treat it like a constructor. Truly it's not the constructor,
  *  it's called when this activity is created!
  *  Constructor is only used when an instance is created!
  * */ 
 @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
       
        // Initialize local variables
        curPos = 0;
        mediaPlayer = new MediaPlayer();
       
        /**
         * Initialize View components
         * */
        Button startActivityButton = (Button)this.findViewById(R.id.startAndroidActivity);
        startActivityButton.setOnClickListener(this);
       
        Button stopActivityButton = (Button)this.findViewById(R.id.stopAndroidActivity);
        stopActivityButton.setOnClickListener(this);
       
        Button suspendActivityButton = (Button)this.findViewById(R.id.suspendAndroidActivity);
        suspendActivityButton.setOnClickListener(this);
       
        Button nextActivityButton = (Button)this.findViewById(R.id.nextPlay);
        nextActivityButton.setOnClickListener(this);
       
        Button aboutAndroidButton = (Button)this.findViewById(R.id.aboutAndroidButton);
        aboutAndroidButton.setOnClickListener(this);

    }
 
 public void replay(MediaPlayer mp) {
  // TODO Auto-generated method stub
  mp.stop();
  mp.reset();
  mp = MediaPlayer.create(this, R.raw.apologize);
  mp.seekTo(0);
  mp.start();
 }
 
 public void display(TextView tv, String str)
    {
     tv.setText("Hello world");
     tv.setBackgroundColor(0xFFFFFF00);
    }
   
    public void onClick(View v) {
  switch (v.getId())
  {
  case R.id.startAndroidActivity:
   // TODO Auto-generated method stub
   final TextView textDisplayer = (TextView) this.findViewById(R.id.displayText);
   textDisplayer.setText("Hello world");
   textDisplayer.setBackgroundColor(BIND_AUTO_CREATE);
   // Start media player
   mediaPlayer = MediaPlayer.create(this, R.raw.just_one_last_dance);
         mediaPlayer.seekTo(0);
         mediaPlayer.start();
   break;
  case R.id.stopAndroidActivity:
   mediaPlayer.stop();
   break;
  case R.id.suspendAndroidActivity:
   if(true == mediaPlayer.isPlaying())
   {
    curPos = mediaPlayer.getCurrentPosition();
    mediaPlayer.pause();
   }
   else
   {
    mediaPlayer.seekTo(curPos);
    mediaPlayer.start();
   }
   break;
  case R.id.nextPlay:
   mediaPlayer.stop();
   // uninitialize media player
   mediaPlayer.reset();
   // Reinitialize media player
   mediaPlayer = MediaPlayer.create(this, R.raw.apologize);
   mediaPlayer.seekTo(0);
   mediaPlayer.start();
   break;
   
  case R.id.aboutAndroidButton:
   /*
    * Display new manifest about
    * */
   Intent intent = new Intent();
         intent.setAction("mth.android.ABOUT_ANDROID");
         startActivity(intent);
   break;
  default:
   break;
  }
 }
}

 

About activity:

 

package mth.android;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

public class AboutActivity extends Activity {
 
 @Override
 public void onCreate(Bundle savedInstanceState)
 {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.about_android);
  
  /*
   * Initialize the view components
   * */
  TextView aboutTextView = (TextView)this.findViewById(R.id.aboutAndroidTextView);
  aboutTextView.bringToFront();
  
  Button exitAboutMenuButton = (Button)this.findViewById(R.id.exitAboutMenu);
  exitAboutMenuButton.setOnClickListener(new Button.OnClickListener(){

   public void onClick(View arg0) {
    // TODO Auto-generated method stub
    finishActivity(0);
   }
   
  });
 }
}

接下来要创建一个xml,专门用于About Activity

about_android.xml

 

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent">
<TextView android:layout_height="wrap_content"
    android:layout_width="fill_parent"
    android:id="@+id/aboutAndroidTextView"
    android:text="Welcome to use Android SDK :-)">
</TextView>
<Button   android:text="Exit About"
    android:id="@+id/exitAboutMenu"
    android:layout_height="wrap_content"
    android:layout_width="fill_parent">
</Button>

</LinearLayout>

接下来要在android manifest里面注册。manifest用于管理所有的activities等资源,并合理标识。

AndroidManifest.xml:

 

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="mth.android"
      android:versionCode="1"
      android:versionName="1.0">
    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".AndroidActivity"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
       
        <activity android:name=".AboutActivity"
            android:label="@string/app_name">
         <intent-filter>
          <action android:name="mth.android.ABOUT_ANDROID" />
          <category android:name="android.intent.category.DEFAULT" />
         </intent-filter>   
        </activity>

    </application>


</manifest>

 

程序可运行:-)

训练局限玻尔斯曼机(Training Restricted Boltzmann Machines)

本栏目(Training Restricted Boltzmann Machines)包括内容的介绍、局限玻尔斯曼机与对比差异(CD)的回顾、使用CD时怎样纠正统计、迷你块大小(mini-batch)...
  • liyuanhao1114
  • liyuanhao1114
  • 2014年02月28日 21:15
  • 1656

MTK 8.1遇到“Only fullscreen opaque activities can request orientation”报错处理

问题:之前项目中为了解决Activity跳转ActiionBar闪黑条的问题,给Activity设置的半透明属性。在MTK 8.1 中会报错。 在MTK 8.1 中如果一个Activity设置了方向...
  • u014203484
  • u014203484
  • 2017年11月28日 19:56
  • 1317

网络应用编程接口

第十六篇 网络应用编程接口1、引言 上一篇着重讲述了网络的一些概念方面的问题,本章将重点放在编程应程序的网络接口的学习。上图中位蓝色字体处才网络编程的重点。。2、TCP协议 前面说过它是一种面向连...
  • u012724150
  • u012724150
  • 2016年08月18日 10:12
  • 393

在系统编程ISP及在应用编程IAP

在系统编程ISP及在应用编程IAP    ISP(In-System Programming)在系统可编程,指电路板上的空白器件可以编程写入最终用户代码, 而不需要从电路板上取下器件,已经编程的器件也...
  • bytxl
  • bytxl
  • 2015年12月17日 09:53
  • 803

053第279题

279.Identify the activities performed as part of the Automatic SQL Tuning process in the maintenance...
  • adeline_pan
  • adeline_pan
  • 2015年07月17日 10:45
  • 825

Activities

Android API GuidesActivity是一个应用组件,提供一个用户界面,用户可与之交互。每个Activity都被分配一个Window以便于绘制用户接口。 Android采用back s...
  • caryee89
  • caryee89
  • 2015年03月06日 15:36
  • 281

Only fullscreen opaque activities can request orientation

问题 给activity启动页设置orientation后出现了如下错误:    定位错误 从错误信息中可以看出原因:Only fullscreen opaque activities ...
  • Calvin_zhou
  • Calvin_zhou
  • 2017年12月25日 12:40
  • 741

R for data science之purrr包(上)

作者:邬书豪,车联网数据挖掘工程师 ,人工智能爱好者社区负责人。微信ID:tsaiedu知乎专栏:https://www.zhihu.com/people/wu-shu-hao-67/activiti...
  • kMD8d5R
  • kMD8d5R
  • 2018年01月04日 00:00
  • 49

ActivityManager: Exception thrown launching activities in ProcessRecord

在一些手机上测试程序出现报错:Exception thrown launching activities in ProcessRecord ...
  • qq_22256565
  • qq_22256565
  • 2016年12月13日 17:19
  • 830

System services not available to Activities before onCreate()

出现故障: System services not available to Activities before onCreate() 故障原因:
  • akon405
  • akon405
  • 2014年04月26日 23:04
  • 255
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:多个activities应用编程
举报原因:
原因补充:

(最多只允许输入30个字)