安卓学习之活动(Activity)

1)什么是活动

活动(Activity)是最容易吸引到用户的地方了,它是一种可以包含用户界面的组件,
主要用于和用户进行交互。

2)手动创建活动

1.在src中新新建包,然后新建类继承自Activity,然后点击Finish。
        2.对于活动,我们要重写它的onCreate()方法。我们可以根据需要在这个方法里面添加我们所要的。
        3.创建和加载布局,在res/layout目录下新建Android XML File,然后我们通过xml文件的方式来编辑,可以在里面写入需要的。

<...android:id="@+id/button"...>  

这里@+表示定义一个id,值为button,这样我们可以在类中用R.来获取。

public class FirstActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.button);
    }
}  

这段代码中setContentView表示就是加载布局,传入一个布局文件的id,这里就是我们刚刚定义的那个id。
        4.活动的注册,所有的所动都要在AndroidManifest.xml中进行注册才能生效。

<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标签来对活动进行注册。上述代码activity标签中,name制定具体的活动,这里写.FirstActivity,因为最外层的manifest标签中已经通过package属性来指定了具体的包,所以这里只要写当前活动的名字即可。label表示标题栏的内容。intent-filter标签中我们添加了action android:name=”android.intent.action.MAIN” /category android:name=”android.intent.category.LAUNCHER” /,表示这是主活动,也就是点击桌面应用首先打开这个程序。
        5.Toast,Toast是一种提醒方式,在程序中可以使用它将一些短小的信息通知给用户,这些信息会在一段时间后自动消失,并且不会占用任何屏幕空间。
        首先要定义触发点,可以是按钮什么的。在onCreate中添加代码:

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    setContentView(R.layout.first_layout);
    Button button1 = (Button) findViewById(R.id.button_1);
    button1.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            Toast.makeText(FirstActivity.this, "You clicked Button 1",
            Toast.LENGTH_SHORT).show();
        }
    });
}  

在活动中,可以通过 findViewById()方法获取到在布局文件中定义的元素,这里我们传入 R.id.button_1,来得到按钮的实例,这个值是刚才在 first_layout.xml 中通过 android:id 属性指定的。该方法获得的是一个View对象,我们需要强制转化成Button对象。然后我们调用setOnClickListener()方法为按钮注册一个监听器,点击按钮时就会执行监听器中的 onClick()方法。因此,弹出 Toast 的功能当然是要在onClick()方法中编写了。
        
Toast 的用法非常简单,通过静态方法 makeText()创建出一个 Toast 对象,然后调用 show()将 Toast 显示出来就可以了。makeText()方法需要传入三个参数。第一个参数是 Context,也就是 Toast 要求的上下文,第二个参数是 Toast 显示的文本内容,第三个参数是 Toast显示的时长,有两个内置常量可以选择 Toast.LENGTH_SHORT 和 Toast.LENGTH_LONG。
        6.销毁一个活动,Activity 类提供了一个 finish()方法,我们在活动中调用一下这个方法就可以销毁当前活动。

button1.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        finish();
    }
});  

重新运行程序,这时点击一下按钮,当前的活动就被成功销毁了,效果和按下 Back 键
是一样的。
到这里学习好了活动的基本用法。

时间: 2024-10-10 05:11:20

安卓学习之活动(Activity)的相关文章

安卓学习笔记 3 activity参数传递

Android学习 Day3 Activity几种参数传递方式 Ø 1.通过Intent传递数据 Ø 2.通过静态变量传递数据 Ø 3.通过剪切板传递数据 Ø 4.通过全局变量传递数 昨天已经使用intent跳转并且传递数值 今天使用剩下的三种方式.传递变量. Ø 2.通过静态变量传递数据 使用Intent可以很方便在不同的Activity之间传递数据,这个也是官方推荐的方式,但是也有一定的局限性,就是Intent无法传递不能序列化的对象.我们可以使用静态变量来解决这个问题 首先在OtherAc

安卓学习笔记 2 activity跳转与参数传递

