| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 移动开发 -> 2021SC@SDUSC移动互联网项目分析——入门Hello World -> 正文阅读 |
|
[移动开发]2021SC@SDUSC移动互联网项目分析——入门Hello World |
2021SC@SDUSC 目录 app入门Hello World分析教学案例“入门Hello World”总体分为“布局”和“UI控件”两部分。此app帮助读者学会使用Android中的布局和UI控件,同时也让读者学习如何构建Android首个应用,并对Android应用程序组件中Activity、Service、Broadcast Receiver、Content Providers这四个主要组件有所了解。 所需基本知识Activity简介Activity提供窗口供应用在其中绘制页面,一个Activity实现应用中的一个屏幕。Activity类的目的就是为了实现当一个应用调用另一个应用时,调用方应用会调用另一个应用中的 Activity,而不是整个应用。通过这种方式,Activity 充当了应用与用户互动的入口点。 大多数应用包含多个屏幕,这意味着他们包含多个Activity。通常,应用中的一个 Activity 会被指定为主 Activity,这是用户启动应用时出现的第一个屏幕。然后,每个 Activity 可以启动另一个 Activity,以执行不同的操作。要在应用中使用 Activity,您必须在应用的清单中注册关于 Activity 的信息,并且必须适当地管理 Activity 的生命周期。 Activity--OnCreate()为了在 Activity 生命周期的各个阶段之间导航转换,Activity 类提供六个核心回调:onCreate()、onStart()、onResume()、onPause()、onStop()、onDestroy。当 Activity 进入新状态时,系统会调用其中每个回调。 必须实现onCreate()回调,它会在系统首次创建Activity时触发。Activity会在创建后进入"已创建"状态。onCreate()方法在Activity的整个生命周期中只应发生一次。 布局布局定义了应用中的界面结构(例如?Activity的界面结构)。布局中的所有元素均使用?View和?ViewGroup对象的层次结构进行构建。View通常用于绘制用户可看到并与之交互的内容。ViewGroup则是不可见的容器,用于定义?View和其他?ViewGroup对象的布局结构,如图所示。 ?此案例app在xml中声明界面元素。 Android中有六大布局。分别是: LinearLayout(线性布局),RelativeLayout(相对布局),TableLayout(表格布局) ,FrameLayout(帧布局),AbsoluteLayout(绝对布局),GridLayout(网格布局) 任何 View 对象均可拥有与之关联的整型 ID,用于在结构树中对 View 对象进行唯一标识。编译应用后,系统会以整型形式引用此 ID,但在布局 XML 文件中,系统通常会以字符串的形式在?id?属性中指定该 ID。 IntentIntent 用于通过描述您想在某个?Intent对象中执行的简单操作(如“查看地图”或“拍摄照片”)来启动另一应用中的某个 Activity。 Intent 分为两种类型: 显式 Intent:通过提供目标应用的软件包名称或完全限定的组件类名来指定可处理 Intent 的应用。通常,您会在自己的应用中使用显式 Intent 来启动组件,这是因为您知道要启动的 Activity 或服务的类名。 隐式 Intent?:不会指定特定的组件,而是声明要执行的常规操作,从而允许其他应用中的组件来处理。 app主页面分析--MainActivity? ? 布局--activity_main.xml首先是此页面有一个可上下拖动的进度条,整个页面是个线性布局,页面中拥有文本和按钮。因此根元素是一个ScrollView,设置LinearLayout线性布局,再在布局中添加TextView和Button和View元素。在标签内设置layout_width、layout_height、text、padding、id等属性。 ? 后续要为每个Button添加ClickListener,需在其他文件引用Button。因此Button一定要设置id。 ? 添加布局首先调用onCreate()方法,此Activity进入"已创建"状态。然后通过setContentView(R.layout.xxx )方法(xxx是布局文件名称)添加布局。 处理点击事件首先写一个继承自View.OnClickListener接口的OnClick类,重写接口中的onClick()方法,用Switch语句为相应的按钮增加显式Intent,使得相应view发生点击事件后跳转至相应的Activity。 然后通过属性id找到每个Button 调用自定义的setListeners()方法为每个按钮加监听,setListeners()方法主要调用每个Button的?setOnClickListener()方法。 重写的onClick()方法使得点击事件发生后,主Activity可以调用相应的子Activity。 布局教学部分LinearLayout此部分教学主要集中在如何使用LinearLayout上。因此主要代码为layout中的activity_linear_layout.xml。 ? ? ? 首先设置一个总的LinearLayout,再分为左边和右边两部分。左边的TextView将宽度设为130dp,高度设为fill_parent(形成一个左导航栏)。右边则再添加了一个LinearLayout,添加了四个layout_height、layout_width等属性不同的TextView,具体展示UI中的属性该如何使用。布局通过不同颜色表示的不同View鲜明地展示出来。 RelativeLayout此部分教学主要集中在如何使用RelativeLayout上。因此主要代码为layout中的activity_relative_layout.xml。 首先设置布局为RelativeLayout,然后再添加TextView和ImageView组件。相对布局主要通过根据父容器定位(layout_alignParentLeft、layout_alignParentRight、layout_alignParentTop、layout_alignParentBottom、android:layout_centerVertical等)和根据兄弟组件定位(layout_alignLeft、layout_alignRight、layout_alignTop、layout_alignBottom、layoutAbove等)来确定布局。 因此此页面其他View主要通过两个根据父容器定位的兄弟组件来定位。主要设置layout_height、layout_width等属性改变组件大小。 ? 根据父容器定位的View 根据兄弟组件定位的View: ? ? |
|
移动开发 最新文章 |
Vue3装载axios和element-ui |
android adb cmd |
【xcode】Xcode常用快捷键与技巧 |
Android开发中的线程池使用 |
Java 和 Android 的 Base64 |
Android 测试文字编码格式 |
微信小程序支付 |
安卓权限记录 |
知乎之自动养号 |
【Android Jetpack】DataStore |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 23:06:34- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |