自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 MVVM开发模式是什么?

它从Model中获取数据并通过绑定将其展示到View中,同时也响应用户在View上的操作并将结果反馈回Model中。在MVVM模式中,View不处理任何业务逻辑或数据操作,它只负责呈现数据,并通过绑定来响应用户输入。MVVM是一种软件架构模式,它将用户界面(View)、应用程序逻辑(ViewModel)和数据模型(Model)分离。同时,它可能增加代码量和运行时开销,因为需要维护额外的逻辑和数据绑定。提高代码可读性和可维护性:由于MVVM将应用程序逻辑和数据分离,使得代码更易读、理解和维护。

2023-04-16 17:21:10 436

原创 在kotlin中interator的用法

在这个示例中,我们创建了一个包含三个字符串元素的列表,然后获取该列表的迭代器并将其存储在一个变量中。接下来,我们进入了一个while循环,并使用hasNext()方法检查是否还有下一个元素可用。需要注意的是,在使用完Iterator之后,应该将其关闭或丢弃,以避免内存泄漏。可以通过调用iterator()方法来获取Iterator,而不是直接从集合中获取它,这样可以确保每次都会创建一个新的迭代器实例。在Kotlin中,可以使用Iterator接口来迭代集合(如List、Set、Map等)中的元素。

2023-04-07 17:42:41 453

原创 在react中props与state的区别是什么?

state 是组件内部的数据存储机制,它用于保存组件自己的状态,并且可以在组件内部修改。props 是只读的,子组件不能直接修改父组件传递的数据,只能使用它们来生成输出。props 对象是通过 JSX 语法传递的,它是不可变的,并且只能从父组件传递到子组件。因此,state 和 props 的最大区别在于:props 由父组件传递,是只读的,而 state 是组件自己管理的,是可读写的。在 React 中,state 和 props 都是用于管理组件数据的机制,但它们在使用和特点方面有所不同。

2023-04-01 10:00:33 187

原创 retrofit中各注解的用法

该注解表示路径参数,可以将URL中的一部分作为方法参数传递。可以指定HTTP方法,URL路径,查询参数等。该注解表示使用HTTP OPTIONS方法从服务器获取可用的HTTP方法。该注解表示Multipart的一部分,使用Map类型的参数上传文件等数据。该注解表示查询参数,可以将查询参数作为方法的参数传递。该注解表示查询参数,使用Map类型的参数作为查询参数。该注解表示表单字段,可以将表单字段作为方法的参数传递。该注解表示请求体,可以将请求体作为方法的参数传递。该注解表示指定完整的URL路径。

2023-03-26 12:00:25 272

原创 http详解

常用的 HTTP 请求方法包括 GET、POST、PUT、DELETE 等,常用的 HTTP 状态码包括 200 OK、404 Not Found、500 Internal Server Error 等。HTTP 协议的首部字段用于传递请求或响应的元数据,常用的请求头字段包括 User-Agent、Accept、Content-Type 等,常用的响应头字段包括 Content-Type、Content-Length、Cache-Control 等。HTTP 协议的空行用于分隔首部字段和消息体。

2023-03-26 09:57:39 37

原创 looper与thread的关系

因此,当我们想要在一个线程中处理消息时,需要创建一个 Looper 对象,并在该线程中使用 Handler 来发送和处理消息。综上所述,Looper 和 Thread 是 Android 中两个不同的概念,它们之间的关系是 Looper 可以在一个线程中使用,而一个线程可以同时拥有一个 Looper。Looper 和 Thread 是 Android 中两个不同的概念,它们之间的关系是 Looper 可以在一个线程中使用,而一个线程可以同时拥有一个 Looper。

2023-03-25 20:14:45 368

原创 在Android 中view的绘制流程

这个过程中,View 会根据自身的布局参数(LayoutParams)来计算出宽度和高度,并根据子 View 的布局参数和测量要求来计算出子 View 的宽度和高度。这个过程中,View 会根据自身的测量结果和父容器的尺寸来计算出位置和大小,并根据子 View 的布局参数来确定子 View 的位置和大小。以上就是 Android 中 View 的绘制流程,需要注意的是,这个过程中每个阶段的调用顺序是固定的,即先进行 Measure,然后进行 Layout,最后进行 Draw。Measure 阶段。

2023-03-25 20:09:52 381

原创 Android中有哪些重要的机制

