自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(156)
  • 资源 (5)
  • 收藏
  • 关注

原创 嵌入式C之数组与指针

字符数组方式:

2025-10-18 13:05:22 150

原创 嵌入式C之位操作符

二进制数据的求取: 除2取余法求13的二进制13➗2 = 6... 11➗结果是从下向上: 1101一、左移运算符(<<)左移位规则:左边抛弃、右边补0结果为原数乘以2的移位位数次方(如果最前面符号位是0才是2的倍数,0代表正数)

2025-10-14 17:12:00 430

原创 Android 事件分发学习心得

Android 事件是从Activity向Window、DecorView、ViewGroup、View这样依次传递的。

2025-10-12 20:15:42 306

原创 嵌入式C之C基础和操作符

对二进制数据进行操作,包括按位与、按位或、按位取反等。用于执行基本的算术运算,包括加、减、乘、除、取模等。用于给变量赋值,包括简单赋值、加减乘除复合赋值等。可以将一个数在二进制下向左或向右移动指定的位数。用于比较两个变量或者值的大小关系,返回布尔值。=、<、>、<=、>=等。=、+=、-=、*=、/=等。用于进行逻辑运算操作。

2025-10-04 11:13:58 44

原创 嵌入式C之练习学生成绩管理系统项目代码

3、管理员: 增加学生、删除学生、修改学生、查询学生、排序。2、学生-查看个人信息、学生-修改密码。

2025-09-26 16:27:53 105

原创 嵌入式C之GCC

在连接阶段,所有的目标文件被安排在可执行程序中的恰当的位置,同时,该程序所调用到的库函数也从各自所在的档案库中连到合适的地方。汇编过程是针对汇编语言的步骤,调用as进行工作,一般来讲,.S为后缀的汇编语言源代码文件和汇编、.s为后缀的汇编语言文件经过预编译和汇编之后都生成以.o为后缀的目标文件。用GCC编译C/C++代码时,它会试着用最少的时间完成编译并且编译后的代码易于调试。易于调试意味着编译后的代码与源代码有同样的执行顺序,编译后的代码没有经过优化。只编译不汇编,生成汇编代码。指定链接时库文件目录。

2025-09-25 16:35:24 167

原创 Kotlin协程详细笔记之切线程和挂起函数

对jvm上的Kotlin来说,协程是一个用线程来实现的并发管理库。

2025-09-12 11:26:05 382

原创 物联网嵌入式C语言之C基础

在C语言中,转义字符是以反斜杠(\)开头的特殊字符序列,用于表示一些特殊的字符或具有特殊含义的字符。它们被用于控制字符的输入和输出,以及在字符串中插入一些特殊的字符。使用printf输出的时候,%lf代表double类型的数据。用于表示一个反斜杠,防止它被解释为转义字符。空字符,没有任何内容,字符串的结束标志。换行符,表示光标移到下一行的开头。回车符,表示光标移到当前行的开头。制表符,相当于tab键,跳8个空。长长整型 long long。用于表示一个字符串内部的双引号。单精度型 float。

2025-09-10 11:36:21 242

原创 Kotlin协程学习笔记一

协程是在线程上调度执行的任务单元,执行时可以“让出线程资源”,实现非阻塞式异步处理。协程最核心的机制是"suspend"挂起,把"运行状态"保存起来,线程可以干别的,稍后再恢复运行协程。

2025-09-06 08:53:05 406

原创 Android Gradle 7.0版本依赖管理方式学习笔记

google()// alias别名,group分组,artifact,第一个别名用短横线分割,实际引用时用.点号引用时在module的build.gradle里引用如下:bundle依赖聚合管理代码示例:google()// alias别名,group分组,artifact// 用于把上面定义的多个library进行打包,引用时通过包引用所有依赖build.gradle里引用1、项目build.gradle中定义插件classpathplugins {

2025-09-06 08:37:18 682

原创 嵌入式C语言之链表冒泡排序

/ 原先的linklist实际是排序好的列表,一直循环到排序列表中temp的数据刚好就是插入数据的前一个。// 插入的新节点curr,后续指向linklist后续的节点。// 每次去排序curr就重新初始化这个prev和temp。链表冒泡排序一是可以交换指针域的值,二是可以交换指针。// 将原来那个链表变为空表,用来存放排序后的链表。printf("内存分配失败!// 下次再找下一个需要排序的节点。// 默认当前这个链表有头节点。// 要接着排序的链表。

