探究活动

1.活动是什么

      活动(Activity)是最容易吸引到用户的地方了,它是一种可以包含用户界面的组件,主要用于和用户进行交互。一个应用程序中可以包含零个或多个活动,但不包含任何活动的应用程序很少见,谁也不想让自己的应用永远无法被用户看到吧?

2.活动的基本用法

首先,你需要再新建一个 Android 项目,项目名可以叫做 ActivityTest,包名我们就使用默认值 com.example.activitytest。不过图中的那一步需要稍做修改,我们不再勾选 Create Activity 这个选项,因为这次我们准备手动创建活动。

3. 手动创建活动

       目前 ActivityTest 项目的 src 目录应该是空的,你应该在 src 目录下先添加一个包。点击 Eclipse 导航栏中的 File→New→Package,在弹出窗口中填入我们新建项目时使用的默认包名com.example.activitytest,点击 Finish。

现在右击 com.example.activitytest 包→New→Class,会弹出新建类的对话框,我们新建一个名为 FirstActivity 的类,并让它继承自 Activity,点击 Finish 完成创建。

你需要知道,项目中的任何活动都应该重写 Activity 的 onCreate()方法,但目前我们的FirstActivity 内部还什么代码都没有,所以首先你要做的就是在 FirstActivity 中重写 onCreate()方法,代码如下所示:

public class FirstActivity extends Activity {

@Override

protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);

  }

}

可以看到,onCreate()方法非常简单,就是调用了父类的 onCreate()方法。当然这只是默认的实现,后面我们还需要在里面加入很多自己的逻辑。

4.创建和加载布局

前面我们说过,Android 程序的设计讲究逻辑和视图分离,最好每一个活动都能对应一个布局,布局就是用来显示界面内容的,因此我们现在就来手动创建一个布局文件。

右击 res/layout 目录→New→Android XML File,会弹出创建布局文件的窗口。我们给这个布局文件命名为 first_layout,根元素就默认选择为 LinearLayout。

这是 ADT 为我们提供的可视化布局编辑器,你可以在屏幕的中央区域预览当前的布局。在窗口的最下方有两个切换卡,左边是 Graphical Layout,右边是 first_layout.xml。Graphical Layout 是当前的可视化布局编辑器,在这里你不仅可以预览当前的布局,还可以通过拖拽的方式编辑布局。而 first_layout.xml 则是通过 XML 文件的方式来编辑布局,现在点击一下

first_layout.xml 切换卡,可以看到如下代码:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"       android:layout_width="match_parent"       android:layout_height="match_parent"
      android:orientation="vertical" > </LinearLayout>

由于我们刚才在创建布局文件时选择了 LinearLayout 作为根元素,因此现在布局文件中已经有一个 LinearLayout 元素了。那我们现在对这个布局稍做编辑,添加一个按钮,如下所示:

<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/button_1"
 android:layout_width="match_parent"  android:layout_height="wrap_content" android:text="Button 1"

/>

</LinearLayout>

这里添加了一个 Button 元素,并在 Button 元素的内部增加了几个属性。android:id 是给当前的元素定义一个唯一标识符,之后可以在代码中对这个元素进行操作。你可能会对 @+id/button_1 这种语法感到陌生,但如果把加号去掉,变成@id/button_1,这你就会觉得有些熟悉了吧,这不就是在 XML 中引用资源的语法吗,只不过是把 string 替换成了 id。是的,如果你需要在 XML 中引用一个 id,就使用@id/id_name 这种语法,而如果你需要在 XML 中定义一个 id,则要使用@+id/id_name 这种语法。随后 android:layout_width 指定了当前元素的宽度,这里使用 match_parent 表示让当前元素和父元素一样宽。android:layout_height 指定了当前元素的高度,这里使用 wrap_content,表示当前元素的高度只要能刚好包含里面的内容就行。android:text 指定了元素中显示的文字内容。如果你还不能完全看明白,没有关系,关于编写布局的详细内容我会在下一章中重点讲解,本章只是先简单涉及一些。现在按钮已经添加完了,你可以点回 Graphical Layout 切换卡,预览一下当前布局。

5 AndroidManifest 文件中注册