1.activity介绍 1.1 activity的生命周期   1.2金字塔型的生命周期 1.3什么是intent  Intent是一种运行时绑定(runtime binding)机制,它能在程序运行的过程中连接两个不同的组件.通过Intent,你的程序可以向Android表达某种请求或者意愿,Android会根据意愿的内容选择适当的组件来请求. 在这些组件之间的通讯中,主要是由Intent协助完成的. Intent负责对应用中一次操作的动作.动作涉及数据.附加数据进行描述,Android则根

安卓学习笔记(二)基本构件

1.Activity 一个Activity,通常是用户在某一个时刻,在设备上看到的单独的界面.一个应用程序通常含有多个Activity,用户可在期间进行切换.对用户而言,这就是程序的外观部分. Activity的生命周期:启动一个Activity可能会消耗大量资源.他可能会涉及到新建一个Linux进程.为UI对象申请内存空间.从UML布局填充所有对象,以及创建整个界面.为了避免这种浪费,Android通过ActivityManager来管理活动的生命周期. ActivityManager负责创建

安卓学习第13课——BaseAdapter

BaseAdapter创建这么一个对象,需要些四个方法. int getCount(); Object getItem(int position); long getItemId(int position);View getView(int position, View convertView, ViewGroup parent);(1)列表中的项数(2)返回值的列表内容(3)获得postion处的列表项的ID(4)该列表项里的组件 package com.example.baseadapter

深入浅出安卓学习相关知识,如何从零学好移动开发

原文发表自我的个人主页,欢迎大家访问 http://purplesword.info/mobile-develop 由于近几年来互联网的飞速发展,安卓和iOS平台的大量普及推广,移动开发在当前是非常热门的一个方向. 有不少同学问我如何学习安卓,要学些什么,难不难学.之前一直没有想好应该怎么回答这个问题,只是简单的说安卓自身门槛不高,并不难学.因为我觉得准确回答一个类似这样的问题往往需要灵感.现在根据我的学习体验,做个大概的总结. 1.我为什么学安卓 我从刚开始接触安卓开发到现在也有两三年的时间了

安卓学习笔记一

在学习安卓之前,首先要对编程平台有一定的了解,才会方便我们日后的操作,这里我用的是eclipse集成的安卓环境. 编写代码总的来说可以划分为两部分,一个是安卓语言如配置权限,设置样式,放置控件之类的,另一个是java语言,实现程序的功能.所以安卓的学习主要还是控件与安卓API的使用,而JAVA语言这里不再赘述. 至于创建安卓工程,只要能大概认识英语,也就知道过程中设置的具体是什么, 其中依次为设置工程名,安卓型号,创建ACTIVITY,设置工作目录,设置图标样式,设置ACTIVITY样式,设置a

安卓学习第12课——SimpleAdapter

SimpleAdapter一点也不简单,他的参数就带了5个,天哪,晕了.. 今天学的这个适配器, public SimpleAdapter(Context context, List<? extends Map<String, ?>> data, int resource, String[] from, int[] to) 看这个大概明白,参数分别是第一个:表示访问整个android应用程序接口,基本上所有的组件都需要,一般都写this(改天研究一下),第二个应该是这个List对象

安卓学习第9课——计时器chronometer

今天学习了钟表及计时器.. 我觉得AnalogClock和DigitalClock直接使用就可以.唯一需要知道的就是AnalogClock是可以修改表盘和分针时针的. 方法是android:dail及android:hand_minute和hand_hour. 下面介绍的是计时器的用法. 首先xml中只要放入一个chronometer和一个按钮即可.为的是是点击启动按钮,开始计时,20s停止. package com.example.chronometer; import android.app

安卓学习随笔 -- 自定义标题栏

在安卓中不喜欢系统默认的标题栏,那么如何让自定义一个自己的标题栏呢. 自定义后的标题栏如下: 首先这里需要定义一个自定义的标题栏布局 title.xml文件 (里边需要两个图片这个很简单) <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:layout_width="fi