1.Activity起步

1.1简介

1.Actibity?

  • 用户与应用程序交互的接口。创建项目默认继承的是AppCompatActivity

  • Activity 直接或间接地继承了Context、ContextWrapper、ContextThemeWrapper等基类,因此Activity可以直接调用它们的方法。

2.Activity的生命周期?

protected void onCreate(Bundle savedInstanceState);
protected void onStart();
protected void onReStart();
protected void onResume();
protected void onPause();
protected void onStop();
protected void onDestroy(); 

3.Activity中最常用的方法?

  • this.findViewById(R.id.test);根据ID获取组件对象

  • this.setContentView(int id);设置显示布局文件

1.2Activity的创建、注册

1.Activity的配置文件?

  • intent-filter标签是activity必须配置的一个标签,里面有两个action,标记是不是一个主Activity,以及启动的方式是什么

  • AndroidManifest.xml是一个统揽全局的配置文件,写好的Activity都需要注册进去。

任何创建Activity都需要编写:activity标签

  • android:exported="true"标识该activity能不能被另外一个Application启动。也就是支不支持其他的组件调用。

<activityandroid:name=".MainActivity"android:exported="true"><intent-filter><action android:name="android.intent.action.MAIN" />
​<category android:name="android.intent.category.LAUNCHER" /></intent-filter>
</activity>

2.创建布局文件:

<?xml version="1.0" encoding="utf-8"?>
<!--进行线性布局的排放android:orientation="vertical"所有组件垂直进行排放
-->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"tools:context=".MainActivity">
​<TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Hello World!"/><TextViewandroid:id="@+id/mytext"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Hello World!"/><Buttonandroid:id="@+id/btn"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="按钮"/>
</LinearLayout>

运行截图:

3.创建自定义文字

  • values/strings.xml

<resources><string name="app_name">My Application3</string>
<!--    编写自定义的文字--><string name="username">张三</string><string name="地址">山东省</string>
</resources>
  • 读取自定义的文字

<?xml version="1.0" encoding="utf-8"?>
<!--进行线性布局的排放android:orientation="vertical"所有组件垂直进行排放
-->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"tools:context=".MainActivity">
​<TextViewandroid:id="@+id/mytext1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="@string/username"/><TextViewandroid:id="@+id/mytext2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="@string/地址"/><Buttonandroid:id="@+id/btn"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="按钮"/>
</LinearLayout>

运行截图:

4.使用Activity程序显示文本控件

  • 将上面的这个案例中的张三修改成王五,“按钮”修改成“点我”

public class MainActivity extends AppCompatActivity {
​@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);
//        获取控件对象TextView mytext=this.findViewById(R.id.mytext1);Button btn=this.findViewById(R.id.btn);
//        设置文字mytext.setText("张三");btn.setText("点我");}
}

运行截图:

5.直接用Java代码编写布局文件。看看就行。

public class Hello extends Activity {public void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState); LinearLayout layout = new LinearLayout(this) ;layout.setOrientation(LinearLayout.VERTICAL) ;TextView text = new TextView(this) ;    text.setText(super.getString(R.string.info)) ;                             Button but = new Button(this) ;      but.setText(super.getString(R.string.msg)) ;layout.addView(text) ;          layout.addView(but) ;           super.setContentView(layout);       }
}

2.xml补充

2.1简介

1.xml?

  • 可扩展基于文本的标记语言,是各种应用程序之间进行数据传输的常用工具

  • 自由定义

  • 标签标识数据以及用于存储和组织数据

2.xml和HTML区别?

  • XML 不是 HTML 的替代。

  • XML 和 HTML 为不同的目的而设计。

  • XML 被设计用来传输和存储数据,其焦点是数据的内容。

  • HTML 被设计用来显示数据,其焦点是数据的外观。

3.xml组成?

  • 文档声明

  • 处理指令PI(Processing Instruction)

  • 注释

  • 元素及其属性

4.xml声明?

  • 版本号

  • 编码

  • ?xml开头

<?xml version="1.0" encoding="utf-8"?>

5.xml中的标签和元素?

<标记>数据</标记>

XML的标记有两种:非空标记和空标记。

XML元素也就有非空元素与空元素。

例:<greeting> Hello, World! </greeting>

6.非空元素和空元素?

非空元素:

  • 带结束标记,并且标签内部带着内容的就非空元素。标记名就是元素名,内容就是属性,可以是文本也可以是子元素。

空元素:

  • 带结束标记的但是标记中间没有内容

  • 或者只是一个单标记但是没有属性值

7.格式良好的XML文档应该满足以下主要条件?

  • 文档必须包含一个或多个元素;

  • 文档中只存在一个根元素;

  • 元素必须正确关闭,即起始标记和结束标记要配对出现;

  • 元素间不得交叉重叠;

  • 元素中的属性名不能重复;

  • 属性取值必须加引号。

  • 大小写敏感

3.控件

3.1控件简介

1.控件:图形用户界面的最基本元素是控件。控件就是显示在屏幕上能够与用户进行交互的对象,比如一个按钮、一个文本框等。

3.2事件处理机制

1.事件源:可以触发事件的控件,常见的就是按钮。

2.事件:事件源所实施的动作。

3.监听器:接收、控制和处理事件源所触发的事件的对象就是监听器。每一种事件都会有一个监听器。

比如按钮,当我们发出点击按钮的动作之后会产生一个事件(单击按钮,双击按钮,按住按钮不动都是不同的事件),

真正响应事件的业务逻辑并非按钮本身,而是由按钮委托的相应监听器来完成的。

