自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 实例化ViewModel的三种方式及对比

推荐使用 by viewModels() 委托来创建 ViewModel 实例

2024-05-08 15:51:39 259

原创 Kotlin协程使用

​​) {​test1()​​return "网络数据..."​Log.i("cyc", "请求网络IO")Log.i("cyc", "逻辑处理")​​​flow {emit(0).flowOn(Dispatchers.IO)//作用于flow代码块.collect {​​​。

2024-04-29 15:04:34 451 3

原创 Retrofit+OkHttp笔记

A:可以不设置,retrofit内部会会在build示例时,创建默认的client对象。不可以,设置时会做Url解析,错误字符串解析失败会抛出异常。常用的拦截器有如下这些。

2024-04-26 15:19:43 315

转载 自定义View -- 触摸反馈

【代码】触摸反馈。

2023-10-10 14:31:56 84

原创 Android Matrix 以中心缩放

Matrix涉及到缩放的api主要有:setScale , postScale,preScale及这些方法的重写方法;回归正题,以下将简单介绍两种按中心点进行缩放的方法:1、先缩放,再计算平移位置达到中心点;,故Matrix无法直接提供执行中心缩放的功能,需要我们。2、先计算中心点坐标,再以中心点进行缩放;

2023-07-18 09:23:01 987

原创 Android USB 开发

Android通过两种模式支持各种 USB 外设和 Android USB 附件(实现Android附件协议的硬件):USB附件和USB主机。USB开发需 Android 3.1(API级别12)以上。由于本人工作中主要用到了主机模式,所以本文的侧重点在主机模式开发,该模式需要打开OTG功能。

2023-07-10 13:32:45 745

原创 WiFi开发使用介绍

公司设备产品不同于互联网移动端项目开发,设备端的WiFi、蓝牙相关功能需要在咱们的应用开发中进行实现和定制,故我们必须熟悉WiFi、蓝牙等相关标准开发流程,以减少在开发过程和测试过程因为流程不规范而引入的问题。本文主要讨论的是WiFi的开关、扫描、连接等相关流程,以Android4.3 至Android6.0系统设置WiFi相关流程作为参考。Android各个版本的WiFi相关设置有些出入,但是大致流程不变,流程供参考,若有借鉴请自行充分验证并查阅对应系统WiFi设置源码进行对比。CPC | 设备控制台。

2023-07-10 13:30:49 364

原创 NDK学习之路-Shell脚本基础篇

一、shell脚本简介1. 概念理解 类比Java语言 ---> .java结尾,shell脚本 Shell Script ---> .sh结尾 shell脚本是解释型语言:Shell Script 解释器一 bash ,解释器二 sh2. 脚本的执行 1>三种执行 shell 脚本的方式: ①. 这样执行shell脚本不需要授权:/bin/bash test01.sh ②. 这种必须要有执行权限: ./test02.sh...

2023-07-07 17:18:00 89

原创 NDK学习之路-JNI篇

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结前言JNI是学习NDK的必经之路。一、JNI是什么?详情摘录于:https://blog.csdn.net/qq_28261343/article/details/77971823jni是Java native interface 的简称,是伴随着Java诞生而出现的,目的就是Java语言和C语言...

2023-07-07 17:12:40 81

原创 android的三种动画

Android的三种动画详解

2023-04-06 10:22:57 1697

原创 OpenGL 之变换矩阵

目录一.什么是矩阵二.什么是投影1.正交投影2.透视投影三.观察的方位四、使用变换矩阵一.什么是矩阵在数学中,矩阵(Matrix)是一个按照长方阵列排列的复数或实数集合[1],最早来自于方程组的系数及常数所构成的方阵。这一概念由19世纪英国数学家凯利首先提出。...

2021-07-21 19:44:34 446 1

原创 Kotlin单例模式,史上最简单的方式

在kotlin 中创建单例不像java那么复杂,只需要把class换成object,完事搞定。--------------------------------------------------一个漂亮的分割线--------------------------------------------有同学肯定此时有黑人问号了:就这么简单?线程安全不?双重锁?回答:这是这种通过object实现的单例是一个饿汉式的单例,并且实现了线程安全。和类的定义类似,但是把class换成了obj...

2021-07-14 10:59:52 550

原创 OpenGL ES for Android 之着色器

一、使用步骤Shader着色器着色器(Shader)是运行在GPU上的小程序。1.顶点着色器(vertex shader)如何处理顶点、法线等数据的小程序。2.片元着色器(fragment shader)如何处理光、阴影、遮挡、环境等等对物体表面的影响,最终生成一副图像的小程序3.GLSLOpenGL着色语言(OpenGL Shading Language)数据类型: float 浮点型 vec2 ...

2021-07-13 19:07:07 144

原创 SurfaceView之Android Camera预览

目录前言正文SurfaceView类的创建。前言最近在研究OpenGL ES,发现关于Camera的基础部分还没理清楚,于是抱着打地基的态度先来弄下Camera以SurfaceView为载体的预览。这里只讲使用,原来比较复杂,后续有机会再补充。废话不多说马上进入正文。正文SurfaceView类的创建。package com.example.mytest.cameraimport android.content.Contextimport android.graphi

2021-07-13 17:30:56 483 2

原创 Java枚举类型的使用

一.枚举(enum)的简单使用1.创建一个简单枚举enum Signal { GREEN, YELLOW, RED }2.使用public static void dosome(Signal signal) { switch (signal) { case RED: System.out.println(Signal.RED); break; case YELL

2021-04-08 17:36:55 182

原创 Android开发内存优化 -1

一、 jvm基础二、gc基础三、内存泄漏1、产生的原因 一个长生命周期的对象持有一个短生命周期对象的引用 通俗讲就是该回收的对象,因为引用问题没有被回收,最终会产生OOM2、Android Profiler的使用3、Mat工具的使用 转换profile文件格式 sdk/platform-tools/hprof-conv.exe 转换命令 ...

2021-02-23 14:52:01 50

原创 dart基础-1

变量声明var:可选类型,dart会自动推断它的数据类型,并不存储值,它存值的对象的引用; dynamic:它实际上在运行期是一个Object Object:基类变量 -默认值没有初始化的变量自动获取一个默认值为null 一切皆对象,对象的默认值为null变量final和const共同点:声明的类型可省略 初始化后不能再赋值 不能和var同时使用区别 static const:表示静态常量 const与final区别:const在编译期间要确定值,fin.

2020-12-18 16:04:06 135

原创 Windows下 opencv + Clion + MinGM + CMake编译配置及遇到的各种问题

一、各个组件opencv官网:博主的版本:MinGwCmake二、问题汇集1.error: 'nullptr' was not declared in this scope\opencv\sources\3rdparty\protobuf\src\google\protobuf\stubs\io_win32.cc:94:15: error: 'nullptr' was not declared in this scope return s ==...

2020-09-24 18:15:03 751 1

原创 NDK学习之路-ffmpeg编译静态库

文章目录前言步骤可参见:https://blog.csdn.net/qq_32019367/article/details/83717857一、#!/bin/bashNDK_ROOT=/root/Zer0/android-ndk-r17cCPU=""ARCH=""MPATH=""ARM=""MATCH=""MyCPU=$1if [ "$MyCPU" == "arm64-v8a" ]thenCPU=aarch64-linux-androidA...

2020-09-01 17:51:51 175

原创 NDK学习之路-mk&cmake详解

目录前言一、CMake二、Android.mk总结前言​ 在android studio 2.2及以上,构建原生库的默认工具是 CMake。CMake的脚本名默认是CMakeLists.txt摘录:https://blog.csdn.net/hongxue8888/article/details/102473727一、CMakecmake_minimum_required(VERSION 3.4.1)# 打印日志message("AAA...

2020-09-01 17:44:55 337

原创 NDK学习之路-Linux基础篇

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言Android底层是Linux学习Linux相关命令及操作是必须的一、基本命令集下载: wget 下载链接 wget https://dl.google.com/android/repository/android-ndk-r17c-linux-x86_64.zip?hl=zh_cn 解压:unzip android-ndk-r17c.zip 下面是 文件权限 ...

2020-08-31 17:38:07 195

原创 NDK学习之路-C++线程篇

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结前言pthread 线程学习。一、线程的基本使用1.如何引入外部库在cmakeList中第一步:引入头文件 # TODO 第一步:引入线程库的所有头文件include_directories("D:/NDK/CoursewareCreate/ndk_06/pthreads-w32...

2020-08-28 09:57:20 170

原创 NDK学习之路 - C++基础篇

系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章 Python 机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录系列文章目录 前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习..

2020-08-27 14:48:28 125

原创 NDK学习之路 - C语言基础篇

NDK学习之路第一章 C语言基础篇第二章 JNI概述第三章 C++基础篇文章目录系列文章目录 前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结前言ndk学习必要掌握一定的C语言基础,这里笔记下C语言重要或易混淆知识点。应用场景:C是面向过程的编程语言,C语言更多的应用场景是在,例如:驱动开发(因为驱动开发工程师,要对驱动进行直接操作,而最直接的操作方式就是C语言,C语言可以直接修改内存地址等),音视频领域(很多的...

2020-08-27 14:40:05 62

原创 ButterKnife使用及框架设计分析

ButterKnife简介ButterKnife是JakeWharton大神开发的一个开源库,官方对这个库的介绍为: Butter Knife Field and method binding for Android viewsButterKnife是一个使用注解方式来为Android中的View视图绑定字段和方法,能通过自动解析注解来搜索资源文件并赋值给Activity中的字...

2018-12-05 15:28:31 144

空空如也

空空如也

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

TA关注的人

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