Activity 生命周期是 Android 中非常重要的一个机制,它描述了一个 Activity 的创建、启动、暂停、恢复、停止和销毁等过程。每个 Handler 都与一个 Looper 相关联,用于发送消息到对应的 MessageQueue 中,并在消息队列中的消息到达时处理它们。Intent 是 Android 中的一个重要机制,用于在不同的组件之间传递消息和数据。Binder 机制是 Android 中进程间通信(IPC)的核心机制,它可以在不同的进程之间传递数据和调用远程方法。

2023-03-25 19:56:49 335

原创 冷启动与热启动的定义

在冷启动时,应用程序的进程会被系统创建,应用程序需要重新初始化所有的资源和数据。冷启动需要更多的时间,因为需要加载所有的资源和数据。在热启动时,应用程序的进程已经存在,部分资源和数据已经被加载到内存中,所以热启动速度会比冷启动快。使用启动画面(Splash Screen):在应用程序启动时显示一个界面,这个界面可以显示应用程序的标志、名称和版本号等信息,同时也可以用来加载一些初始化数据和资源。延迟加载:可以将应用程序的初始化和数据加载延迟到应用程序启动后再进行,这样可以减少冷启动的时间。

2023-03-25 19:43:20 1439

原创 安卓手机从开机到桌面,系统经历的过程有哪些?

1.加载引导程序(Bootloader):当手机启动时,会先加载引导程序,该程序位于手机内存中的特定区域,它的作用是初始化硬件、加载内核等操作。2.加载内核(Kernel):引导程序加载完成后,会将控制权交给内核,内核是操作系统的核心,它管理设备驱动程序、系统调用、内存管理等。5.加载应用程序:系统服务启动后,会加载应用程序,这些应用程序可以是预装在手机中的系统应用程序,也可以是用户自己安装的应用程序。4.加载系统服务:内核启动后,会加载系统服务,如媒体服务、WIFI服务等。

2023-03-25 19:35:03 256

原创 常用的软件架构模式有几种?

MVVM(Model-View-ViewModel):类似于 MVP,将应用程序分为三个主要的部分:模型(Model)、视图(View)和视图模型(ViewModel),其中模型表示应用程序中的数据和业务逻辑,视图表示应用程序的界面,视图模型负责将模型的数据转换成视图可以使用的数据格式,并将视图中用户的操作转换成模型可以使用的数据格式。Microservices:将应用程序分为多个小型的、自治的服务,每个服务具有独立的业务逻辑和数据存储,服务之间通过定义好的接口进行通信。

2023-03-24 18:12:53 545

原创 同步请求和异步请求

同步请求和异步请求是两种不同的网络请求方式。同步请求(Synchronous Request)是指在请求发起后,客户端会一直等待服务器返回响应结果后才继续执行后续代码。在这个过程中,如果网络环境较差或服务器响应时间较长,客户端的执行就会被阻塞,导致用户体验不佳。异步请求(Asynchronous Request)则是指在请求发起后,客户端可以继续执行后续代码,而不必等待服务器响应。总之,异步请求适用于需要快速响应并且需要频繁进行请求的场景,而同步请求则适用于一些需要等待服务器返回结果后才能继续执行的场景。

2023-03-20 15:09:40 2325

原创 Javaweb开发与Android移动开发的区别与联系

设计架构:JavaWeb开发一般采用MVC(Model-View-Controller)设计模式,而Android开发则采用MVP(Model-View-Presenter)或MVVM(Model-View-ViewModel)设计模式。UI设计:JavaWeb开发的UI设计一般采用HTML、CSS、JavaScript等Web前端技术实现,而Android开发则采用Android专有的UI组件和布局。网络通信技术:JavaWeb开发和Android开发都需要涉及网络通信技术,例如HTTP协议等。

2023-03-20 14:03:35 1672

原创 HTTP请求方法有几种,他们各自的特点是什么?

GET请求用于读取数据,因此请求参数在URL中,请求体为空。而POST请求用于提交数据,因此请求参数在请求体中。PUT请求用于更新数据,而DELETE请求用于删除数据,它们通常需要请求体来指定要更新或删除的资源。HEAD请求用于只获取请求头信息,OPTIONS请求用于获取当前URL支持的HTTP方法,TRACE请求用于追踪HTTP请求的路径,CONNECT请求用于将HTTP请求转换为透明的TCP/IP连接。HTTP请求方法指的是客户端向服务器请求数据时所使用的不同的HTTP方法。特点是请求参数在请求体中。

2023-03-20 13:28:20 584

