代理模式
代理模式是基本的设计模式之一,它是为了提供额外的或不同的操作而插入的用以代替实际的“对象”的对象,该代理对象通常继承自实际对象或将实际对象作为自己的成员变量,因此能够在提供额外操作的同时与“实际对象”通信调用其原有的功能…
要实现类似Parcel的内存共享,其思路为通过jni在cpp层创建对象,将该对象的指针地址保存到java层,然后通过native方法去操作该块内存。Java层定义的Parcel:[highlightlanaguage="…
Splitties介绍在过去的19年12月初,Kotlin项目组下多达15kstar的Anko项目宣布被废弃。在宣布废弃的文章中,Anko强推了项目Splitties。Splitties是小型Kotlin跨平台库的集合(…
假如app需要将图片放到第三方服务器,为了防止图片泄密,可以对图片进行加密;加密思路:把每个字节拿出来,对每个字节都处理。或者把某部分拿出来进行处理。文件加密可以通过fgetc方法和fputc方法将文件的单个字节取出修改…
在下面定义的结构体中,int占用4字节,double占用8字节,而打印出来结构体的大小却为16字节:[highlightlanaguage="C"]#include<stdlib.h>#include<…
CupertinoActionSheet是iOS风格的模式底部Dialog列表。向用户显示与当前上下文相关的一组两个或更多选项的选择提示;[highlightlanaguage="Dart"]classCupertino…
在Flutter中设计风格主要为MaterialDesign风格,Flutter也支持IOS设置风格Cupertino的一系列Widget,分别对应flutter的包下的material目录下的dart文件和cupert…
Coroutines提供了异步和非阻塞行为,但又不缺乏可读性。使用协程执行网络请求,而不会阻塞线程,也不用使用回调。对于网络请求库,Retrofit已经支持协程。阻塞请求如下是使用Retrofit对Github执行HTT…