Android基础Activity篇——创建一个活动(Activity)
1.创建活动
首先用AS创建一个add no activity项目名使用ActivityTest,包名为默认的com.example.activitytest
2.右击app.java.com.example.activitytest包,new-->Activity-->Empty Activity,将活动命名为FirstActivity,不勾选Generate(生成) Layout和Launcher Activity选项。
其中Layout是布局用的,而Launcher Activity是用于将当前活动设置为Main活动。
3.打开刚才创建的FirstActivity.java,可以看到AS已经自动重写了onCreate()方法。
public class FirstActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}}
需注意的是项目中的任何活动都应该重写该方法。从super可以看出这里的onCreate()是直接调用的父类的方法。
4.创建布局
在res目录右击,new-->Directory(目录),创建layout目录。右击layout-->Layout resource file,创建布局文件first_layout.xml,根元素默认为LinearLayout下面为代码。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:id="@+id/button_1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Button 1"
/>
</LinearLayout>
其中自己添加的代码是<Button />标签部分,
android:id="@+id/button_1"是用来给当前元素定义一个唯一的标识符。(在Xml代码中@id/id_name表示引用一个id,而@+id/id_name表示创建一个id)。
后面的width,height当然就是用来设定当前元素的宽高的,match_parent(匹配_父元素),wrap_content(包_内容)。
android:text="Button 1"是用来显示按钮的内容的。
5.加载布局
要将布局加载到活动中才能显示,所以需在活动的onCreate()方法中写入如下代码。
setContentView(R.layout.first_layout);
setContentView(设置内容外观),任何资源文件都会在R文件中生成一个相应的id,而这里直接传入之前所创建的布局文件id(在java代码中引用id的格式为R.路径名.文件名)
6.注册活动
项目中所有活动都需要在AndroidMainfest.xml中注册。
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.l.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=".FirstActivity" android:label="this is first activity">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
</application>
</manifest>
注册是在<activity>标签中进行的,
android:name是用来指定注册哪一个活动的,而这里的“.FirstActivity”使用的是相对路径(因为mainfest中的package中已经声明了活动所在的包名)。
android:label中写的是活动标题栏中的内容。
<intent-filter>(目的-过滤)中需添加以下两句
<action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/>
第一句表示将此活动设置为主方法,第二句表示应用启动时就执行该活动。category(种类)。
6.运行
运行结果如下

Android基础Activity篇——创建一个活动(Activity)的更多相关文章
- Android基础总结(2)——活动Activity
1.什么是活动(Activity) 活动(Activity)是一种可以包含用户界面的组件,主要用于和用户进行交互.一个应用程序中可以包含零个或多个活动,但不包含任何活动的应用程序很少见. 2.怎么使用 ...
- Android基础新手教程——4.1.3 Activity登堂入室
Android基础新手教程--4.1.3 Activity登堂入室 标签(空格分隔): Android基础新手教程 本节引言: 好的,在学习了两节的Activity后相信大家已经知道怎样去使用Acti ...
- Android基础新手教程——4.1.1 Activity初学乍练
Android基础新手教程--4.1.1 Activity初学乍练 标签(空格分隔): Android基础新手教程 本节引言: 本节開始解说Android的四大组件之中的一个的Activity(活动) ...
- Android基础新手教程——4.1.2 Activity初窥门径
Android基础新手教程--4.1.2 Activity初窥门径 标签(空格分隔): Android基础新手教程 本节引言: 上一节中我们对Activity一些主要的概念进行了了解,什么是Activ ...
- 使用 Android Studio 开发工具创建一个 Android 应用程序,显示一行文字“Hello Android”,并将应用程序的名称更改为“FirstApp”。
需求说明: 使用 Android Studio 开发工具创建一个 Android 应用程序,显示一行文字"Hello Android",并将应用程序的名称更改为"Firs ...
- SpringMVC基础入门,创建一个HelloWorld程序
ref:http://www.admin10000.com/document/6436.html 一.SpringMVC基础入门,创建一个HelloWorld程序 1.首先,导入SpringMVC需要 ...
- 使用 Android Studio 开发工具创建一个 Android 应用程序,并在 Genymotion 模拟器上运行
需求说明: 使用 Android Studio 开发工具创建一个 Android 应用程序,并在 Genymotion 模拟器上运行 实现步骤: 打开 Android Studio,创建一个 Andr ...
- 基础总结篇之二:Activity的四种launchMode
合抱之木,生於毫末:九層之台,起於累土:千里之行,始於足下.<老子> 今天在社区看到有朋友问“如何在半年内成为顶级架构师”,有网友道“关灯睡觉,不用半年的...”,的确,做梦还来的快一些. ...
- 基础总结篇之二:Activity的四种launchMode (转载)
转自:http://blog.csdn.net/liuhe688/article/details/6754323 合抱之木,生於毫末:九層之台,起於累土:千里之行,始於足下.<老子> 今天 ...
随机推荐
- 利用CountDownLatch和Semaphore测试案例
package com.cxy; import java.util.HashMap; import java.util.Map; import java.util.concurrent.CountDo ...
- 对结构化学习(structured learning)的理解
接触深度学习以来一直接触的概念都是回归,分类,偶尔接触到结构化学习的概念,似懂非懂的糊弄过去,实在是不负责的表现 翻阅维基百科https://en.wikipedia.org/wiki/Structu ...
- STM32F0 中 ADC 多通道转换结果相同的问题
前言 前段时间调试 STM32F030 的 ADC,在多通道转换时遇到了奇怪的问题,使用官方的例程和库函数连续转换多个 ADC 通道,得到的几个通道的结果是一样的,解决办法参考了 关于STM32F0系 ...
- Linux下命令别名配置
在~/.bashrc文件中添加相关命令别名内容,可以降低风险操作 1. vim ~/.bashrc alias rm='rm -i' alias cp='cp -i' alias mv='mv -i' ...
- (IDEA) VCS-->Import Into Version Control没有Share Project(Subversion)这个选项。
在VCS-->Import Into Version Control,会发现只有Import Into Subversion选项,并没有Share Project(Subversion)这个选项 ...
- struts2学习笔记(三)—— struts2的常见配置
一.配置文件的加载顺序 每次从客户端发送请求到服务器都要先经过Struts2的核心过滤器StrutsPrepareAndExecuteFilter,这个过滤器有两个功能:预处理和执行.在预处理中主要就 ...
- python get() 和getattr()
get() Python 字典 get() 函数返回指定键的值,如果值不在字典中返回默认值. 语法: dict.get(key, default=None) 实例1: d={'A':1,'b':2} ...
- CentOS 7 安装中网络设置111
如果在安装过程中需要使用网络,需要启动网卡,默认是DHCP 点击configure进入设置 General 常规设置 Automatically connect to this network whe ...
- 109th LeetCode Weekly Contest Knight Dialer
A chess knight can move as indicated in the chess diagram below: . This time, we place o ...
- UVA - 10635 LIS LCS转换
白书例题,元素互不相同通过哈希转换为LIS求LCS #include<iostream> #include<algorithm> #include<cstdio> ...