别忘了前面我有说过,所有的活动都要在 AndroidManifest.xml 中进行注册才能生效,那么我们现在就打开 AndroidManifest.xml 来给 FirstActivity 注册吧,代码如下所示:

<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.activitytest"
android:versionCode="1" android:versionName="1.0" > <uses-sdk

android:minSdkVersion="14" android:targetSdkVersion="19" />

<application

android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" >

<activity

android:name=".FirstActivity" android:label="This is FirstActivity" > <intent-filter>

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

</intent-filter> </activity>

</application>

</manifest>

可以看到,活动的注册声明要放在<application>标签内,这里是通过<activity>标签来对活动进行注册的。首先我们要使用 android:name 来指定具体注册哪一个活动,那么这里填入的.FirstActivity 是什么意思呢?其实这不过就是 com.example.activitytest.FirstActivity 的缩写而已。由于最外层的<manifest> 标签中已经通过 package 属性指定了程序的包名是com.example.activitytest,因此在注册活动时这一部分就可以省略了,直接使用.FirstActivity就足够了。然后我们使用了 android:label 指定活动中标题栏的内容,标题栏是显示在活动最顶部的,待会儿运行的时候你就会看到。需要注意的是,给主活动指定的 label 不仅会成为标题栏中的内容,还会成为启动器(Launcher)中应用程序显示的名称。之后在<activity>标签的内部我们加入了<intent-filter> 标签,并在这个标签里添加了<action android:name= "android.intent.action.MAIN" />和<category android:name="android.intent.category.LAUNCHER" />这两句声明。这个我在前面也已经解释过了,如果你想让 FirstActivity 作为我们这个程序的主活动,即点击桌面应用程序图标时首先打开的就是这个活动,那就一定要加入这两句声明。另外需要注意,如果你的应用程序中没有声明任何一个活动作为主活动,这个程序仍然是可以正常安装的,只是你无法在启动器中看到或者打开这个程序。这种程序一般都是作为第三方服务供其他的应用在内部进行调用的,如支付宝快捷支付服务。

好了,现在一切都已准备就绪,让我们来运行一下程序吧,结果如图 所示。

图 2.6

在界面的最顶部是一个标题栏,里面显示着我们刚才在注册活动时指定的内容。标题栏的下面就是在布局文件 first_layout.xml 中编写的界面,可以看到我们刚刚定义的按钮。现在你已经成功掌握了手动创建活动的方法,让我们继续看一看你在活动中还能做哪些更多的事情。

2.2.4 隐藏标题栏

标题栏中可以进行的操作其实还是蛮多的,尤其是在 Android 4.0 之后加入了 Action Bar 的功能。不过有些人会觉得标题栏相当占用屏幕空间,使得内容区域变小,因此也有不少的应用程序会选择将标题栏隐藏掉。

隐藏的方法非常简单,打开 FirstActivity,在 onCreate()方法中添加如下代码:

protected void onCreate(Bundle savedInstanceState) {

35

第一行代码——Android

super.onCreate(savedInstanceState);

requestWindowFeature(Window.FEATURE_NO_TITLE);

setContentView(R.layout.first_layout);

}

其中 requestWindowFeature(Window.FEATURE_NO_TITLE)的意思就是不在活动中显示标题栏,注意这句代码一定要在 setContentView()之前执行,不然会报错。再次运行程序,

效果如图 2.7 所示。

时间: 2024-10-08 12:11:49

探究活动的相关文章

Android:日常学习笔记(6)——探究活动(3)

Android:日常学习笔记(6)--探究活动(3) 活动的生命周期 返回栈 Android中的活动是可以叠加的,我们每启动一个新活动,就会覆盖在原来的活动上,点击Back以后销毁最上面的活动,下面的活动就会重新显现出来.Android是使用任务(Task)来管理活动的,一个任务就是一组存放在栈里的活动的集合. 默认情况下,每当我们启动一个新的活动,他会在返回栈中入栈,并处于栈顶位置.而每当我们按下Back或者Finish以后,处于栈顶位置的活动会出栈. 活动的状态 运行状态(栈顶的元素).暂停

第 2 章 先从看得到的入手,探究活动