2025-09-02 12:51:24 544

原创 嵌入式C学习笔记之链表

头节点: "首元节点"前额外增设的节点,特点是数据域内一般不放数据,也可以放链表长度等信息。空链表的概念: 头指针或者头节点的指针域为空(null)的链表。每个链表都有头指针,和每个节点的指针域的类型一样。printf("内存分配失败!是指向链表的第一个节点的指针。创建一个带有头节点的空链表。二、链表与数组的对比。

2025-08-31 19:28:52 233

原创 嵌入式C学习笔记之预编译

两种参数的宏//一、不带参数的宏定义,符号常量的定义//二、带参数的宏定义。

2025-08-31 17:24:08 337

原创 嵌入式C学习笔记之编码规范

(1)在多重循环中,如有可能,将循环次数多的循环做为内循环,循环次数的少的循环做为外循环,以减少cpu跨越循环层的次数。(1)逻辑值(真1,假0) 与 零值 比较 :flag = n % 2 或者 flag = a > b;(1)如何是动态申请内存,使用malloc之后,一定要判断指针值是否为NULL,以避免没有申请到空间的情况。(5)free之后的指针不要再使用,为了防止这种使用野指针的情况,free之后应立即让指针值为NULL。(3)浮点值与零值 比较 ,不要使用 == 或!

2025-08-31 17:12:45 452

原创 嵌入式C语言之动态内存

free释放动态内存后,p指向的动态内存已被操作系统收回,不但free是非法的,其实在这块内存上的任何操作都是非法的。//abs(x):返回x的绝对值。

2025-08-22 16:03:44 985

原创 C语言学习笔记之文件操作

EOF){// EOF是文件结束符,-1。printf("文件打开失败\n");3、EOF文件结束符,-1。

2025-08-17 17:23:34 227

原创 嵌入式C语言学习笔记之枚举、联合体

联合是一种特殊的数据类型,允许不同的数据类型共享同一块内存空间,只能同时存储器中一个成员的值。枚举变量里定义的一个枚举值的数值如果第一个变量初始是10,那后续变量值依次往后递增;如果变量值在中间定义,那最初始枚举数值是0,从中间定义的那个值之后依次往后递增。总结: 枚举类型变量的值其实就是整数值,但是枚举类型变量赋值尽可能使用枚举变量。应用: 一般存储整数的时候,可以通过联合体方式分若干个字节取出来。

2025-08-17 15:17:56 217

原创 c语言学习笔记之指针与数组

/等价于: b[1][0],pb[1][1],pb 等价于一个二级指针。// 相当于打印第二行的数据 或者pb[1][0] pb[1][1]int *p[3]-{&a[0],&a[1],&a[2]};

2025-08-15 09:52:30 316

原创 嵌入式之C语言学习笔记之指针和结构体

/ 不允许修改p5的值,也不允许使用*p5修改变量的值。// const修饰的*p3,则不允许使用*p3修改变量的值。// 定义一个函数指针,指向一个函数。// 不允许修改p4的值。// 通过指针调用函数。// 通过指针调用函数。

2025-08-10 09:03:14 427

原创 rxjava的subscribeon和observeon的线程区分

subscribeOn用于指定Observable开始执行(即被订阅时)所在的线程,通常影响数据发射的源头,比如网络请求或数据库操作所在的线程。而observeOn则影响下游操作符和订阅者的执行线程,比如更新UI需要在主线程执行。

2025-02-20 19:34:16 175

原创 防饿了么送货交互

2022-01-04 11:44:23 286

原创 AndroidUI和交互整理集合

使用ToolBar 和 CollspsingToolbarLayout 有一些标题,滑动布局的沉浸悬浮交互UI

2021-12-20 18:35:52 302

转载 Android获取签名文件的MD5、SHA1、SHA256值

1.打开Terminal,进入到签名文件所在目录下,如图2.输入命令“ keytool -v -list -keystore gradledemo.jks ” 回车,(这里的xxxx.jks要输入你自己的),然后输入密码,就获取到你想要的信息了。如图转载自:作者:lang_un链接:https://www.jianshu.com/p/abdf0d8bea2e来源:简书...

2021-05-28 11:04:13 899

原创 git 修改.gitignore后生效

在使用git的时候我们有时候需要忽略一些文件或者文件夹。我们一般在仓库的根目录创建.gitignore文件在提交之前,修改.gitignore文件,添加需要忽略的文件。然后再做add commit push 等但是有时在使用过称中,需要对.gitignore文件进行再次的修改。这次我们需要清除一下缓存cache,才能是.gitignore 生效。具体做法: 1 2 3 4 gitrm-r --cached .#清除缓存...

2021-05-20 17:30:04 242

原创 Android 将support组件化项目迁移到Androidx方案

support与androidx对应的依赖包借用Android Studio 工具栏Refactor——>Migratie to AndroidX,将项目的support依赖包都替换成了androidx迁移后项目统一使用的Androidx版本一览表如下:依赖包Androidx版本appcompatandroidx.appcompat:appcompat:1.2.0constraintlayoutandroidx.constraintlayout:constrai

2021-05-18 14:24:06 1036

原创 Android 将一个新项目上传分享到Git命令

2021-04-14 15:19:44 130

原创 Mac电脑上怎么设置环境变量

1、输入:echo $PATH,按回车执行命令查看当前变量值2、输入:sudo vi ~/.bash_profile,按回车输入密码后用vi打开用户目录下的bash_profile文件。一定要用sudo,否则没权限保存文件。3、按i键,开始编辑4、编辑完之后,按ESC键,输入:wq,就可以保存退出了,如果不想保存就输入:q就可以了...

2021-03-18 13:36:13 1443

原创 Java里的ArrayList与LinkedList区别使用

LinkedList和ArrayList的区别及使用场景1.差别主要来自于Array和LinkedList数据结构的不同,ArrayList是基于数组实现的,LinkedList是基于双链表实现的:Array是基于索引(index)的数据结构,它使用索引在数组中搜索和读取数据是很快的,可以直接返回数组中index位置的元素,因此在随机访问集合元素上有较好的性能,Array获取数据的时间复杂度是O(1),但是要插入、删除数据却是开销很大的,因为这需要移动数组中插入位置之后的所有元素。LinkedLis

2021-03-09 11:20:15 192

转载 Android 在BottomSheetDialog里使用EditText时,关闭键盘的有效方式

只需在BottomSheetDialog里面如下实现即可:public class KeyBoardBottomSheetDialog extends BottomSheetDialog { public KeyBoardBottomSheetDialog(@NonNull Context context) { super(context); } public KeyBoardBottomSheetDialog(@NonNull Context contex

2020-08-26 09:57:45 951

转载 ViewModel

随着 Android 架构的演进,从 MVC 到 MVP 再到现在的 MVVM,项目的结构越来越清晰,耦合度也越来越低,本质上讲就是对 UI 和逻辑的分离,而在这一分离的过程中,MVP 的 presenter 和 MVVM 中的ViewModel 都起了很重要的作用,Presenter 不必多说,就是一个类封装了我们的逻辑代码,并加了一些回调。我们要讲的是 ViewModel 如何创建使用,如何和页面生命周期绑定以及如何在配置更改时恢复数据。1.what?ViewModel和LiveData...

2020-08-12 10:52:51 635

原创 android git重新设置忽略文件命令

git rm -r --cached .git add .git commit -m "重新添加忽略文件"

2020-07-14 09:46:11 359

转载 NDK升级17后编译提示找不到mips64el-linux-android-strip

因为最近要研究下litho, 随手升级了ndk.结果编译项目时报错:说是找不到 "D:\Android\sdk\ndk-bundle\toolchains\mips64el-linux-android-4.9\prebuilt\windows-x86_64\bin\mips64el-linux-android-strip莫名奇妙, 找了一圈, 找到这个解决方法https://www.jia...

2020-03-05 16:15:24 269

原创 Android使用AutoSize适配框架与字体大小全局改变getResources方法互斥的替代解决方式——通过Theme主题动态切换字体大小

前言: 最近公司做了横屏手持车载设备,屏幕和通常的手机屏幕差别不大,我们是按照1334*750的设计图尺寸做的,横屏适配和竖屏适配方式是不一样的,横屏的像素宽,横向布局不会太复杂,通常"match_parent"或权重就可以满足横向设计要求,但是高度就不一样了,比如设计图的高度是750px,几乎只有横向像素的一半,如果竖屏内容需要滑动显示倒无所谓了,对于车载端,主要界面偏偏都不是大篇幅的需要高度滑...

2019-09-06 19:30:12 2288

原创 Android平板界面适配记录

基本概念:分辨率:整个屏幕的像素数目,为了表示方便一般用屏幕的像素宽度(水平像素数目)乘以像素高度表示,形如1280x720。屏幕密度:表示单位面积内的像素个数,通常用dpi为单位,即每英寸多少个像素点 (斜边像素/屏幕尺寸)dp:长度单位,与屏幕密度无关,推荐使用,显示的时候根据具体平台屏幕密度的不同最终转换为相应的像素长度,具体转换规则是: 1dp = (目标屏幕密度/标准密度)...

2019-06-03 10:38:28 3142 1

原创 Android DataBinding——利用数据改变UI,分离你的数据业务逻辑

第一部分:DataBinding是什么? 我来答: 是google官方指导架构篇Architecture Components的一个支持库,借用它可以将UI界面组件绑定到应用的数据源中。第二部分: 作为Android 开发者我如何接入使用呢? 只需一步,在app module的build.gradle下加入如下配置:android { ... ...

2019-05-30 16:03:06 873

转载 Android好用组件推荐:android.support.design.widget.TabLayout

什么是TabLayout上图中,我们可以看到,该页面分成三个页签,每个页签对应不同的内容,如果让我们来实现布局的话,我们会很容易地想到布局为一个页签指示器+ViewPager,以前,相信各位大多使用的是GitHub上的开源框架PagerSlidingTabTrip来实现指示器的效果,而如今,Android中也有自带这种指示器的控件TabLayout,TabLayout存在于android...

2019-04-25 10:59:11 5227

转载 WebStorm 2018破解

今天重新打开WebStorm发现之前输入的License Server没法用了,不能通过WebStorm的检测,搜索良久,终于找到了最新版本WebStorm的破解方法。在激活页面选择License Server,输入:http://idea.imsxm.com/,点击Activate即可激活。输入:http://idea.codebeta.cn,点击Activate即可激活。然而,并没...

2018-11-26 10:53:27 658

原创 React-Native入门——图片加载

一、RN本地项目图片访问        1.1、通过source——require访问         &lt;View&gt;                &lt;Image                    source={require('./images/img_login_logo.png')}                /&gt;             &lt;...

2018-11-12 16:34:39 525

原创 react-native入门——touchable系列按钮使用

一、Touchable系列组件     Touchable系列组件可以包裹一层根View,响应点击变化和点击事件   1.1  例如TouchableWithoutFeedback,只可以处理点击或长按响应,不能修改点击的颜色透明度变化,使用代码例子如下:     &lt;TouchableWithoutFeedback        onPress={            ()=&g...

2018-11-10 15:29:49 642

原创 android源码设计模式——框架模式MVC、MVP、MVVM

一、框架模式、设计模式、架构模式的概念理解       通常来讲框架面向于一系列相同行为代码的重用,而设计则面向的是一系列相同结构代码的重用,通常所说的架构则介于框架与设计之间二、MVC、MVP、MVVM三种设计模式       2.1、MVC模式,常见的应用模式,这里先忽略          2.2、MVP模式,全称: Model View Presenter:       MVP模...

2018-11-07 15:29:14 353

嵌入式C之练习学生成绩管理系统项目代码

嵌入式C之练习学生成绩管理系统项目代码

2025-09-26

Android通用代码开发规范

Android通用代码开发规范

2016-07-14

仿qq空间头像背景拉伸效果

这是一款仿制qq空间头像背景可拉伸效果的代码,下拉背景拉长,上推背景动画返回到原高度

2015-06-29

底部导航栏中间圆形按钮凸起效果demo

这是一个使用RelativeLayout+RadiouGroup+ImageView制作的中间凸起的按钮效果,代码简单易懂,避免了使用自定义控件带来的繁琐问题。

2016-07-04

BaiduLBS_Android.jar

适用于百度地图定位开发工具jar包,具体详见百度开发者中心

2014-10-28

pictureCache图片缓存示例代码

可直接使用的图片缓存代码,可以用来学习三层缓存思想和打包成jar包直接适用于图片缓存

2015-06-10

空空如也

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

TA关注的人

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