自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Android又凉了?2024年Android开发还被唱衰,开发者如何涅槃重生?

日常工作中,很多人遇到问题见招拆招,没有深入研究过第三方源码,有业务需要用到哪里的知识,就去谷歌一下拿来用,实现完功能就完了。在笔记中,针对Android开发这些年演进过程中,沉淀下来的那些支撑着 Android 迈向更稳健、更成熟的技术,进行详细而系统的输出。做了多年 Android,一直浮于表面,技能零散,什么都会点,什么都不太精,开发不费劲,遇到优化问题就懵,想深入还没有突破口;究其根本,就是因为知识体系零散,不理解底层原理,基础不牢固,导致技术迭代太快,跟不上节奏。有需要的朋友们,可以直接。

2024-11-28 08:27:09 659

原创 Android又凉了?2024年Android开发还被唱衰,开发者如何涅槃重生?(1)

日常工作中,很多人遇到问题见招拆招,没有深入研究过第三方源码,有业务需要用到哪里的知识,就去谷歌一下拿来用,实现完功能就完了。》,这笔记我已经多次推荐,确实厉害。在笔记中,针对Android开发这些年演进过程中,沉淀下来的那些支撑着 Android 迈向更稳健、更成熟的技术,进行详细而系统的输出。想获得更高的机会,必须构建技术壁垒,必须要做一名 Android 的开发高手,而不是一个 “Android 开发者”。究其根本,就是因为知识体系零散,不理解底层原理,基础不牢固,导致技术迭代太快,跟不上节奏。

2024-11-28 08:25:09 524

原创 Android原生系统真的那么好用吗?安卓原生系统吊打其他系统,因为有Google-Play,所以应用都是纯净的?

实际方面,原生 Android 的最大优势是更新快速,对供应商特别是 Android 上游的补丁的合并速度非常快,几乎总能在第一时间更新。因为系统越原生,更新的代价就越小。反之,如果一个停止更新的原生 Android 其实是没有多大意义的,它失去了它最大的优势。更新快速意味着能无偿的得到上游的系统优化、功能更新和 Bug 修复。如果再跟定制系统一对比优势就更大了,定制系统普遍臃肿、负优化(这个在很多定制系统中是明确存在的)、跟随上游的更新步伐极度缓慢甚至停止跟进上游(自己刷自己的版本自嗨)。

2024-11-28 08:23:08 2349

原创 Android原生方式获取经纬度和城市信息

首先将手机定位服务设置,调到下图所示:这可能会获取不到经纬度。为什么在网络和GPS都可用的情况下只执行GPS而不是网络?也许是从精确度考虑的,但是走GPS进入监听的listener后,不会执行onLocationChanged()方法,因为我是在室内,没有移动,所以如果你获取不到经纬度,就要将定位服务调到仅使用网络定位或者关闭手机GPS这样就可以获取到了。

2024-11-28 08:21:08 1278

原创 Android原生开发,自定义View手撸一个抖音“潜艇大挑战”小游戏。

少啰嗦,先看东西!下面介绍各部分代码的实现。

2024-11-28 08:19:07 972

原创 Android原生PDF功能实现

spacing(10) // 单位 dp.load();/**/**@Override@Override/**@Override//是否内存= null) {PDF阅读页面的布局文件:activity_pdf.xml。

2024-11-28 08:17:07 1474

原创 Android即将被替代?

2024-11-28 08:15:06 494

原创 Android卡顿真的是因为”掉帧“?

消费帧的速度与屏幕刷新率挂钩,屏幕就像连环画,若一秒播放 60 帧,消费一帧的速度为 1000/60 = 16.6 ms,即每 16.6 ms 屏幕就会去取下一帧的显示内容,若没取到,只能继续显示上一帧,画面就停滞了,这就称为“掉帧”,听上去好像丢失了无法找回的东西一样,其实它是形容“显示内容错过了一次显示机会”,描述的是屏幕硬件的一种行为。屏幕为啥会没有取到显示内容?得从软件层找原因。带着这个问题,读一下 Framework 源码。

2024-11-28 08:13:06 825

原创 Android动画的使用——补间动画

2、代码调用@Override//获取控件//利用 AnimationUtils 这个工具类获取 Animation//因为这一步我们在 xml 中做了申明,所以这里不需要写,但是要记住,Duration 不设置你将会看不到动画//开始动画代码方式。

2024-11-28 08:11:05 994

原创 Android动画之帧动画