2.1 活动是什么 活动(Activity),包含用户界面的组件,主要用于和用户进行交互 2.2 活动的基本用法 一个完整活动的创建流程: 2.2.1 手动创建活动 New→Class,继承自 Activity,点击 Finish 完成创建. 2.2.2 创建和加载布局 1)创建布局文件 右击 res/layout目录→New→Android XMLFile 2)在Activity的onCreate()方法中加载布局文件 setContentView(R.layout.first_layout)

阅读郭林《第一行代码》的笔记——第2章 先从看得到的入手,探究活动

一.活动是什么,活动的基本用法 活动(Activity)是最容易吸引到用户的地方了,它是一种可以包含用户界面的组件,主要用于和用户进行交互.一个应用程序中可以包含零个或多个活动,但不包含任何活动的应用程序很少见,谁也不想让自己的应用永远无法被用户看到吧? Android程序的设计讲究逻辑和视图分离,最好每一个活动都能对应一个布局,布局就是用来显示界面内容的. 创建和加载布局 @Override protected void onCreate(Bundle savedInstanceState)

第2章 先从看得到的入手,探究活动

2.1 活动是什么 活动(Activity)是最容易吸引到用户的地方,它是一种可以包含用户界面的组件,主要用于和用户进行交互 2.2 活动的基本用法 2.2.1 手动创建活动 import android.support.v7.app.AppCompatActivity; import android.os.Bundle; public class MainActivity extends AppCompatActivity { @Override protected void onCreate

Android学习笔记5:探究活动2

<第一行代码--Android>郭霖著 在活动中使用Toast Toast是Android系统提供的一种非常好的提醒方式,在程序中可以使用它将一些短小的信息通知给用户,这些信息会在一段时间后自动消失,并且不会占用任何屏幕空间,我们现在就尝试一下如何在活动中使用Toast. 使用Toast的方法非常简单,在onCreate()方法中添加代码: Button button1 = (Button) findViewById(R.id.button_1); button1.setOnClickList

小组活动引进职高市场营销课教学的体会

课改职业教育是以保证学生顺利就业为目的的就业教育,职业教育有其自身的特点,因此一味的"填鸭式"的普教的教学方法并不适用于职业高中.只有认真贯彻"教师为主导,学生为主体,把课堂还给学生"的教学指导思想,才能提高学生的职业能力和实际操作技能,为其就业打下坚实的基础. 为保证学生在课堂上尽可能多地掌握知识和技能,教师就要在教学模式上下功夫找方法,使学生成为课堂的主人,能够尽可能多地参与到教学中. 因此,在教学条件有限的情况下,把小组活动引进平时的课堂教学中,非常有利于学生

结对编程过程总结

(1)工作中的照片 (2)对方性格评价: 1.我个友善的人,愿意合作与交流,在与我的合作学习和探究活动中,能选择自己擅长的方式(语言.文字.图表等)表述研究过程和结果;主动提供自己的资料和想法,与我分享自己智慧,思路,体验合作的愉快.能倾听和尊重我提出的不同观点和评议,能对研究过程和结果进行评议,并与我交换意见,充分体现结对编程的价值. 2.是个谦逊的人,在与我的合作交流中,我们做到相互尊重,相互信赖,认真倾听对方意见,勇于承认自己的不足,有虚心向对方学习请教的良好风尚,能在合作交流中正确地评价

培养高职学生数学建模思想的途径

数学是学生从小学就开始学习的一门重要课程,在高职阶段仍然是理工科专业的一门重要基础课程.但是,当前,很多数学教学往往思想不够明确,不能准确的定位数学教学的目标.根据高职教育多年来的经验,笔者认为高职阶段开设数学课的目标应当定位到数学建模思想的培养,而不只是单纯的学会工式,用工式算题. 毕竟我们培养的学生不是数学家,数学对于他们来说是一种解决问题的工具.如果学生通过高职阶段的数学学习能够在今后的工作中,以数学建模思想解决实际问题,那么才是数学真的在他的工作与生活中起到作用了,也是数学教学的成功所在

《第一行代码》学习笔记 第 2 章

第 2 章 先从看得到的入手,探究活动 知识点1:在活动中使用 Menu 在 res 目录下新建一个 menu 文件夹,右击 menu文件夹→New→Android XML File,文件名输入 main 在 main.xml 中添加如下代码: <menu xmlns:android="http://schemas.android.com/apk/res/android" > <item android:id="@+id/add_item" and