`
lj_gzy2014
  • 浏览: 18133 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

通过第一个安卓小程序对安卓activity的理解

 
阅读更多



               开始接触安卓时,我们心中总会有一个疑问,Activity是个什么样的类?问什么都要继承Activity

Activity是Android组件中最基本也是最为常见用的四大组件(Activity,Service服务,Content Provider容提供者,BroadcastReceiver广播接收器)之一,简单来说,Activity就是一个界面,我们安卓手机每次显示在屏幕上的都是一个Activity,它的作用是一个负责与用户交互,我们平时触屏,点击都是通过activity与后台控制程序交互。

              安卓里面,界面界面显示和界面实现是分离的,分别src目录下的java代码和layout目录下的xml文件控制。如何理解这种分离呢?既然是分离的,那么它们的结合点又是什么呢?

package com.example.learningtext1_startanotheractivity;

import android.net.Uri;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class FirstActivity extends Activity {
private Button startBtn;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		//setContentView(R.layout.activity_first);
		setContentView(R.layout.activity_my);
		startBtn=(Button)this.findViewById(R.id.start_btn);
		startBtn.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {
				
				startActivity(new Intent(FirstActivity.this, MyActivity.class));
				
			}
		});
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		getMenuInflater().inflate(R.menu.first, menu);
		return true;
	}

}

 看上面的代码,程序是通过setContentView(R.layout.activity_first)函数将界面显示出来的。我们没在layout文件下创建一个xml布局文件,系统就自动会在R.java文件中注册一个layout资源id,我们在显示的时候,既可以通过这个资源id找到对应的界面实现文件,从而显示相应的文件。为了表现出这种特点,我故意将自动生成的注释掉了,而自己手动创建了一个activity_my.xml文件,如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <Button
        android:id="@+id/start_btn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/start_btn" />

</LinearLayout>

到这一步,第一个自定义界面就生成了。那么如何实现界面的跳转呢?界面跳转,我们至少还需要一个界面。这里我手动添加了一个MyActivity.JAVA文件

package com.example.learningtext1_startanotheractivity;

import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class MyActivity extends Activity{
	private Button startBtn;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_first);
		startBtn=(Button)findViewById(R.id.button1);
		startBtn.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {
				
				startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.baidu.com")));
				
			}
		});
	}

}

 注意如果是手动添加的话,要在AndroidManifest.xml文件中注册,否则会找不到对应文件添加代码后,如下:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.learningtext1_startanotheractivity"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="18" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.example.learningtext1_startanotheractivity.FirstActivity"
            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=".MyActivity"
            android:label="@string/app_name">
            
        </activity>
    </application>

</manifest>

 当然也可使用adt自动生成,这样就不用手动注册了。要想实现跳转,分两步:一是监听,二是跳转。

监听

startBtn.setOnClickListener(new OnClickListener() {
   
   @Override
   public void onClick(View v) {
    //跳转,前是当前的activity,后面的是要跳往的activity
    startActivity(new Intent(FirstActivity.this, MyActivity.class));
    
   }
  });

 

 

运行效果图:

点击安钮,跳转到第二个界面

点击按钮,条转到百度首页


  

 

 

 

 

 

 

 

 

 

 

  • 大小: 10.7 KB
  • 大小: 9.2 KB
  • 大小: 23.1 KB
分享到:
评论

相关推荐

    Android小程序源代码集合

    这个“Android小程序源代码集合”是一个极好的资源,适合初学者入门,同时也因为其简单易懂的特点,使得学习过程更为顺畅。 一、Android小程序基础 Android小程序基于Java语言开发,利用Google的Android SDK工具。...

    Android 第一个简单的程序例子

    总的来说,"Android 第一个简单的程序例子"是一个典型的Android入门教程,涵盖了Android应用的基本组件(如`Activity`和布局)、事件处理和UI设计。通过深入学习这个例子,开发者可以逐步熟悉Android开发环境,并为...

    备忘录 安卓小程序 安卓课设

    这个项目是关于开发一个安卓平台上的小程序,类似于苹果手机中的备忘录与提醒事项功能的整合。它旨在为用户提供一个集记事、提醒于一体的便捷工具,适用于日常任务管理和个人事务记录。 【描述】:“苹果手机的备忘...

    android Activity布局初步(二)- 嵌套布局

    RelativeLayout则允许视图根据彼此的位置进行对齐,例如一个按钮位于父视图的底部,另一个按钮位于第一个按钮的右侧。嵌套RelativeLayout可以在不同层级上定义视图之间的关系,实现复杂的相对定位。 ...

    安卓平台的搭建与第一个安卓程序

    ### 安卓平台的搭建与第一个安卓程序 #### 一、安卓平台的搭建 ##### 1.1 软件下载 **1.1.1 JDK的下载** 要搭建安卓开发环境,首先需要安装Java Development Kit (JDK)。通过百度搜索引擎搜索“JDK”,找到...

    学习android的小程序

    通过实践这些小程序,学习者可以逐步建立起对Android开发的全面理解,并为后续的高级主题打下坚实基础。记住,Android开发是一个不断学习和实践的过程,理论知识与实际操作相结合才能更好地提升技能。

    动手学Android之三——第一个界面例子程序

    在Android开发的学习过程中,创建第一个界面例子程序是至关重要的步骤,它能让你对Android应用程序的基本结构和工作原理有一个直观的理解。本教程将深入探讨如何在Android环境中构建一个简单的用户界面,我们将称之...

    android小程序源码

    本资源“android小程序源码”旨在为初学者提供一个学习和实践Android开发的平台,尤其对于刚接触Android编程的新手来说,这是一个非常宝贵的学习材料。 1. **Android SDK与环境配置** 在开发Android小程序之前,...

    android小程序源代码

    1. **Android Studio**: Android小程序开发的基础工具是Android Studio,这是一个强大的集成开发环境(IDE),提供了代码编辑、调试、性能优化以及版本控制等多种功能。下载并安装Android Studio后,开发者可以创建新...

    Android几个初学者的小程序

    本资源包“Android几个初学者的小程序”显然旨在为新手提供一系列基础项目,帮助他们通过实践来理解Android应用开发的基础知识。下面将详细阐述这些小程序可能涉及的Android开发关键概念和技术。 1. **环境搭建**:...

    安卓 小程序 色谱卡 eclipse

    【安卓小程序色谱卡开发详解】 ...总之,Android小程序结合色谱卡功能,可以提供强大的数据呈现能力,帮助用户更好地理解和分析信息。通过Eclipse这一强大工具,开发者可以高效地实现这一目标,提升用户体验。

    android 备忘录小程序

    总之,这个"android 备忘录小程序"涵盖了Android应用开发的多个关键方面,从UI设计到数据管理,再到手势识别和权限控制,展示了Android平台开发的全面性。通过深入学习和分析这个项目,开发者可以提升其Android编程...

    我的第一个Android程序

    【标题】"我的第一个Android程序"揭示了初学者在Android应用开发中的基本步骤。这个标题意味着我们将探讨如何从零开始创建一个简单的Android应用程序,通常这是一个基础教程,旨在帮助新手理解Android Studio集成...

    android仿艺龙酒店首页两个Activity同时动画的效果

    为了使两个Activity同时进行动画,你需要在第一个Activity的`onPause()`方法中启动第二个Activity,并在第一个Activity的动画开始后立即调用`finish()`,这样当第一个Activity淡出时,第二个Activity会同时淡入。...

    第一个android小程序,总结

    标题 "第一个android小程序,总结" 暗示了这篇内容可能是关于Android开发的初步实践,特别是针对小程序的开发。在Android平台上,小程序通常指的是轻量级的应用程序,它们不需要安装即可运行,通常由一系列Web技术...

    第一个Android程序开发笔记

    在Android程序开发中,"第一个Android程序"通常是学习者入门时的重要步骤,它涉及到许多基础知识,包括Android Studio的使用、布局设计、活动(Activity)管理、数据绑定以及UI元素的交互等。这篇博客“第一个Android...

    多个activity界面的背景设置Android

    例如,你可以有一个叫做`background_activity1.png`的图片用于第一个Activity,另一个叫做`background_activity2.png`的图片用于第二个Activity。 2. **颜色资源**:如果你的背景是纯色,可以在res/values/colors....

    Android个人记账程序源码

    这个压缩包文件包含了一个基本的Android个人记账应用程序的源代码。这个程序是为那些希望学习如何在Android平台上开发理财类应用的人准备的。通过分析和研究这些源代码,开发者可以了解到如何在Android环境中实现一...

    AndroidStudio实现天气预报小程序源码

    本教程将详细介绍如何使用Android Studio来实现一个天气预报小程序。 一、项目初始化与设置 1. 创建新项目:打开Android Studio,选择“Start a new Android Studio project”,在向导中填写项目名、包名和保存...

    安卓动画效果相关-Draggerandroid的Activity切换动画大全.rar

    在Android开发中,动画效果...总之,通过对`Dragger-android`项目的深入研究,开发者不仅可以学习到如何实现各种Activity切换动画,还能提升对Android动画系统的理解,这对于创建具有专业视觉效果的应用程序至关重要。

Global site tag (gtag.js) - Google Analytics