作者\/
文章平均质量分 85
普通网友
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Android-技术的下半场
安全专题 安全专题就离多数比较远了,这里我们讲解一些常见的和业务相关的安全话题,具体后续补充。高可用专题 后续补充GC专题 后续补充。原创 2024-05-29 13:46:24 · 1367 阅读 · 1 评论 -
android 设置系统dialog 样式
同样由于App theme的许多属性并不是public的(比如下面要提到的标题下面的那条蓝线),所以我们要继承自一个原生的style。标题下面的蓝色的线,并不是在Dialog或AlertDialog中设置或通过它们的style中定义的。在这里我参考了原生的alertDialog的style,设定了窗口背景为透明,以及windowContentOverlay为null这两个重要属性,否则你会看到在AlertDialog下面还有一层对话框的背景,或者是对话框的背景遮住了所有内容这样的问题存在。原创 2024-05-29 13:29:54 · 832 阅读 · 0 评论 -
android 设置系统dialog 样式(1)
接下来,我们需要在我们的App theme中指定我们的对话框使用这种主题,所以需要定义一个App theme。同样由于App theme的许多属性并不是public的(比如下面要提到的标题下面的那条蓝线),所以我们要继承自一个原生的style。在这里我参考了原生的alertDialog的style,设定了窗口背景为透明,以及windowContentOverlay为null这两个重要属性,否则你会看到在AlertDialog下面还有一层对话框的背景,或者是对话框的背景遮住了所有内容这样的问题存在。原创 2024-05-29 13:29:24 · 486 阅读 · 0 评论 -
Android 布局阴影实现
这是我比较推荐的方式,可参考CardView的阴影实现自定义一个阴影布局实现。其实现是通过实现。相较于来说,可供选中的实现方式要多一个blur实现类型,效果更好些,所以我是通过使用来实现自定义阴影布局。原创 2024-05-29 13:07:35 · 882 阅读 · 0 评论 -
Android 市场的变化,影响多少开发者被迫进阶?
从现在看起来这些话题,已经不足为奇了,不管在任何行业,任何岗位,初级技术人才总是供大于求,都是不好找工作的,Android开发只是其中之一同样,不管任何行业、岗位,技术过硬的也都是非常吃香的!说到底,并不是Android行业凉了,凉了的是你自己。技术技能不过硬,不管你转行去哪个行业或岗位都是一样的结果。原创 2024-05-29 13:07:04 · 835 阅读 · 0 评论 -
Android TextView 使用以及属性(方法)大全
效果图:布局文件 :原创 2024-05-29 12:47:47 · 929 阅读 · 0 评论 -
Android SystemUI源码分析与修改
在private void prepareNavigationBarView() {……对应的函数getAddVolume()和getAddVolume()要在。最后就是功能实现了,在。原创 2024-05-29 12:47:16 · 397 阅读 · 0 评论 -
Android IOS WebRTC 音视频开发总结(七一)-- H265 H264有何不同
比起H.264/AVC,H.265/HEVC提供了更多不同的工具来降低码率,以编码单位来说,H.264中每个宏块(marcoblock,MB)大小都是固定的16x16像素,而H.265的编码单位可以选择从最小的8x8到最大的64x64。信息量不多的区域(颜色变化不明显,比如车体的红色部分和地面的灰色部分)划分的宏块较大,编码后的码字较少,而细节多的地方(轮胎)划分的宏块就相应的小和多一些,编码后的码字较多,这样就相当于对图像进行了有重点的编码,从而降低了整体的码率,编码效率就相应提高了。原创 2024-05-29 12:25:48 · 399 阅读 · 0 评论 -
Android ImageView蒙版、高斯模糊
关于ImageView蒙版、高斯模糊的实现方法,蒙版实现原理很简单,就是继承自ImageView绘制透明涂层,高斯模糊,可以直接使用Glide中apply() 方法实现!这两个功能我封装到了一起!自定义MaskImageView。原创 2024-05-29 12:25:17 · 739 阅读 · 0 评论 -
Andorid性能优化之traceview的使用(不懂揍我)(1)
接下来我们具体看看这四个按钮。原创 2024-05-29 11:57:18 · 971 阅读 · 0 评论 -
ALIPAY WEB 登陆rsa加密 分析记录
json_ua 数据赋值 是json_ua对象得来的,再进行C 来url编码 var C = encodeURIComponent;就是去除密码的前面245位,然后调用 this.key.encrypt(t.substr(0, 245)) 加密,得到十六进制数。getRsaPassword 调用了 this._components.rsa.encrypt(e + t)得到输入的账号和密码,再进行rsa加密的密码。这个是网页发包数据,和分析的加密密码一样。接下来就是json_ua 的解密了。原创 2024-05-29 11:56:48 · 970 阅读 · 0 评论 -
2024年是做安卓开发人员的绝佳时机
在评论区留言或者私信我,高级技术PDF文档,我看到都会回复的。原创 2024-05-29 11:26:19 · 902 阅读 · 0 评论 -
2024年数据库期末考试考纲(1-3章)
不同的数据库系统都配有各自的DBMS,而不同的DBMS各支持一种数据库模型,虽然它们的功能强弱不同,但大多数DBMS的构成相同,功能相似。7、已知系(系编号,系名称,系主任,电话,地点)和学生(学号,姓名,性别,入学日期,专业,系编号)两个关系,系关系的主关键字是 系编号 ,系关系的外关键字 无 ,学生关系的主关键字是 学号 ,外关键字 系编号。5、假定学生关系是S(S#,SNAME,SEX,AGE),课程关系是C(C#,CNAME,TEACHER),学生选课关系是SC(S#,C#,GRADE)。原创 2024-05-29 11:25:48 · 1262 阅读 · 0 评论 -
字节跳动面试官亲述:问哪些问题能试出一个 Android 应用开发者真正的水平?
一个优秀的技术人,如果知识的深度与广度足够,知识已成体系,那么他对于一些从未接触过的领域,也是可以做出足够合理的想象与判断,面试过程中如果问到一些领域候选人没有涉猎,这时候一般不用过多纠缠,但如果你想借这个问题考察下他的技术想象力,可以深入下去,面试过程中如果问到一些领域候选人没有涉猎,这时候一般不用过多纠缠,但如果你想借这个问题考察下他的技术想象力,可以深入下去,这个酷炫的控件,如果要你来做,你会怎么实现?所以,当今的Android移动开发,不会热修复、插件化、组件化,80%以上的面试都过不了。原创 2024-05-29 00:28:57 · 589 阅读 · 0 评论 -
字节跳动开源内部微服务中间件 CloudWeGo
Kitex 默认集成自研网络库 Netpoll 作为网络传输模块,性能相较使用 go net 有显著优势;除了网络库带来的性能收益,Kitex 对 Thrift 编解码也做了优化,这在之前的性能优化实践文章中有介绍。关于性能数据,可参考 https://github.com/cloudwego/kitex-benchmark。:Kitex 设计上做了模块划分,提供了较多的扩展接口以及默认的扩展实现,使用者也可以根据需要自行定制扩展。Kitex 未耦合 Netpoll,开发者可选择其他网络库扩展使用。原创 2024-05-29 00:28:27 · 1205 阅读 · 0 评论 -
Android修行手册-TextView常用属性篇
往期文章分享👉众所周知,人生是一个漫长的流程,不断,不断反思前进的过程。在这个过程中会产生很多对于人生的质疑和思考,于是我决定将自己的思考,经验和故事全部分享出来,!!!专注于和各种游戏开发技巧,以及(网站、工具、素材、源码、游戏等)有什么需要欢迎私我,交流群让学习。👉文字是人类用符号记录表达信息以传之久远的方式和工具。几千年来我们都在乐此不疲地使用它。于你于我于她,没有高低贵贱之分。TextView是Android中最简单也是最常见的控件。今天小空就带大家会会她。👉。原创 2024-05-28 23:27:45 · 889 阅读 · 0 评论 -
鸿蒙Ability学习
跨设备迁移,支持,就是将一个页面从 A 设备转移到 B 设备,这是万物互联的一个体现。其步骤大概三步走:设备A上的Page请求迁移HarmonyOS 处理迁移任务,并回调设备A上Page的保存数据方法,用于保存迁移必须的数据HarmonyOS 在设备B上启动同一个Page,并回调其恢复数据方法。原创 2024-05-28 21:39:10 · 1017 阅读 · 0 评论 -
高级UI晋升之触摸事件分发机制(一)
按下、滑动、抬起、取消这几种事件组成了一个事件流。事件流以按下为开始,中间可能有若干次滑动,以抬起或取消作为结束。在安卓对事件分发的处理过程中,主要是对按下事件作分发,进而找到能够处理按下事件的组件。对于事件流中后续的事件(如滑动、抬起等),则直接分发给能够处理按下事件的组件。故本文讨论的内容则是主要针对按下事件的。原创 2024-05-28 21:38:06 · 714 阅读 · 0 评论 -
没有对象怎么面向对象编程呢?真让人头秃!
horse2没有实例化,但是把horse1赋值给horse2了,赋值的过程就是,将horse1的地址给了horse2,所以现在是horse1和horse2指向了同一块内存,所以现在把horse2.name=“嘿嘿”,你打印出来horse1的name也等于嘿嘿。这个赋值过程和上边的是一样的,不一样的是horse2原先指向的内存,因为没有被指向,所以它会被gc认为是垃圾就会被释放掉,什么是gc呢,gc就是虚拟机里的Garbage Collection垃圾回收器。//有了对象,我们就可以调用对象的属性和方法。原创 2024-05-28 21:05:10 · 349 阅读 · 0 评论 -
永不过时,最经典的30-张图解-HTTP-常见的面试题,你值得拥有!
同时 HTTP 由于是工作在应用层(原创 2024-05-28 21:04:39 · 767 阅读 · 0 评论 -
地基篇:计算机的基础常识 和 JVM的基本了解
继续Kotlin 地基篇,之前说过要聊JVM的技术常识,现在就来聊一下。原创 2024-05-28 20:34:50 · 422 阅读 · 0 评论 -
图解:HTTP 范围请求,助力断点续传、多线程下载的核心原理
1.500-1000:指定开始和结束的范围,一般用于多线程下载。2.500- :指定开始区间,一直传递到结束。这个就比较适用于断点续传、或者在线播放等等。3.-500:无开始区间,只意思是需要最后 500 bytes 的内容实体。4.100-300,1000-3000:指定多个范围,这种方式使用的场景很少,了解一下就好了。HTTP 协议是一种双边协商的协议,既然请求头部已经确定是使用 Ranges 了,还有响应头部中,也需要使用这个响应头来标记响应的实体内容范围。原创 2024-05-28 20:34:18 · 896 阅读 · 0 评论 -
[译] google会背叛并杀死Android吗?
OpenJDK和Android的许可协议都不会改变,所以OpenJDK并不是Google的安全选择。只是在那个时候,谷歌已经实在是没有办法去说服美国联邦巡回上诉法院相信Java API是没有版权的。最高法院拒绝了谷歌的请求,要求审理此案。与此相比,与OpenJDK相关的风险不再那么大,所以Google决定整合它。但是请不要误会 - 谷歌与Android中的OpenJDK相关的风险仍然很大。原创 2024-05-28 20:04:37 · 1060 阅读 · 0 评论 -
[Android]从源码的角度理解为什么Dialog不能在Application中展示
try {在这个方法中,我们找到了抛出异常的地方,当res的值为WindowManagerGlobal.ADD_BAD_APP_TOKEN或则WindowManagerGlobal.ADD_BAD_SUBWINDOW_TOKEN时,会抛出文章开头处的错误。这个res是方法的返回值。IWindowSession是一个Binder接口,负责ViewRootImpl和WindowManagerService的通信,在ViewRootImpl对象创建时获取。在这里。原创 2024-05-28 20:04:06 · 1022 阅读 · 0 评论 -
FFmpeg之OpenGL绘制与Native-Window绘制(五)
0.2f, 0.2f, 0.0f, 0.0f, 1.0f,0.2f, -0.2f, 0.0f, 1.0f, 0.0f,};在空间中的分布位置及顺序点绘制设置点的大小glPointSize(5);glDrawArrays(GL_POINTS, 0, 6);效果线段绘制设置线段的宽glLineWidth(10);glDrawArrays(GL_LINES, 0, 6);效果多线段绘制glDrawArrays(GL_LINES, 0, 6);效果循环线绘制glDrawArrays(GL_LINE_原创 2024-05-28 19:27:52 · 751 阅读 · 0 评论 -
Eclipse连接sqlserver2019
官网]: https://docs.microsoft.com/zh-cn/sql/connect/jdbc/download-microsoft-jdbc-driver-for-sql-server?若出现“不能打开到主机的连接,在端口1433:连接失败”则说明1433端口没有打开,可以重启电脑再走一遍以上配置流程,仍无法成功进入3.这个界面,那我也不知。将其中的三项jar文件复制到你电脑中的jdk所在的文件下的lib文件中,比如我的jdk装在名为javaJDK的文件里,打开它能看到有一个lib文件,原创 2024-05-28 19:26:48 · 360 阅读 · 0 评论 -
Android应用优化之流畅度实操
UI布局优化使用LinearLayout代替RelativeLayout,因为LinearLayout性能上稍微好一点如果复杂的布局,我们可以使用RelativeLayout来解决复杂的布局关系尽量少用LinearLayout的layout_weight属性,因为它会消耗较大的性能对应可以复用的布局使用include标签来进行复用使用ViewStub标签来加载一些不是必定出现使用的布局使用merge来减少不必要的层级嵌套去除多余的背景颜色,减少过度绘制问题。原创 2024-05-28 18:58:49 · 717 阅读 · 0 评论 -
Android常见问题及开发经验总结(四)
Bundle内部是由ArrayMap实现的,ArrayMap的内部实现是两个数组,一个int数组是存储对象数据对应下标,一个对象数组保存key和value,内部使用二分法对key进行排序,所以在添加、删除、查找数据的时候,都会使用二分法查找,只适合于小数据量操作,如果在数据量比较大的情况下,那么它的性能将退化。2.如果是用户上传的图片,的一般会处理成jpg格式,上传到服务器后会做webp的转化,别的用户看到的图片就是webp格式的,图片质量不仔细研究看不出来和jpg原图的差别,但是流量却节省了非常多;原创 2024-05-28 18:58:17 · 610 阅读 · 0 评论 -
Android Studio制作搜索栏
【代码】Android Studio制作搜索栏。原创 2024-05-28 18:31:54 · 494 阅读 · 0 评论 -
Android Studio之Gradle多渠道打包
除此之外 assemble 还能和 Product Flavor 结合创建新的任务,其实 assemble 是和 Build Variants 一起结合使用的,而 Build Variants = Build Type + Product Flavor。**: 允许构建指定Build Type的所有APK,例如assembleDebug将会构建Flavor1Debug和Flavor2Debug两个Variant版本。这条命令会把Product Flavor下的所有渠道的Release版本都打出来。原创 2024-05-28 18:31:23 · 596 阅读 · 0 评论 -
Android Camera 拍照 三星BUG总结
Log.i(“123—savedInstanceState”, “图片拍摄成功”);Log.i(“123—savedInstanceState”, “图片拍摄失败”);照片生成的目录在 sd卡的/a/image/camera/…照片生成的目录在 sd卡的/a/image/camera/…照片生成的目录在 sd卡的/a/image/camera/…//根据时间生成 后缀为 .jpg 的图片。// ┃ ┃ 代码无BUG!// 根据照片的位置获取图片。// ┃ ┃ 神兽保佑。原创 2024-05-26 17:53:28 · 343 阅读 · 0 评论 -
Android 进阶延伸技术点,你能答出几个?
在消息数据上,执行一个单向的 Hash 函数,生成一个固定长度的 Hash 值。原创 2024-05-25 22:39:36 · 310 阅读 · 0 评论 -
Android 贴纸样式标签
【代码】Android 贴纸样式标签。原创 2024-05-25 22:38:33 · 347 阅读 · 0 评论 -
Android Studio下载安装教程及开发环境搭建
如果需要修改字体样式 ,需要先从 Available fonts中双击加到右边的select Fonts里面,然后最右边的上下按钮,调整位置。里面和eclipse创建项目差不多,输入项目名,选择编译环境,然后亮点就是可以选择theme了。看了一下大体的菜单布局,和eclipse还是蛮像的。但是一些菜单位置是变化了的。关于Studio的基本功能大体就是这样啦,其它的操作和 eclipse差不多,再讲就重复了。关于Studio的基本功能大体就是这样啦,其它的操作和 eclipse差不多,再讲就重复了。原创 2024-05-25 21:34:47 · 279 阅读 · 0 评论 -
Android Studio—PullToRefresh 框架
id_lv_test.getLoadingLayoutProxy(false,true).setPullLabel(“上拉加载更多.”);Log.d(TAG,"下拉动作 : " + Thread.currentThread().getId());mList.add("新数据 - " + mLvAdapter.getCount());当设置rotate时,可以用这个来设置刷新时旋转的图片。插入PullToRefreshListView。Activity 中设置下拉刷新监听。// 设置下拉刷新监听.原创 2024-05-25 21:34:16 · 298 阅读 · 0 评论 -
6年菜鸟开发面试字节跳动安卓研发岗,含小米、腾讯、阿里
简单说一下当时的状况,我在这家公司做了两年多,这两年多完成了一个大项目,作为开发的核心主力,开发压力很大,特别是项目上线前的几个月是非常辛苦,几乎每晚都要加班到12点以后,周末最多只有一天休息。在最困难的时候,老板给大家打气,“大家再坚持坚持,项目上线赚钱了,就给大家涨工资,公司是绝对不会亏待大家的”,在老板豪情壮语的加薪鼓励下,大家要紧牙关拼上了。而关于(2),却是事实:由于新的项目还在调研中,所以,我的工作暂时就轻松了不少,主要就是维护线上的系统,加加小功能,修修小bug,比较清闲。原创 2024-05-25 20:25:04 · 331 阅读 · 0 评论 -
6年老Android面经总结,值得收藏!
我们的项目需要开发一款智能硬件。它由 Web 后台发送指令到一款桌面端应用程序,再由桌面程序来控制不同的硬件设备实现业务上的操作。从 Web 后台到桌面端是通过一个 WebSocket 长链接来进行维护,而桌面程序到各个硬件设备也是一个 TCP 长链接来维护的。本文讲述的,其实是从桌面程序到各个硬件之间的通讯。原创 2024-05-25 20:24:34 · 374 阅读 · 0 评论
分享