Activity是Android的基本组成部分,是人机交互程序入口;一个Android项目由多个Activity组成,所有的显示组件必须放在Activity上才能进行显示。

(1)Android项目工作区构成

如上图所示,一个Android项目工作区由几部分构成,其中src目录中存放的就是Activity文件;gen下存放的是R文件,R.java中保存了该项目中所有的资源ID;res目录下是存放图片、网页、文本等资源,其中drawable中存放图片,它有高中低三种分辨率的目录,layout是存放xml布局文件,主要用于排列不同的显示组件,values中存放一些资源信息,例如定义数组数据、颜色数据、尺度数据、字符串、样式等,raw中存放一些原生文件,比如视频、音频等,可以使用Resources.getRawResource()方法获得这些资源;AndroidManifest.xml是Android的主要配置文件,用来配置各个组件或者一些访问权限。

(2)简单的Android程序

一个Android项目主要有三方面,一是布局文件,二是Activity,三是资源文件,先在布局文件中写好组件布局,再用Activity调用布局文件进行显示,Activity也还会进行一些人机交互的操作,布局文件和Activity都可以调用资源文件。下面是一个简单的Android程序实例:

首先,建立一个activity_main.xml布局文件,布局中只有两个文本框和一个按钮,代码如下:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical">

<TextView

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="@string/hello_world" />

<TextView

android:id="@+id/mytext"

android:layout_width="fill_parent"

android:layout_height="wrap_content"/>

<Button

android:id="@+id/mybutton"

android:layout_width="fill_parent"

android:layout_height="wrap_content"/>

</LinearLayout>

建立一个MainActivity.java类,该类继承Activity,调用显示刚才的布局文件,并对其中的一些组件进行控制,代码如下:

public class MainActivity extends Activity {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);//调用布局文件

TextView text = (TextView)findViewById(R.id.mytext);//根据id获取组件

Button button = (Button)findViewById(R.id.mybutton);

text.setText("id控制TextView组件");//设置文本框内容

button.setText("id控制Button组件");//设置按钮文字信息

}

}

写完一个Activity类之后一定要在AndroidManifest.xml中进行注册,不然会运行报错,这个错误很多人都会粗心大意的犯过,一定要谨记!!!(以后的文章将不再提醒)注册代码如下:

<activity

android:name="com.example.chapter3.MainActivity"

android:label="@string/app_name" >

<intent-filter>

<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />

</intent-filter>

</activity>

其中action android:name="android.intent.action.MAIN" />表示该Activity为该项目的主类,这一点类似于C++项目中会有多个cpp文件,但是只有一个程序运行入口文件。该程序运行效果如下:

1、初识Activity的更多相关文章

  1. 二、Android学习第二天——初识Activity(转)

    (转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html) 一. Android学习第二天——初识Activity 昨天程序搭建成功以 ...

  2. android开发------初识Activity

    之前我们简单说过,Activity实际上是一个窗体,用来存放我们的程序外观. 我们先来创建一个空的Activity,不加载任何layout.要做的是,定义自己的类,继承android的Activity ...

  3. 初识Activity

    Callback Description onCreate() This is the first callback and called when the activity is first cre ...

  4. Android学习笔记二之初始Activity

    初识Activity,跟着教程学习敲了一遍这一章的内容,下面根据目录结构总结知识点: 一.活动是什么 上篇博文中我们提到了Android四大组件,其中有一个Activity,我们将之称为活动.活动是最 ...

  5. 浅谈Android之Activity生命周期

     Activity作为四大组件之一,出现的频率相当高,基本上我们在android的各个地方都能看见它的踪影,因此深入了解Activity,对于开发高质量应用程序是很有帮助的.今天我们就来详细地聊聊Ac ...

  6. android开发之路01

    一.android系统被分为4个层次:1.最下层的是linux核心,包括多个驱动程序,提供了操作系统应该具备的核心功能:2.在linux核心之上,包括两个部分,一部分是Android Runtime( ...

  7. Android入门:MVC模式(中)

    MVC 模式的最基本概念是分层设计,把我们的代码基于 View(视图).Model(模型).Controller(控制器)进行分类封装,这样做的目的是为了清晰结构,使代码更易维护和扩展. 在上一篇文章 ...

  8. 0基础学安卓--初识安卓Activity

    知识储备:windows+ Android Studio 等环境安装. 安卓中Activity代表页的意思,也就是☞我们手机上当前的整个界面显示,点击按钮等操作可以跳转到另外一个Activity中. ...

  9. Android四大组件初识之Activity

    一.Activity的生命周期 Activity生命周期是一系列方法调用.熟悉各个方法调用时间,我们在创建activity就能根据具体实现选择合适的方法覆盖. 1.  覆盖Activity的生命周期方 ...

随机推荐

  1. Struts2系列笔记(2)---Struts.XML

    Struts2.xml 本篇博客主要讲Struts2.xml中package下的标签和标签属性,主要分以下四个部分说明: (1)action的配置基本属性 (2)同一个Action类中不同方法满足不同 ...

  2. 毕向东tcp学习笔记1

    项目功能: 实现一次发送和接收,服务器接收客户端发送的内容并打印出来 用最通俗的语言讲解下,上图中大椭圆是服务器,A.C是客户端,当客户端和服务器通过socket建立连接后 1.两者之间形成一个通道, ...

  3. matlab和C语言的break及continue测试

    break和continue语句 有两个附加语句可以控制while和for循环:break和continue语句.break语句可以中止循环的执行和跳到end后面的第一句执行,而continue只中止 ...

  4. C语言 extern学习1

    没有头文件时,通过本文件内的函数声明来确定定义域,实现功能: //单文件测试 #include <stdio.h> /* 经测试,C语言环境下子函数默认是void型:所以可省略不写 为严谨 ...

  5. Wpf中鼠标样式的修改,作用点修改

    最近,在做一个控件的鼠标样式,Ps加了插件,可以编辑生成.cur格式的图标. 可是,所有的改完以后,调试运行,结果发现自己制作的图标的作用点总是在左上角,而不是在"手形"图标的食指 ...

  6. web前端简介

    Web标准: 结构(硬件):xhtml html 表现(软件):css 行为(插件):dom  js html:超文本标记语言 (Hyper Text Markup Language) xhtml:可 ...

  7. 包装一个php的验证码类

    验证码是我们开发的时候经验到的功能,所以在此本人包装了一个验证码类,应该可以作为php的类插件用,在此分享给各位博客园的读友. 实现的原理也是很简单,就是利用画布的几个元素,再加上一些字符串的获取,东 ...

  8. python的解释器spython介绍

    Python解释器spython介绍 简介 出于个人爱好和某种需求,我再16年对python的解释器产生了浓厚兴趣,并且下定决心重新实现一个版本.我个人再游戏服务器开发中,对c++嵌入lua和pyth ...

  9. 用友财务软件U8V10.1虚拟机 及培训视频

    需要学习用友财务软件U8V10.1虚拟机 及培训视频 ,请联系QQ:858-048-581 虚拟机系统为WIN2003+SQLSERVER2008+U8V10.1,虚拟机内存最少需要2G

  10. MYSQL创建用户Unknown column 'plugin' in 'mysql.user'的解决方法

    执行下列sql ALTER TABLE `user` ADD `Create_tablespace_priv` ENUM('N','Y') NOT NULL DEFAULT 'N' AFTER `Tr ...