一、类层次结构:

二、什么是Activity,如何理解Activity

1、  用户与应用程序的交互的接口

2、  控件的容器,我们要把控件摆放在这个容器中

三、如何创建一个Activity

新建一个类:

1、  继承Activity类

[java] view plaincopyprint?
  1. package com.jiahui.activity;
  2. import android.app.Activity;
  3. import android.os.Bundle;
  4. public class MyActivity01Activity extends Activity {
  5. /** Called when the activity is first created. */
  6. @Override
  7. public void onCreate(Bundle savedInstanceState) {
  8. super.onCreate(savedInstanceState);
  9. setContentView(R.layout.main);
  10. }
  11. }

2、  重写onCreate()方法,Activity第一次运行时就会调用这个方法,这个方法的调用者是由应用程序框架系统调用

3、  在AndroidMainfest.xml中注册(至于AndroidMainfest.xml)

[html] view plaincopyprint?
  1. <activity android:name=".MyActivity01Activity"
  2. android:label="@string/app_name">
  3. <intent-filter>
  4. <action android:name="android.intent.action.MAIN" />
  5. <category android:name="android.intent.category.LAUNCHER" />
  6. </intent-filter>
  7. </activity>

这样一个Activity就被创建了

为了显示好看,我们可以为Activity中添加一些必要的控件,在这里我们添加一个TextView

打开Layout文件下的main.xml中所有的控件都必须在这里注册

[html] view plaincopyprint?
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3. android:orientation="vertical" android:layout_width="fill_parent"
  4. android:layout_height="fill_parent">
  5. <TextView android:id="@+id/myText" android:layout_width="fill_parent"
  6. android:layout_height="wrap_content" android:text="@string/hello" />
  7. <Button android:id="@+id/myButton" android:layout_width="fill_parent"
  8. android:layout_height="wrap_content" />
  9. </LinearLayout>

回到前面在onCreate方法里

可以通过findViewById()方法得到每个控件,这个方法返回的是一个View对象所以我们要向下强转成所要的控件类

[java] view plaincopyprint?
  1. package com.jiahui.activity;
  2. import android.app.Activity;
  3. import android.os.Bundle;
  4. import android.widget.Button;
  5. import android.widget.TextView;
  6. public class MyActivity01Activity extends Activity {
  7. public void onCreate(Bundle savedInstanceState) {
  8. super.onCreate(savedInstanceState);
  9. setContentView(R.layout.main);// 设置这个Activtiy使用的布局文件
  10. TextView myTextView = (TextView) findViewById(R.id.myText);
  11. Button myButton = (Button) findViewById(R.id.myButton);
  12. myTextView.setText("我的第一个TextView");
  13. myButton.setText("我的第一个按钮");
  14. }
  15. }

运行结果:

从头开始学一个android activity相关推荐

  1. Android Activity跳转动画 - overridePendingTransition用法及原理分析

    overridePendingTransition()是在Activity类中实现的一个用来实现跳转动画的方式,也是最常使用的方法. overridePendingTransition() 先看这个名 ...

  2. Android关掉多个activity,Android应用开发之Android Activity栈管理 制定关闭某一个Activity,关闭所有Activit...

    本文将带你了解Android应用开发之Android Activity栈管理  制定关闭某一个Activity,关闭所有Activit,希望本文对大家学Android有所帮助. 系统Api :打开新的 ...

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

    Activity 是什么 Android 有四大组件:Activity.Service.Broadcast Receiver 和 Content Provider. Activity,活动,即用来承载 ...

  4. Android中实现“程序前后台切换效果”和“返回正在运行的程序,而不是一个新Activity”...

    ANDROID 一.首先是返回正在运行的程序,而不是新的ACTIVITY. 多网上关于 通知栏的例子都是打开一个新的Activity,代码也很多. 根据那些代码如下     public void s ...

  5. Android Activity的启动流程分析:以Launcher启动一个Activity为例,分析应用进程的创建、Activity的启动,以及他们和AMS之间的交互

    文章目录 一. Step1 - Step 11:Launcher通过Binder进程间通信机制通知ActivityManagerService,它要启动一个Activity: Step 1. Laun ...

  6. 《教我兄弟学Android逆向01 编写第一个Android程序》

    前言 之所以准备写这一系列逆向的教程是因为有一些同学私信我说自己想学习Android逆向但是不知道怎么去学习 包括自己身边的一些计算机专业的同学 在大学里面老师讲的那些东西要么是自己不感兴趣 要么是自 ...

  7. 《教我兄弟学Android逆向03 破解第一个Android游戏 》

    上一篇 <教我兄弟学Android逆向02  破解第一个Android程序  >我带着你破解了我们自己编的一个小程序 里面我分析并讲解的一些smali语法你都记住了 给你布置的课后作业你发 ...

  8. Android的一个关于Activity和UI的小程序

    今天我写了一个Android的小程序,它是一个简单的游戏--砸蛋游戏 ,快来试试你的RP吧 看你能一次砸到×××吗??? 很简单的  在此附件中有一个MyPragram.apk的文件  直接拷到你的手 ...

  9. 一个Android开发的2018年 | 掘金年度征文

    2018年就要过去了,感觉今年对自己来说变化比较大,翻了翻自己的git记录,在这零散记录一下 工作 1月 年初一月份的时候还在有赞做webview加速的方案.业余还翻了翻 webview 初始化的源码 ...

最新文章

  1. Windows 7 SDK Fails to Install with Return Code 5100 (GRMSDK_EN_DVD.iso)
  2. 从u盘设备启动arc-livecd
  3. (转)javascript实现导出Word、Excel
  4. 牛客 - 血压游戏(虚树+dp)
  5. 瑞盟国产MS523非接触式高集成读写卡芯片,PIN对PIN兼容替换RC522/RC523/CV520/PN512/FM17550/FM17520/FM17522/MH1608/NZ3801A/ZS3
  6. 第三方支付和代付区别在哪?
  7. BNUOJ 4140 Video Game Troubles
  8. 华为颇无奈,徕卡或离它而去而与小米合作
  9. apm性能监控系统,字节跳动Android三面凉凉,再不刷题就晚了!
  10. iOS开发-集成阿里云实人认证
  11. Sentinel 极简入门
  12. PCI/CA体系下使用USBkey实现认证与加密(一)整体架构
  13. GOM引擎登录器配置教程
  14. 思科ACS5.8最新搭建教程-亲测可用
  15. 操作系统面经总结—虚拟内存、内存分页、内存交换与覆盖等
  16. 复习《概率论与数理统计》(一)
  17. 常用的json转换jar包
  18. 11.26黄金原油最新行情走势分析及多空操作建议实时布局
  19. ABB机器人拆装说明书_ABB 机器人拆装维护案例.pptx
  20. 在VB中使用水晶报表总结

热门文章

  1. 工作的习惯,看到好收藏下
  2. 历时四年,给Google提交的Android Framework Bug终于被Fixed了
  3. android gravity参数,Gravity - [ Android中文手册 ] - 在线原生手册 - php中文网
  4. java中的多线程有什么意义_Java多线程与并发面试题(小结)
  5. python模拟输入回车键_用Python模拟键盘输入
  6. mysql中如何把两个查询结果列数不同并成一张表_MySQL
  7. python# 完成“剪刀石头布游戏”:
  8. 动态给实例添加属性和方法
  9. python leetcode_leetcode 介绍和 python 数据结构与算法学习资料
  10. caffe caffe.cpp 程序入口分析