【安卓】

1. [SSL] 证书:SSL 证书就是遵守 SSL 协议,由受信任的数字证书颁发机构(CA)颁发。

2.[Studio] Layout Validation :

Layout Validation is a visual tool for simultaneously previewing layouts on different devices and configurations, helping you detect layout errors and create more accessible apps.

3.[Android] NotificationChannel:创建通知渠道

4.[Android] IntentService:适合一次性的后台任务,比如浏览器下载文件,浏览器退出依然在后台执行下载。

5.[Kotlin] 修饰符:open : Kotlin 默认会为每个变量和方法添加 final 修饰符,这么做的目的是为了程序运行的性能。

6.[Question] 点击图标应用重新启动 :

super.onCreate(savedInstanceState);

if ((getIntent().getFlags() & Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT) != 0) {
    finish();
    return;
}
if (!isTaskRoot()) {
    finish();
    return;
}

setContentView(R.layout.model_welcome_activity);

7.[Android] BootLoader:Bootloader 是代码,其为引导程序的含义,它在任何的操作系统开始运行之前执行。

 8.[JVM] 运行时数据区

1. 程序计数器
2. 虚拟机栈
3. 本地方法栈
4. 堆
5. 方法区

9.[Android] PackageManager:PackageManager(下文简称PM)是Android系统为开发者提供的系统服务管理类中的一个,主要用于帮助开发者管理应用程序安装包,通过它可以有效的获取设备上安装的Apk或者未安装的Apk文件的一些数据。

10.[Feature] Feature-on-feature dependencies :

In previous versions of the Android Gradle plugin, all feature modules could depend only on the app's base module. When using Android Gradle plugin 4.0.0 and higher, you can now include a feature module that depends on another feature module. That is, a `:video` feature can depend on the `:camera` feature, which depends on the base module, as shown in the figure below.

11.[Android] Transition

Android 的过渡动画可以分为四个部分:

1. Activity/Fragment 切换时的页面过渡动画(content transition)
2. Activity/Fragment 切换时的共享元素过渡动画
3. 同一个页面中的场景过渡动画
4. 共享元素过渡动画 + 揭露效果(circular reveal)

12.[Studio] Layout Validation

Layout Validation is a visual tool for simultaneously previewing layouts on different devices and configurations, helping you detect layout errors and create more accessible apps.

13.[Kotlin] 字面常量

【例子】
1. 十进制:123L、999_99_9999L
2. 十六进制:0x0F、0xFF_EC_DE_5E
3. 二进制:0b00000001、0b11010010_01101001_10010100_10010010
4. Double:123.5123.5e10
5. Float:123.5f

【笔记】
1.可以使用下划线分开数字
2.Kotlin 不支持八进制

14.如何模拟按下关机键:input keyevent [--longpress]

15.[Concept] Span

TestText test = findViewById(R.id.test);
SpannableString spannableString = new SpannableString(testText) ;

// 可以定义各种各样的Span:红色背景
BackgroundColorSpan backgroundColorSpan = new BackgroundColorSpan(Color.RED);
// 第 0 至 10 个字符,设置红色背景 
spannableString.setSpan(backgroundColorSpan, 0, 10, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE) ;

test.setText(spannableString) ;

16.[Android] AudioRecord

1. startRecording()
2. read()
3. stop()
4. release()

 17.

PipedReader(PipedWriter src)
PipedReader(PipedWriter src, int pipeSize)
PipedReader()
PipedReader(int pipeSize)

18.[OpenGL] temCreate2DTexture() : 创建纹理的工作一般都在 GLSurfaceView.Renderer.onSurfaceCreated(GL10 gl, EGLConfig config) 中进行。

19.[Android] @JavascriptInterface :WebView 中提供给 JS 调用的 Java 对象,其方法需要使用 @JavascriptInterface 注解,否则 JS 调用会报错。

20.[Android] UsbManager:

1. HashMap<String, UsbDevice> getDeviceList():获得设备列表,返回的是一个 HashMap
2. hasPermission(UsbDevice device):判断你的应用程序是否有接入此 USB 设备的权限,如果有则返回真,否则返回 false
3. UsbDeviceConnection openDevice(UsbDevice device):打开 USB 设备,以便向此 USB 设备发送和接受数据,返回一个关于此 USB 设备的连接
4. void requestPermission(UsbDevice device, PendingIntent pi):向 USB 设备请求临时的接入权限

21.[Android] ThumbnailUtils:一个工具类用来获取视频最大帧并返回 Bitmap,也可以对图片进行缩略处理。

22.[Android] MediaPlayer:

1. Idle状态:创建播放器之后就处于就绪状态。

2. End状态:释放播放器之后就处于结束状态。

3. Error状态:播放器一旦发生错误就处于Error状态。

23.[Groovy] 具名参数:

【例子】
class Robot{
    def type,height,width
    def access(location, weight, fragile){
        println "Received fragile? $fragile,weight: $weight,loc:$location"
    }
}

robot = new Robot(type:'arm', width:10, height:40)
println "$robot.type, $robot.height, $robot.width"

robot.access(x:30, y:20, z:10, 50, true)
// 可以修改参数顺序
robot.access(50, true, x:30, y:20, z:10)
// 可以修改参数顺序
robot.access(true, x:30, y:20, z:10, 50)

// 输出的结果
arm,40,10 
Received fragile? true, weight: 50, loc:[x:30, y:20, z:10] 
Received fragile? true, weight: 50, loc:[x:30, y:20, z:10] 
Received fragile? 50, weight: true, loc:[x:30, y:20, z:10]

 

【其他】

1. [CSS] 水平居中、居左、居右:块元素(dialsplay:block)通过 margin 设置块元素在该行居左、居中、居右。

2.

【笔记】
1. 通常在使用 CGColor 的时候使用它的引用类型 CGColorRef。
2. UIColor 对象通过 CGColor 属性获得 CGColorRef对象。
3. CGColorRef 对象通常用在 CoreGraphics 绘图函数的参数中。

3.[Wechat] <button>

##### 去掉边框

```
button::after{
    border: none;
}
```

4.[CSS] 设置多个背景图像

##### 描述

**`background-image`** 属性用于为一个元素设置一个或者多个背景图像。

##### 参考

https://developer.mozilla.org/zh-CN/docs/Web/CSS/background-image

 5.[HTML] layui :由职业前端倾情打造,面向全层次的前后端开发者,低门槛开箱即用的前端 UI 解决方案。