MVVM框架解读
历史渊源
MVC架构
最开始Android开发的时候,流行的是MVC架构,这种架构是从后端演变过来的(Model-View-Controller)
View : Activity,Fragment的XML视图
Controller : 就是Activity/Fragment的实现,进行绑定UI和处理业务
Model : 数据获取存储和更新
Controller会持有对View的引用 View通过接口来调用Controller的实现
Controller会持有对Model的引用 Model通过接口来返回数据给Controller
优点
View没有持有Model,二者进行了隔离,View更换以后,Model不受影响,一个View可以有多个Model,...
Service全面了解
Service的两种类型
本地服务(显式启动)
依附在主线程上的service,本地服务和主线程是在同一个进程上面,节约了系统资源,也不需要IPC和AIDL进行跨进程通信bindService会方便好多,主进程被kill以后,本地服务也会被kill,多用在音乐播放器这种不需要常驻的功能,服务和启动服务的activity在同一个进程中
远程服务(隐式启动)
远程服务独立于进程运行,进程上的Activity被kill的时候,并不会带着Service一起kill,通信使用IPC和AIDL,这种是常驻的,为多个进程提供服务有较高的灵活性
Service的两种状态
启动状态
当应用组件通过startService启动时,服务就会处于启动状态,但是一旦启动,服务就会在后台无限期运行,...
Kotlin学习笔记
Kotlin中的高级运算符
?: 猫王运算符,是三元运算符的简化版本,?:省略了左侧的部分,当问号左侧的表达式notnull时返回左侧表达式,否则返回?:右侧的表达式,是a != null ? a : b写法的语法糖
::双冒号操作符,表示将方法当作参数,传递到另一个方法中进行使用,引用一个方法
fun main(args: Array<String>) {
println(lock("param1", "param2", ::getResult))
}
fun getResult(str1: String, str2: String): String = "result is {$str1 , $str2}"
fun...
使用esp8266动态监控原神树脂
主要代码
/*********
Rui Santos
Complete project details at https://randomnerdtutorials.com
*********/
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#include <Fonts/FreeSerif9pt7b.h>
//温度传感器
#include <DS18B20.h>
#include <string.h>
//网络请求
#include <ESP8266WiFi.h>
#include &...
2021年度报告
今年是魔幻的一年,也是对我有重大意义的一年
今年年初的时候,我在家里,正在为到底是去实习还是去参加移动互联赛项的国赛而考虑,最后在指导老师的建议下我还是选择了去杭州实习
从年初开始,在杭州过了大概6个月吧,企业是和高校合作的一个销售商,我的工作任务主要是去给参加竞赛的学生进行赛前辅导,还有一些赛场的维护以及担当裁判的职务,学到的东西不多,但是跑了很多地方.沈阳,贵阳,凯里,柳州,南宁,珠海,福州,芜湖,武汉和金华. 实习工资虽然不高,但是好赖还是包了住宿的,我非常开心能到处跑跑,我在2020年之前,甚至还没有出过省,去杭州就是我第一次出省.
转折
在今年6月左右的时候,我去参加了专升本考试,我从年前就开始准备了,但是英语和数学一直是我不擅长的东西,最后挑了一个考c语言专业的十八...
STM32学习笔记
初始化GPIO接口
关于gpio接口的初始化(按钮)
//输入输出模式
//GPIO_Mode_AIN = 0x0,
//GPIO_Mode_IN_FLOATING = 0x04,
//GPIO_Mode_IPD = 0x28,
//GPIO_Mode_IPU = 0x48,
//GPIO_Mode_Out_OD = 0x14,
//GPIO_Mode_Out_PP = 0x10,
//GPIO_Mode_AF_OD = 0x1C,
//GPIO_Mode_AF_PP = 0x18
//这个是gpio初始化的默认函数,属于stm32f10x_gpio.h头文件内
GPIO_InitTypeDef GPIO_InitStructure;
//外设通过时钟控制,这里使能了GPIOA和G...
Android与OpenCv结合使用
项目配置
在opencv官网下载sdkhttps://opencv.org/releases/
项目解压后,需要用到的目录大致如下
│OPENCV-4.5.2-ANDROID-SDK\OPENCV-ANDROID-SDK
├─samples
└─sdk
├─etc
├─java
├─libcxx_helper
└─native
├─3rdparty
├─jni
├─libs
│ ├─arm64-v8a
│ ├─armeabi-v7a
│ ├─x86
│ └─x86_64
└─staticlibs
需要向项目导入...
Spring结合oss进行云存储
oss介绍
oss是使用api存储文件的服务,是阿里云提供的一种存储服务,但是,oss的api文档特别烂,根本就无法理解,捏麻麻滴,本来我是打算采用客户端请求服务器签名后文件带着签名上传oss的直传模式,但是api文档特别烂,我已经解决了服务器下发签名,但是没有找到客户端带签名上传oss的api文档 ,于是我换了一种简单直接一点的方法,就是客户端请求服务端,将MultipartFile上传到服务器后,服务器上传到oss,也算是解决了,这种方法对服务器带宽占用很大,我这个项目没有多少并发,所以采用了这种方法。
服务器端的开发
callback.setCallbackBody(StringEscapeUtils.escapeJava(s)); 这个写法是要将json的st...
共计 62 篇文章,8 页。