android中如何新建一个activity,《Android Activity》活动的介绍和创建

Activity 是什么

Android 有四大组件:Activity、Service、Broadcast Receiver 和 Content Provider。

Activity,活动,即用来承载用户界面的容器,Android 四大组件之一。我们在 APP 里面看到的页面就需要一个 Activity,页面之间的跳转就是 Activity 之间的跳转。比如,登陆页面是一个 LoginActivity,注册页面是一个 RegisterActivity,当我们需要从登陆页面跳转到注册页面时,也就是 LoginActivity 通过 Intent 跳转到 RegisterActivity。

默认生成的 MainActivity

我们新建一个 Android 项目时,通过会默认生成一个 Activity,叫 MainActivity,这个 MainActivity 就是此时这个项目唯一的页面,也是 APP 的启动页面,不过你可以根据自己的需求新建其它的 Activity。

为什么说此时的 MainActivity 就是 APP 的启动页面呢?我们可以打开 AndroidManifest.xml 文件,任何一个 Activity 都需要在这个文件里面配置,我们会看到这样的代码:

package="com.example.skypan.myapplication">

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">

package 是程序的包名,在 application 标签中我们看到有 MainActivity,其中:

这几行代码的意思是,选择 MainActivity 作为程序的主页面,且点击桌面图标时可以启动这个页面,如果你需要把其它的 Activity 作为主页面,可以把这几行代码移过去。

如果我们此时新建了一个其它的 Activity,比如 LoginActivity,那么我们需要在这个文件中注册:

package="com.example.skypan.myapplication">

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 的名字,且名字必须是完整的路径名,.MainActivity 是一种简写形式,意思就是“.”前面是包名,只有包名路径可以用“.”表示,其它的必须写完整路径,这里也可以写成 “com.example.skypan.myapplication. MainActivity”。

我们在这个文件中还可以配置 Activity 的其它属性,例如启动模式、横屏竖屏等等:

android:name=".LoginActivity"

android:launchMode="standard"

android:screenOrientation="portrait">

我们再看看 MainActivity 这个类:

package com.example.skypan.myapplication;

import android.os.Bundle;

import android.support.v7.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

}

}

我们发现 MainActivity 继承的并不是 Activtiy,而是 AppCompatActivity。这是因为 AppCompatActivity 是 android.support.v7 包下面的兼容类,我们还可能继承别的以 *Activity 为后缀的类,但是它们的最终父类一定是 Activity。我们查看源码发现,AppCompatActivity 的继承关系如下图:

c7a79bcdca04

MainActivity 里面有一个重要的方法 onCreate,我们大部分事情都在这个方法里面实现。setContentView(R.layout.activity_main) 是设置 Activity 的布局文件,也就是这个页面长什么样子,绝大多数情况下我们都需要写上这句,因为我们每个 Activity 基本都需要一个视图,当然,也有不需要的。activity_main 就是这个 Activity 的布局文件,在 res/layout 文件夹下面,是一个 xml 文件,我们通过 R.layout.xxx 来使用。

我们如何来新建一个 Activity

有两种方式。

第一种比较简单,直接通过右键选项来新建,这种方式会帮我们把 layout 文件,和 AndroidManifest.xml 文件都配置好,一步到位。

c7a79bcdca04

c7a79bcdca04

点击 Finish 按钮,就会帮我们把所有文件都生成好:

c7a79bcdca04

第二种方式是我们自己创建各个文件,这两种方式在实际开发中都很常用。

1、新建一个类继承 AppCompatActivity,并重写 onCreate 方法。

2、在 res/layout 文件夹下新建一个 layout 布局文件。

3、在 Activity 中引入该布局。

4、在 AndroidManifest.xml 文件中注册该 Activity。

1、新建一个类继承 AppCompatActivity,并重写 onCreate 方法。

c7a79bcdca04

c7a79bcdca04

贴士:填写 Superclass 的时候我们不需要从 android.support 开始写起,直接输入 AppCompat 会有提示让你选择的。

点击 OK 之后我们在 Test2Activity 中重写 onCreate 方法。同样,也不用一个字母一个字母的写,直接在大括号中输入 onCreate 会有提示让你选择的。

