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 {@Overrideprotected 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"><Buttonandroid: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"><applicationandroid: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.运行
运行结果如下
转载于:https://www.cnblogs.com/Unlimited-Rain/p/8831290.html
Android基础Activity篇——创建一个活动(Activity)相关推荐
- android 创建新活动,Android基础Activity篇——创建一个活动(Activity)
1.创建活动 首先用AS创建一个add no activity项目名使用ActivityTest,包名为默认的com.example.activitytest 2.右击app.java.com.exa ...
- Android基础新手教程——4.1.3 Activity登堂入室
Android基础新手教程--4.1.3 Activity登堂入室 标签(空格分隔): Android基础新手教程 本节引言: 好的,在学习了两节的Activity后相信大家已经知道怎样去使用Acti ...
- Android基础再回首——四大组件之Activity、Service俩兄弟
Android基础再回首--四大组件之Activity.Service俩兄弟 偶尔的回首过去,总是有不一样的收获.今天就来回顾下Activity和service吧,不用嫌弃太基础了,打好基础是取得成功 ...
- 一、SpringMVC基础入门,创建一个HelloWorld程序
一.SpringMVC基础入门,创建一个HelloWorld程序 1.首先,导入SpringMVC需要的jar包. 2.添加Web.xml配置文件中关于SpringMVC的配置 1 2 3 4 5 6 ...
- 在android studio中如何创建一个类来继承另外一个类_在Android使用Transition API检测用户活动...
在当今世界,移动设备是我们日常生活中必不可少的一部分,我们在走路.跑步.开车以及其他许多活动时都会使用移动设备. 了解用户拿着手机的时候在做什么,可以让你的应用程序根据用户的动作进行直观的调整.对于某 ...
- [Android系列—] 3. 启动另外的活动(Activity)
前言 [Android系列-] 2. Android 项目目录结构与用户界面的创建 在上一篇中,在一个活动中(activity)中显示了一个输入框和一个按钮.这一篇讲接着上一篇继续介绍如何在点击 Se ...
- 基础总结篇之二:Activity的四种launchMode
合抱之木,生於毫末:九層之台,起於累土:千里之行,始於足下.<老子> 今天在社区看到有朋友问"如何在半年内成为顶级架构师",有网友道"关灯睡觉,不用半年的.. ...
- Android JetPack架构篇,一个实战项目带你学懂JetPack
第五届世界互联网大会昨日开幕,来自76个国家的1500余位嘉宾出席大会.腾讯公司董事会主席兼首席执行官马化腾在大会开幕式演讲中表示,全球产业都在进行数字化,在此期间机遇挑战并存,产业互联网机会巨大. ...
- 重学Android基础系列篇(五):Android虚拟机指令
前言 本系列文章主要是汇总了一下大佬们的技术文章,属于Android基础部分,作为一名合格的安卓开发工程师,咱们肯定要熟练掌握java和android,本期就来说说这些~ [非商业用途,如有侵权,请告 ...
- android碎片调用动态碎片,Android Training - 使用碎片创建一个动态UI
为了能够在Android中创建动态和多窗口的用户界面,你需要封装UI组件和activity行为在不同的模块中,以便你可以在不同的activity间切换.你可以使用Fragment类创建这些模块,类似于 ...
最新文章
- kali win10双系统_kali 双系统+实体机(win10+kali)
- 2018年国内就业薪资高的7大编程语言排行
- 在Android中使用OpenGL ES开发第(五)节:GLSL基础语法
- 一个实现生产和消费的例子(并且使用了接口和反射技术,动态调用方法)小框架...
- lajp mysql安装_Php调用java说明
- 在华为鸿蒙OS上尝鲜,我的第一个“hello world”
- java 安卓调试,Android Studio(二十一):调试你的应用
- 松鼠聚会(洛谷-P3964)
- python 空值(NoneType)
- atheros蓝牙设备驱动 小米_双十一值得买的蓝牙耳机,真无线蓝牙耳机音质排行榜...
- php指纹登录原理,指纹锁的应用原理竟然是这样,你知道吗?
- Jquery获取表格tr对象,并循环获取表格内容
- OpenCV入门知识[转载]
- HRCAD2008 无法加载问题
- sose会议级别_【2017年整理】计算机领域EI和SCI收录期刊、影响因子及国际会议.doc...
- hadoop测试环境完全分布式安装配置
- Hadoop综合大作业+补交平时作业
- android 自定义 锁屏
- 删除设备和驱动器中的图标
- Mapper未生成impl