/java的形式实现。//1.实现帧动画的类(相当于一本空白的小人书)//2.为帧动画添加内容(在小人书里添加内容)MainActivity.java文件如下。android:text=“开启” />android:text=“停止” />//3.将帧动画设置给View做背景。1.利用 Java 代码实现帧动画。//其他操作,如,设置只执行一次。//4.开启动画(相当于翻书)

2024-11-28 08:09:04 843

原创 Android动态修改应用图标和名称

最后,可能有的同学会想,我现在的应用入口就是默认的一个Activity,默认的enable也是true,也没有配置任何的Activity-alias,而我在上面说的规则中都是建议清单文件中的Activity的android:enabled="false”,那有人可能就会想我的新版本设置成false会不会导致我的图标入口不见了呢?

2024-11-28 08:07:04 2353

原创 Android加速度传感器

传感器使用步骤之前已经介绍过,Android加速度传感器。

2024-11-28 08:05:03 233

原创 Android加载长图方案

因为图片本身也是一个URL地址,也是被WebView渲染,并且支持缩放。这是一种实现方案,遇到几M的大图WebView也是会崩溃Crash,所以这种投机的方式并不推荐。分片加载,使用系统BitmapRegionDecoder去加载本地的图片,调用bitmapRegionDecoder.decodeRegion解析图片的矩形区域,返回bitmap,最终显示在ImageView上。这种方案需要手动处理滑动、缩放手势,网络图片还要处理缓存策略等问题。实现方式比较繁琐也不是很推荐。一款封装BitmapRegionD

2024-11-28 08:03:03 676

原创 Android初识贝塞尔曲线

/如果你发现你的 onTouchEvent 无法捕获 MOVE 事件,就是因为这个方法返回的是 false导致的。有了上面的历史回顾,下面,我们就来熟悉一下如何用代码 将其 在 Android 中可视化显示出来。//绘制二阶贝塞尔曲线。

2024-11-28 07:56:55 696

原创 android RK3328 gpio处理

执行shell脚本工具类。Command执行结果。//判断文件是否存在。

2024-11-27 12:49:00 833

原创 android RK3328 gpio处理(1)