原创 TCP协议中的三次握手与四次挥手

在四次挥手中,客户端先发送FIN包,服务器收到后返回ACK包,服务器再发送FIN包,客户端收到后返回ACK包,关闭连接。客户端收到SYN/ACK包后,向服务器发送一个ACK包(SYN=0,ACK=1,Seq=x+1,Ack=y+1),建立连接。服务器收到SYN包后,返回一个SYN/ACK包(SYN=1,ACK=1,Seq=y,Ack=x+1)。客户端收到FIN包后,发送一个ACK包(ACK=1,Seq=x+1,Ack=z+1),关闭连接。服务器发送一个FIN包(FIN=1,Seq=z,Ack=x+1)。

2023-03-20 13:15:37 37

原创 想当一名Android工程师需要掌握哪些框架

OkHttp:一个用于 Android 平台的开源的 HTTP 请求库,实现了 HTTP/2 和 SPDY 协议,支持 HTTP/1.1 协议,可以使 Android 应用程序更加快速、可靠地进行网络请求。ButterKnife:一个 View 绑定框架,可以帮助开发者更加方便地绑定和使用 View,减少代码量,提高开发效率。Glide:一个图片加载框架,可以帮助开发者更加方便地加载、缓存和展示图片,提高应用程序的性能和用户体验。

2023-03-19 19:08:56 86

原创 栈内存与堆内存的区别

在实际编程中,程序员需要根据不同的需求来选择使用栈内存还是堆内存,例如,栈内存适用于存储局部变量和函数调用的返回值,而堆内存适用于存储动态分配的数据结构,如数组和对象。生命周期:栈内存的生命周期比堆内存的生命周期短,栈内存中的变量在函数执行完毕后就会被销毁,而堆内存中的数据可以被长期保留。管理方式:栈内存的管理由操作系统自动进行,而堆内存的管理则需要程序员手动进行管理,包括申请、释放内存等操作。存储方式:栈内存采用“先进后出”的存储方式,而堆内存采用随机存储的方式。

2023-03-13 21:04:56 930

原创 Android各跨平台框架的优缺点

总的来说,这些框架都有其优缺点,选择哪个框架应该根据具体项目的需求和开发团队的技能水平来决定。如果需要高度定制化的应用和较好的性能,可以选择Flutter或ReactNative;社区活跃,有大量的第三方库和组件可以使用;对于高度定制化的应用,对于高度定制化的应用,可能需要自己编写一些插件和组件。拥有丰富的UI组件库和动画效果,可以创建高度定制化的应用程序;具有丰富的UI组件库和插件,可以创建高度定制化的应用程序;库和工具链相对较小,可能需要自己编写一些组件和插件。

2023-03-12 09:46:11 523

原创 Android跨平台框架介绍

5.PhoneGap/Cordova:由Adobe开发,使用HTML、CSS和JavaScript,基于ApacheCordova项目,可以使用JavaScript和Cordova插件创建本地应用程序,支持iOS、Android和Windows平台。3.Ionic:基于Web技术的混合应用框架,使用HTML、CSS和JavaScript,可以使用Angular框架和Cordova插件创建本地应用程序,支持iOS和Android平台。

2023-03-12 09:44:20 401

原创 在Android中service与activity的不同

生命周期:Activity 生命周期通常由用户与应用程序交互的方式决定,例如当用户打开一个 Activity 时,它会进入 onCreate()、onStart()、onResume() 等生命周期方法。总之,Activity 通常是用户与应用程序进行交互的主要方式,而 Service 则通常用于在后台执行长时间运行的操作或与其他应用程序组件进行交互。与用户交互:Activity 可以接收用户输入事件,如点击、滑动等,可以与用户交互,而 Service 通常不直接与用户交互。

2023-03-11 11:20:34 705

原创 HTTP中的get请求与post请求的不同之处

总的来说, Get请求和 POST请求都是可以传输大量数据的简单方式,但由于 Get要求验证网站身份,所以安全性较低;它允许用户执行具体的操作,但不能查看和修改服务器上的数据。它允许用户查看和修改服务器上的数据,但不能执行具体的操作。3. Get请求的响应数据是 URL,而 POST请求的响应数据是网址。1. Get请求不需要验证网站身份,而 POST请求需要验证网站身份。2. Get请求可以传输大量数据,而 POST请求只能传输少量数据。HTTP中的 Get请求和 POST请求是两种不同的请求方式。

2023-03-11 11:14:09 132

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除