Android开发---探究活动(一)

活动(Activity)

    活动官方的概念是指一种包含用户界面的组件,主要用于和用户进行交互。通俗理解一个活动就是一个页面的意思,学过web开发的都知道一个网站都是由很多个页面组成,这里的活动指的就是交互页面的控制器或后台程序。

手动创建活动(Activity)

使用android studio 创建活动时会自动给你创建以及添加相关配置,这里为了更好的了解活动的创建选择手动创建一个活动。在android studio新建一个android项目,我这里项目名叫做ActivityTest包名我使用默认(com.example.activitytest)的,下一步创建活动,android studio 提供了一些可选择的活动,因为是要自己手动创建所以选择Add No Activity,点击Finish,等待Gradle构建完成后项目创建成功了。


开始创建活动(Activity):右击com.example.tenderness.activitytest → New → Activity → Empty Activity,会弹出一个创建活动的会话框,给活动取个名称,并不要勾选Generate Layou File 和Launcher Activity 这两个选项。

Generate Layou File自动创建布局文件

Launcher Activity 设置为主活动


任何活动都会应该重写Activity的onCreate()方法,可以看出来onCreate()方法就是调用父类的onCreate()方法,内部可以加入自己的一些逻辑去实现。

public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
}
创建和加载布局

Android程序的设计讲究逻辑与视图分离的,每个活动都对应一个布局,布局就是用来显示内容的,创建布局跟创建活动差不多,只是布局存放的文件位置跟活动是不一致的,布局存放在app/src/main/res下面,查看res下面是否存在layout的目录,一般创建空项目时是不会给你自动生成这个文件夹的,没有的话就在res下新建一个layout文件夹,已经存在的话就右键 → Layout resource file去新建一个布局。


点击ok创建完成。

前面我们手动新建了一个活动,我们还需要把新建的活动关联一个布局,我们可以通过setContentView()方法来给活动加载一个布局。

public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.first_layout);
}

这里有人会疑惑R.layout.finres_layout是什么意思,项目中添加任何资源都会在R文件中生成一个相应的资源id,这里这句代码的意思就是在R文件中获取到finres_layout.xml布局的id,然后将值如setContentView()方法从而加载相应布局。

在AndroidManifest文件中注册

所有的活动都要在AndroidMainfest.xml中进行注册才能生效。

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.tenderness.activitytest">
    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity"></activity>
    </application>
</manifest>

活动的注册声明要放在<application>标签内,通过<application>标签来对活动进行注册,所以我们之前手动新建的活动需要在这里注册一下,很显然Android Studio已经自动为我们注册了我们之前新建的活动。如果没有进行注册的话会导致程序发生崩溃现象。

这个时候的程序任然是不能运行的,还需要配置个主活动,因为不配置主活动的话程序运行时不知道先运行谁,声明主活动只需要在注册的活动节点下面添加一下节点:

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

除了可以声明主活动外,还可以使用android:label指定活动的标题,给主活动指定的lable不仅会成为标题栏中的内容,还会成为启动器中应用程序的名称;

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.tenderness.activitytest">
    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity
            android:name=".MainActivity"
            android:label="The is MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest>

这个时候我们可以正常运行这个程序了。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值