Android复习提纲

Android复习提纲

1、Android的四大组件

Activity、Service、Broadcast Receiver、ContentPovider

2、Android常见的布局

相对布局(RelativeLayout):可以设置某一个视图相对其他视图的位置,包括上下左右
线性布局(LinearLayout):线性布局可分为水平线性布局和垂直线性布局。水平线性布局所有在这个布局中的视图都沿着水平方向线性排列。垂直线性布局则沿着垂直方向线性排列。框架布局(FrameLayout):所有添加到框架布局中的视图都是以层叠的方式显示,这种显示方式类似堆栈。
表格布局(TableLayout):表格布局可以将视图按行、按列进行排列。 
绝对布局(AbsoluteLayout):可以任意设置视图定位位置。

3、Activity一般会重载7个方法用于维护生命周期

Starting ——–>Running 所执行的生命周期顺序 onCreate()->onstart()->onResume()
当前称为活动状态(Running),此activity所处于任务栈的top中,可以与用户进行交互。

Running ——>Paused 所执行Activity生命周期中的onPause()
当前称为暂停状态(Paused),该Activity已失去了焦点但仍然是可见的状态(包括部分可见)。

Paused ——>Running所执行的生命周期为:OnResume()
当前重新回到活动状态(Running),此情况用户操作home键,然后重新回到当前activity界面发生。

Paused ——>Stoped所执行的生命周期为:onStop()
该Activity被另一个Activity完全覆盖的状态,该Activity变得不可见,所以系统经常会由于内存不足而将该Activity强行结束。

Stoped——>killed所执行的生命周期为:onDestroy()
该Activity被系统销毁。当一个Activity处于暂停状态或停止状态时就随处可能进入死亡状态,因为系统可能因内存不足而强行结束该Activity。
Activity的生命周期

4、返回上一级的Activity

当启动一个Activity并且新的Activity执行完后需要返回到启动它的Activity来执行 的回调函数是startActivityResult() 
当使用完一个Activity时,执行onDestroy他()也可以结束当前Activity,返回上一级Activity

5、什么是Intent?(中文为意图)

intent解决了Android应用各个组件之间的通讯。
Intent是Android系统的一种运行时的绑定机制,在应用程序运行时,连接两个不同组件。
Intent负责对应用程序中的操作的动作、动作涉及的数据和附加数据进行描述,而Android根据此描述找到对应的组件,将Intent传递给调用的组件,并完成组件的调用。

显式启动,必须在Intent中指明启动的Activity所在的类

Intent intent = new Intent(当前类名.this, 去往的类名.class); 
startActivity(intent);

隐式Intent:通过在清单文件中配置IntentFilter来实现的,它一般用在没有明确指出目标组件名称的前提下,当一个应用要激活另一个应用中的Activity时(看不到源代码),只能使用隐式意图,根据Activity配置的意图过滤器建一个意图,让意图中的各项参数的值都跟过滤器匹配,这样就可以激活其他应用中的Activity。Android系统会根据隐式意图中设置的动作(action)、类别(category)、数据(URI和数据类型)找到最合适的组件来处理这个意图。
分享功能就是通过隐式Intent完成的。
隐式Intent写法为:

Uri uri=Uri.parse("app://test");
Intent intent=new Intent(Intent.ACTION_VIEW,uri);
startActivity(intent);

显示intent效率高,系统直接精确定位要启用的组件,但耦合度也高,如果通过这种方式调用一些系统组件的话,容易因为版本更新,类名、包名、包结构变化等原因导致程序崩溃。隐式意图能够降低程序的耦合度,但由于每次意图执行的时候,系统都会搜索所有可用的intentfilter,来查看是否有匹配的内容,所以效率更低。

6、Adapter有什么作用?常见的Adapter有哪些?

Adapter是连接后端数据和前端显示的适配器接口。
将各种数据以合适的形式显示在View中给用户看。Adapter有很多的接口、抽象类、子类可以使用
listview
在这里插入图片描述
加了SimpleAdapt的list view
在这里插入图片描述

7、Android的体系结构

Android是基于Linux内核的软件平台和操作系统,采用的HAL(Hardware Abstraction Layer)架构,共分四层。
Linux内核:提供由操作系统内核管理的底层管理基础功能
中间件层:也称Android运行库层,有函数库和Android运行时构成
应用程序框架层:提供Android平台的管理功能和组件重用机制
应用程序层:提供一系列核心应用程序

8、Android应用程序菜单

选择菜单(Option Menu)、上下文菜单(Context Menu)、子菜单(Sub Menu)

9、网络编程基础

计算机网络体系结构的通信协议划分为了七层,自下而上依次分别是:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。其中低四层完成数据传输,高三层面向用户。

在这里插入图片描述

(1)端口

端口范围0~65535
知名端口号就是那些由互联网名称与数字地址分配机构(ICANN)预留给传输控制协议(TCP)和用户数据包协议(UDP)使用的端口号。
远程任务入口应用程序使用端口号5,超文本传输协议(HTTP)应用使用端口号80,邮局协议(POP3)使用端口号110

(2)套接字

Step 1:创建Socket对象,指明需要链接的服务器的地址和端号

Step 2:链接建立后,通过输出流向服务器发送请求信息

Step 3:通过输出流获取服务器响应的信息

Step 4:关闭相关资源

  private void acceptServer() throws IOException {
        //1.创建客户端Socket,指定服务器地址和端口
        Socket socket = new Socket("172.16.2.54", 12345);
        //2.获取输出流,向服务器端发送信息
        OutputStream os = socket.getOutputStream();//字节输出流
        PrintWriter pw = new PrintWriter(os);//将输出流包装为打印流
        //获取客户端的IP地址
        InetAddress address = InetAddress.getLocalHost();
        String ip = address.getHostAddress();
        pw.write("客户端:~" + ip + "~ 接入服务器!!");
        pw.flush();
        socket.shutdownOutput();//关闭输出流
        socket.close();
    }

(3)基于套接字的网络进程通信机制

在这里插入图片描述

引用
百度文库
https://wenku.baidu.com/view/4160df6d2a160b4e767f5acfa1c7aa00b52a9d31.html
activity生命周期
https://blog.csdn.net/xiajun2356033/article/details/78741121
隐式Intent与显示Intent的区别
https://blog.csdn.net/xia236326/article/details/81837521
android中Adapter适配器的讲解
https://www.cnblogs.com/huolan/p/5126794.html
Android 网络编程(一) 网络基本知识的了解
https://blog.csdn.net/javasxl/article/details/82774803#_1

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值