3.创建监听器需要先进行注册。

4.创建事件监听器?

  • 以button按钮为例,获取输入框内的数据。

布局文件代码:

<EditTextandroid:id="@+id/mytext1"android:layout_width="200dp"android:layout_height="wrap_content"android:inputType="text"/><EditTextandroid:id="@+id/mytext2"android:layout_width="200dp"android:layout_height="wrap_content"android:inputType="phone"/><Buttonandroid:id="@+id/btn"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="点我显示内容"/>

运行截图:

  • 创建事件监听器-匿名内部类的方式

public class MainActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);
//        获取控件对象TextView name=this.findViewById(R.id.mytext1);TextView phone=this.findViewById(R.id.mytext1);Button btn=this.findViewById(R.id.btn);
//    创建事件监听器btn.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {Toast.makeText(MainActivity.this,"用户名:"+name+"手机号"+phone, Toast.LENGTH_SHORT).show();}});}
}

运行截图:

移动设备软件开发-2相关推荐

  1. 移动设备软件开发-1

    移动设备软件开发 前言 1.移动设备软件开发学什么? Activity,就是一个页面,需要在这个页面上进行相关的UI编程. Service:可以在后台进行运行.如QQ音乐后台播放. 广播机制:可以显示 ...

  2. DSDP -- 设备软件开发平台

    [size=medium] Eclispe 的设备软件开发平台是一个开源协作软件开发项目,致力于提供一个可扩展的,基于标准的平台,由美国风河系统公司(Wind River System)于 2005 ...

  3. 移动设备软件开发-3

    移动设备 1.基本界面控件 1.1用户界面框架 1.View是构建用户界面控件的父类,所有的用户界面可见控件以及布局类都是由View派生来的. 2.View中常用的xml属性? 设置背景:backgr ...

  4. 移动设备软件开发测试

    1.[单选题] (10分) 通过( )来实现对SharedPreferences的写入操作. A.SharedPreferences对象 B.SQLiteDatabase对象 C.SQLiteOpen ...

  5. 移动设备软件开发-4

    1.简介 1.需要学习的内容 checkBox:多选按钮 ImageView:放图片 RadioGroup:单选按钮组 ProgressBar:进度条 2.以上标签的案例 2.1checkBox ch ...

  6. 移动设备软件开发-6

    1.ListView 1.1ListView简介 1.简介:就是一个列表控件.方便展示数据,并可以独立的为各行的元素设置监听器.每一行可以是一个独立的元素也可以是一个字符串,也可以是一个组合控件. 真 ...

  7. 基于Visual Studio Code 的佳明穿戴设备APP开发平台的搭建

    本文以图文方式详细介绍了基于Visual Studio Code软件的佳明穿戴设备APP开发平台的搭建步骤.环境变量设置方法以及平台运行环境的设置等,为佳明穿戴设备APP的开发者提供了详尽的教程和参考 ...

  8. 新闻稿 | 芯片和软件开发资源短缺威胁下的互联设备革命(内含英文研究报告下载链接)

    2021年5月,Qt 公司委托的第三方研究报告显示,受全球半导体短缺.开发者技能差距和互联设备需求激增的困扰,物联网行业正处于危机边缘.由 Forrester Consulting代表 Qt公司 进行 ...

  9. 【转载】有软件开发,就要有软件测试!

    移动app市场很大且还在不断发展.有多大呢?两个最流行的移动平台,iOS和Android,为我们提供了一些数据: ▪▪ 1,250,000个可供下载的 app(去年增长了85%) ▪▪ 63,000个 ...

最新文章

  1. MyBatis之传入参数——parameterType(转)
  2. TCP和UDP基本原理
  3. 利用kinect检测任意平面
  4. 【Vegas2010】cnblogs(博客园)排名原来是这样算的~
  5. 图像处理的傅里叶变换理解
  6. 关于机器学习你必须要了解的事情
  7. 前端学习(3339):ant design中加上icon图标
  8. V$LICENSE表结构
  9. php计算字符串散列,php计算字符串的SHA-1散列函数sha1()
  10. jdbc取款怎样限制条件_京东张亮:我们是怎样打造一款分布式数据库的
  11. 微服务浅述---架构演进
  12. 电视还有前途吗?也许它的前途就是嫁给互联网
  13. HTC G14解锁S OFF 刷机 获取ROOT权限
  14. python画tan_Python tan() 函数
  15. 微信小程序+Springboot实现宠物医院管理系统
  16. 果园生草对土壤质量提升的研究进展
  17. 2.3 sklearn中的metrics.roc_curve评价指标
  18. 大数据平台搭建技术底座 掘金移动互联等行业
  19. IDEA补丁破解使用方法
  20. 秋名山老司机(bugku-web)

热门文章

  1. 融金所孙明达:科技金融赋能网贷系统安全
  2. 产品原型-10.用户体验地图
  3. 最新—易优CMS免登录通用发布接口
  4. 【超详细】树莓派4B 安装Paddle-Lite 2.8.0
  5. iOS 仿链家筛选(单选、多选、滑动筛选联动、多表联动)
  6. DocBook学习(v1.6.7)
  7. 安徽工程大学计算机专业分数,2018安徽工程大学录取分数线 历年分数线及专业排名...
  8. 屏幕挂灯是不是智商税?明基ScreenBar Halo屏幕挂灯初体验
  9. FLANN库 使用介绍
  10. 【笔记篇】10仓管系统出库管理——之《实战供应链》