file.exists()) { //文件不存在。//如果path是传递过来的参数,可以做一个非目录的判断。Command执行结果。//判断文件是否存在。

2024-11-27 12:46:59 929

原创 Android Retrofit 2

Retrofit是Square公司开发的一款针对Android网络请求的框架,遵循Restful设计风格,底层基于OkHttp.

2024-11-27 12:44:59 708

原创 android RecyclerView嵌套 RecyclerView 子item 和 父item点击事件如何处理_recyclerview嵌套 recyclerview 点击事件

/点击店铺中商品前的checkbox。//点击店铺前的checkbox。

2024-11-27 12:42:58 532

原创 Android R WindowManagerService模块(3) Window的relayout过程

if (attrs!= null) {// 调整特殊类型的Window#attrs属性// 针对壁纸窗口调整Window#attrs属性// 调整mSystemUiVisibility属性,控制status bar的显示// PRIVATE_FLAG_PRESERVE_GEOMETRY将忽略新x、y、width、height值,使用旧值!= 0) {// 确定flag是否发生变化。

2024-11-27 12:40:57 546

原创 android QMI机制---概论_qmi 原理

这个是控制点向BP侧发送同步消息的函数,参数包括走的QMI_Service类型,Service里面消息的名称,从图中可以看出,上层控制点打包对应类型的QMI消息或通过其他操作系统的框架,将要发出的数据传到AP。侧底层的逻辑设备,最后逻辑设备通过内联的总线接口,传到BP侧的AMSS。从图中可看出,整个QMI架构中,主要是通过QMUX层完成软件上的TE和MSM的交互。消息长度不一样,可自己定义消息长度,不同的qmi消息,消息格式是相同的。目前我们QMI支持的逻辑设备有图中四种,电话系统,音频,蓝牙,GPS。

2024-11-27 12:38:57 375

原创 Android PinnedHeaderListView 详解

public View getItemView(int section, int position, View convertView, ViewGroup parent) {//普通item的getview方法。public View getSectionHeaderView(int section, View convertView, ViewGroup parent) {//header的getview方法。//section: header的位置数 ,position:普通item的位置数。

2024-11-27 12:36:57 819

原创 android photoview 图片放大缩放功能 ImageView

将lib 添加进来。

2024-11-27 12:34:56 670

原创 Android OpenCV(四十):QR二维码检测

Toast.makeText(applicationContext, “读取图片失败”, Toast.LENGTH_SHORT).show()Toast.makeText(applicationContext, “无相机权限”, Toast.LENGTH_SHORT).show()Toast.makeText(applicationContext, “无存储权限”, Toast.LENGTH_SHORT).show()// 请求外部存储权限。

2024-11-27 12:32:55 1105

原创 Android OpenCV(三十七):轮廓外接多边形

是将曲线近似表示为一系列点,并减少点的数量的一种算法,是线状要素抽稀的经典算法。对每一条曲线的首末点虚连一条直线,求所有点与直线的距离,并找出最大距离值dmax,用dmax与限差D相比: 若dmax<D,这条曲线上的中间点全部舍去;若dmax≥D,保留dmax对应的坐标点,并以该点为界,把曲线分为两部分,对这两部分重复使用该方法。参数四:closed,逼近曲线是否闭合的标志,true表示封闭,false,表示不封闭。则是通过center确定位置,angle结合宽高,计算各顶点的坐标,从而确定矩形。

2024-11-27 12:30:55 590

原创 Android Okhttp3添加https自签名证书以及Glide4

而只有Android系统认可的机构办法的证书,在使用过程中才不会出现安全提示。为什么会有人使用自签名的证书呢?(重要的事重复三遍)免费,免费,免费,不用花费一分钱,在开发阶段写的代码, 测试跟发布的时候也可以用。

2024-11-27 12:28:54 1083

原创 Android Notification 手机系统横幅弹出提示框调用,横幅通知,RemoteViews使用实例

直接上代码。

2024-11-27 12:26:54 265

原创 Android Notification 手机系统横幅弹出提示框调用,横幅通知,RemoteViews使用实例(1)

/ .setContentText(bundle.getString(JPushInterface.EXTRA_MESSAGE)) //设置通知栏显示内容。//.setOngoing(false)//ture,设置他为一个正在进行的通知。// .setTicker(context.getPackageName() + “消息”)//通知首次出现在通知栏,带上升动画效果的。//获取系统时间的10位的时间戳。

2024-11-27 12:24:53 611

原创 Android NFC基础知识汇总

ACTION_ TECH_ DISCOVERED:当没有任何一个activity声明自己可以响应ACTION_NDEF_DISCOVERED时,系统会尝试发出TECH的intent.即便你的tag中所包含的数据是NDEF的,但是如果这个数据的MIME type或URI不能和任何一个activity所声明的想吻合,系统也一样会尝试发出tech格式的intent,而不是NDEF.ACTION_TAG_DISCOVERED:当系统发现前两个intent在系统中无人会接受的时候,就只好发这个默认的TAG类型。

2024-11-27 12:22:53 1139

原创 Android MVVM框架搭建(八)高德地图定位、天气查询、BottomSheetDialog

前言在上一篇文章中完成了对个人用户信息的修改,同时讲述了对弹窗数据的处理,权限的使用,本文将在App中接入一个地图SDK,同时完成天气的查询,完成后的效果如下图所示:正文实际上地图和天气我在之前的好天气App上都写过了,那个上面写的就比较多了,也比较复杂了,在这里第一个是为了丰富MVVM的使用场景,同时满足在Fragment中使用地图的需要,第三个就是底部弹窗与MVVM的结合。可以扫描二维码下载体验一下:一、集成SDK。

2024-11-27 12:20:51 833

原创 深入 Java 核心,2024年最新java面试问的问题都答上来了

由于局部变量都是存放在栈中,而每一个线程都对应自己的线程栈,因此局部变量是线程安全的,不会才产生资源共享的情况。本地方法栈本地方法栈的机制和栈的机制类似,区别在于,栈是运行Java所实现的方法,而本地方法栈是运行的本地方法(Native Method)。所谓的本地方法指的是在本地jvm中需要调用非Java语言所实现的方法,例如c语言。在JVM的规范中,其实没有强制性要求实现方一定要划分出本地方法栈的和具体的实现,这一部分可以根据实现方具体要求来实现。

2024-11-21 17:03:32 104

原创 服务注册与发现的原理和实现,java面试实录

当一个服务节点起来之后,需要把自己注册到上,便于其它节点来发现自己。注册需要在服务启动完成并可以接受请求时才会去注册自己,并且会设置有效期,防止进程异常退出后依然被访问。

2024-11-21 15:46:32 860

原创 数据治理三-Atlas与Hive数据集成,2024年最新linux内核架构与底层原理

一、安装环境======JDK 1.8二、安装Hadoop==========

2024-11-21 14:37:58 665

原创 微服务分布式协作框架tridenter使用介绍,java面试职业规划怎么回答

这两行日志分别表示成功注册消息多播组和应用注册中心这两行日志分别表示利用ApplicationLeaderElection选举算法选出当前的应用是leader,(快速选举算法默认将第一个启动的应用作为Leader, 有点类似Jgroups)

2024-11-21 10:52:52 791

原创 带分数 --三种方法详解,2024年最新java面试简历作假

这道题要我们用光1~9的数字 然后还不让我们有重复数字 来满足这个式子 我的思路是先全排列 然后check检测结果是否满足 但是注意这道题有个坑 带分数里的分数不一定是真分数 结果是整数也可能是浮点数 所以我们要变成乘法来判断 即:将n=a+b/c转换为n*c=a*c+b 这里也可以再转换成 b = n*c-a*c (注意b要开longlong型 不然会越界) 这样我们可以check求出的b 看看b是否存在已经使用过的数字。///a的搜索树 第一个参数表示当前进行到哪一个位置 第二个参数表示数字a的值。

2024-11-21 09:31:19 847

原创 复习进程与线程, 复习对比synchronize的和lock,华为2024深圳春招面试

synchronized的底层也是一个基于CAS操作的等待队列,但JVM实现的更精细,把等待队列分为waie_SET和EntryList,目的是为了提高线程的出列速度;如果一个进程内有多个线程,这些线程的执行过程不是一条线的,而是多条线(线程)共同完成的;如果子线程的崩溃是由于自己的一亩三分地引起的,那就不会对主线程和其他子线程产生影响,但是如果子线程的崩溃是因为对共享区域造成了破坏,那么大家就一起崩溃了。同一进程的线程共享本进程的地址空间和资源,而进程之间和线程之间的地址空间和资源是相互独立的。

2024-11-21 06:05:15 596

原创 基于Java+SpringBoot+Vue的身体素质测评管理系统(源码+文档+包运行)

数据库: mysql5.7编程语言: Javajava框架:SpringBoot详细技术:HTML+CSS+JAVA+SpringBoot+MYSQL+VUE+MAVEN。

2024-11-21 02:51:47 917

原创 为了你们不错过金三银四,我真是操碎了心!RabbitMQ面试真题来了,你不会不想看吧?

不在在因为等一会,让自己错过一次又一次的机会,任何机遇都伴有风险,只有不断前行才能取得成功!赶紧私信我【RabbitMQ面经】领取Java高阶学习资源和互联网企业面经!

2024-11-20 16:45:12 670

原创 springboot html 动态数据转pdf,2024年最新2024年最新Java大厂面试题来袭

param ftlFilePath html 模板文件相对路径(相对于 resources路径,路径 + 文件名)@param relativePath 资源文件相对路径(相对于 resources路径,路径 + 文件名)@param relativePath 资源文件相对路径(相对于 resources路径,路径 + 文件名)@param relativePath 资源文件相对路径(相对于 resources路径,路径 + 文件名)@param fontFile 所需字体文件(相对路径+文件名)

2024-11-20 10:21:45 514

原创 IT找工作指南,Java面试心得必备技能储备详解

这个不建议,一般需要运维,并且技术可能太老,太重,改动一个功能甚至需要大批量修改代码,如果项目继续,会有重构的风险。大公司的成长体系比小公司健全很多,如阿里有 P5 到 P8,腾讯有 T1 到 T3,这意味着。:这个比较好,只需要在前人的基础上添砖加瓦,前提是你能够理解并看懂现有项目的代码和思路。不用追求一定要去用新技术的团队,靠别人不如靠自己,比如自己动手把老技术升级为新技术。一个存在多年的公司,往往同时具有老技术和新技术,两个都有可能被分配给你。「有竞争力的薪酬」——我们给的工资跟其他公司差不多。

2024-11-20 00:59:27 269

原创 Hadoop06【API操作】(1),2024年最新java面试笔试题大汇总

同时 将hadoop.dll文件保存到c:/windows/system32下。内容和我们在Linux上安装的hadoop的配置文件一致。相关的jar就在我们解压缩的安装文件中。// 2.获取对应的文件系统。// 1.加载配置文件信息。创建java项目即可。

2024-11-20 00:09:41 250

空空如也

空空如也

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

TA关注的人

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