c7a79bcdca04

2、在 res/layout 文件夹下新建一个 layout 布局文件。

c7a79bcdca04

c7a79bcdca04

3、在 Activity 中引入该布局。

c7a79bcdca04

4、在 AndroidManifest.xml 文件中注册该 Activity。

c7a79bcdca04

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/528809.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

android qq红点,Android高仿QQ小红点功能

先给大家展示下效果图:绘制贝塞尔曲线:主要是当在一定范围内拖拽时算出固定圆和拖拽圆的外切直线以及对应的切点,就可以通过path.quadTo()来绘制二阶贝塞尔曲线了~整体思路:1、当小红点静止时,什么都不做,只…

android1.6,令人遗憾的Android 1.6系统_戴尔 Mini5(Streak)_手机其它OS-中关村在线

令人遗憾的Android 1.6系统虽然Dell Streak上周五刚刚在美国地区上市,但实际上这款产品的开发时间已经很长了。早在去年Dell的Mini 3i上市之前这款被称之为Dell Mini 5的产品就已经出现在大家的视野之中,而当时其搭载的就是在当时看来还是十分先进的Andr…

android 控制word,Android使用POI进行Word操作(一)

操作步骤步骤一:引用相关POI库步骤二:创建POI中的word文件对象步骤三:调用word文件对象的方法对文件进行操作步骤一:引用相关的POI库吐槽一下,这一步是最坑的本人尝试了很多版本组合,最新的版本提示class重…

android car bt模块,大谷蓝牙小车BT Car/Android Car手机控制 重力控制小车 安卓操控小车...

产品介绍:Android蓝牙遥控小车平台。是通过Android手机以蓝牙方式操控小车前进后退左转右转等,具有重力感应操控、触摸屏虚拟操控、虚拟摇杆三种控制模式。并且还具有呼吸灯、电源指示灯、蓝牙连接指示灯、速度等级指示灯等状态指示。小车自带锂电池及US…

Dijkstra(迪杰斯特拉)算法总结

知识概览 Dijkstra算法适用于解决所有边权都是正数的最短路问题。Dijkstra算法分为朴素的Dijkstra算法和堆优化版的Dijkstra算法。朴素的Dijkstra算法时间复杂度为,适用于稠密图。堆优化版的Dijkstra算法时间复杂度为,适用于稀疏图。稠密图的边数m和是一…

html表格中怎么将背景颜色虚化,如何在Photoshop中制作效果惊艳模糊背景!

把背景模糊一下,有时,效果会令人非常惊艳,但是,你知道如何在Photoshop中模糊背景吗? 在今天的教程中,我们将告诉大家,如何使背景模糊,而又不会使我们的主体周围出现光晕。在这个过程…

axure html 360安装扩展,小编搞定win7系统360浏览器添加Axure扩展的设置方案

经常使用电脑的朋友会发现win7系统360浏览器添加Axure扩展的问题比较常见,如今就有用户反映在使用电脑的时候遇到win7系统360浏览器添加Axure扩展的情况不知怎么解决,于是我就给大家整理总结了win7系统360浏览器添加Axure扩展的具体处理方案,…

前锋html5费用,足坛转会费最高的5位前锋,1.05亿欧元仅第5,第1比C罗还高1.22亿...

原标题:足坛转会费最高的5位前锋,1.05亿欧元仅第5,第1比C罗还高1.22亿大家都知道,前锋对于比赛的胜负非常重要,再加上其关注度比其他位置高,商业价值比较高,所以通常来说,他们的转会…

学计算机高中要买电脑,大一新生,打着学习的“口号”要求买电脑,父母到底该不该答应?...

原标题:大一新生,打着学习的“口号”要求买电脑,父母到底该不该答应?马上就进入9月份了,全国各大高校也都陆续开学。对于刚刚考上大学的大一新生来说,学校的一切都是很新鲜的,而且他们也不用像在…

计算机科学人生观和价值观,浅谈我的人生观和价值观

浅谈我的人生观和价值观2013-04-22 13:58:30 来源:http://www.51cok.com/ 点击:176次分享到:人们经常说态度决定一切,这就是指的人们的人生观和价值观。我们在高中学习政治哲学时开始真正地从理论上学习这一对词语,也是从…

添加include文件路径_-isystem以及include_next的副作用

首先我们先来看下include_next的用法比如我们想include , 在cmath头文件中你可以看到有类似include_next 的语法,他跟传统的include不同,他不会从你的search path list的头部开始查找,他会跳出当前路径从下一个entry进行查找,比如…

java防止上传恶意文件_从补丁分析到在野利用:揭秘CVE20201464 Windows文件签名验证绕过漏洞疑云...

背景2020年8月12日,微软发布了8月份的漏洞风险通告。通告中一个显示已被公开披露和在野利用的漏洞进入了我们的视野。该漏洞编号为CVE-2020-1464,其被描述为Windows验证文件数字签名时存在一个欺骗漏洞,攻击者若成功利用此漏洞可以绕过Window…

特殊教育学校计算机教学计划,2021年特殊教育学校教学计划

2021年特殊教育学校教学计划时间真是转瞬即逝,我们又将在努力中收获成长,现在就让我们好好地规划一下吧。那么教学计划怎么写才能体现你的真正价值呢?下面是小编精心整理的2021年特殊教育学校教学计划,希望能够帮助到大家。特殊教…

android 双层饼图_python:给表格加上双层饼图,让同事的图表黯然失色

大家好!今天来分享一下如何用python给表格加上双层饼图,让同事的图表黯然失色,如下图所示。案例中数据表格结构如下:代码及演示:import pyecharts.options as opts from pyecharts.charts import Pie import numpy as …

计算机一级电子表格插入表格,计算机一级电子表格

电子表格一、(1)在考生文件夹下打开EXC.XLSX文件:①将sheet1工作表的A1:E1单元格合并为一个单元格,水平对齐方式设置为居中;计算各单位三种奖项的合计,将工作表命名为"各单位获奖情况表"。②选取"各单位…

18年高考云南628分想学计算机,2018山东高考投档线公布!山大文624理628…快查查你学校多少分进档...

原标题:2018山东高考投档线公布!山大文624理628…快查查你学校多少分进档考生注意!↓↓↓山东省2018年普通高校招生文理类本科普通批、春季高考本科、艺术类本科校考批首次志愿于7月19日投档!具体来看,文理类本科普通批…

android fragment中引入自定义view_厉害了,用Android自定义View实现八大行星绕太阳3D旋转效果...

作者:史蒂芬诺夫斯基链接:https://www.jianshu.com/p/2954f2ef8ea5好久没写View了,最近恰巧遇到一个八大行星绕太阳旋转的假3D效果,写完之后感觉效果还不错。能玩十分钟的那种。本篇将一步步带您实现这样的一个效果,ps…

计算机消失了一个磁盘,win7系统重装后莫名奇妙消失一个分区磁盘的解决方法...

很多小伙伴都遇到过win7系统重装后莫名奇妙消失一个分区磁盘的困惑吧,一些朋友看过网上零散的win7系统重装后莫名奇妙消失一个分区磁盘的处理方法,并没有完完全全明白win7系统重装后莫名奇妙消失一个分区磁盘是如何解决的,今天小编准备了简单…

icloud无法验证服务器,iPhone提示“验证失败 连接到icloud时出错”怎么解决?

有不少使用苹果设备的朋友们在设备屏幕上面,可能会遇到了“验证失败 连接到icloud时出错”提示,不知道这是什么原因,如何解决。下面我就来谈谈出现这种现象的原因与解决办法。提示:“验证失败 连接到icloud时出错”,是…

esim办理出现差错_经营二氧化碳如何办理危化证?快来看!

点击关注我的气体网,置顶公众号行业资讯丨供求商机丨企业动态丨企业推荐更多信息和资源一网打尽━━━━━━安全复工二氧化碳相信大家都不陌生,我们平常一呼一吸间,呼出来的气体就是二氧化碳。还有我们平常喝的碳酸饮料,里边充入…