Skip to main content

moregeek program

#yyds干货盘点#Android C++系列:JNI操作Bitmap-多极客编程

​Java操作BitmapBitmap代表一个位图,BitmapDrawable*里封装的图片就是一个 Bitmap对象。开发者为了把一个 Bitmap对象包装成 BitmapDrawable 对象,可以调用 BitmapDrawable的构造器:BitmapDrawable bitmapDrawable = new BitmapDrawable(bitmap);如果需要获取 BitmapDraw

Read More

#yyds干货盘点# 源码分析 | Activity-setContentView 之我都不带闪的-多极客编程

我知道大家都很讨厌读别人写的源码分析,因为动不动就长篇大论,不讲武德,这样合适吗,这样不合适。于是,这是一篇不一样的源码分析,如果看完你还说不懂。年轻人,我劝你: 引言 普通的一个 Activity-setContentView(),你知道它内部做了什么吗? 概要 源码分析 我们先来看一下Activity-setContentView方法: public void setContentView(

Read More

#yyds干货盘点# 不写单元测试,就如同不穿秋裤的熊孩子在冬天瞎跑-多极客编程

在我以往的 Android 开发生涯中,几乎没有使用过单元测试,也没有见过有人去介绍过,好像这个东西在国内开发者眼里并不是很重要,或者说大多数开发同学没有专门的时间去使用单元测试框架,也许更重要的原因应该是我个人的 孤陋寡闻 。 背景 什么是单元测试? 单元测试是针对最小的单元编写测试代码。在 Java 中,最小的功能单位是方法,因此,对Java 程序进行单元测试就是针对单个 Java 方法

Read More

#yyds干货盘点#Android C++系列:JNI 调用时缓存字段和方法 ID-多极客编程

在 JNI 去调用 Java 的方法和访问字段时,最先要做的操作就是获得对应的类以及对应的方法 id。通常我们通过 FindClass 、GetFieldID、GetMethodID 去找到对应的信息也是耗时操作,如果方法被频繁调用(特别是像音视频处理时循环的调用JNI方法传递音视频数据),每次都去查找对应的类和方法ID会很耗性能,所以我们必须将它们缓存起来,达到只创建一次,后面直接使用缓存内容的

Read More

#yyds干货盘点#Android C++系列:访问Assets 文件夹-多极客编程

​Java 层Assetsassets目录是Android的一种特殊目录,用于放置APP所需的固定文件,且该文件被打包到APK中时,不会被编码到二进制文件。 Android还存在一种放置在res下的raw目录,该目录与assets目录不同。 区别点:assets目录不会被映射到R中,因此,资源无法通过R.id方式获取,必须要通过AssetManager进行操作与获取;res/raw目录下的资源会被

Read More

#yyds干货盘点#Bazel 构建Android项目-多极客编程

【Android 构建新工具】Bazel 构建Android项目本文我们使用Bazel构建一个最简单的Android项目。Bazel提供了编译Android程序内置的方法,具体参考:​​Android Rules​​1. 环境准备Bazel只是编译工具,不是真正的编译器,所以还是需要Andorid开发的SD、NDK以及Android Studio,并配置开发环境。接下来就是安装Bazel。由于平时

Read More

#yyds干货盘点# Kotlin随查指南,妈妈再也不担心我不会Ctrl+F了-多极客编程

背景 学习Kotlin已经有3年了,从20年1月开始实际投入项目使用,自认为对于Kt使用的还算熟练。 个人认为Kotlin真的是一门越用越爽的语言,但在实际开发中,刚开始经常会出现突然忘记了某个特性或者某个高阶函数的使用方式,又得去google,这个时候 如果有一份笔记,可以让你直接搜索到想要的,那么该有多好呢,这就是这份笔记的作用。 导航 本文快捷查找链接,欢迎一键转存,下载,或者随时搜索,已

Read More

【Flutter 专题】68 图解基本约束 Box (三) #yyds干货盘点#-多极客编程

      小菜对约束 Box 探索之路还在继续,小菜今天主要学习一下 Overflow 相关 Box; OverflowBox 源码分析 class OverflowBox extends SingleChildRenderObjectWidget { const OverflowBox({ Key key, this.alignment = Alignment.center

Read More

#yyds干货盘点# Kotlin与Java互调的那些事-多极客编程

Kt调用-Java参数非null的处理 @NotNull Java class TestJava { public void toNotNull(@NotNull String title) {} public void toNull(String title){} } Kotlin中调用 Kt调用- Java中使用kt关键字声明的变量和方法 kotlin中调用java方法,

Read More

【Flutter 专题】67 图解基本约束 Box (二) #yyds干货盘点#-多极客编程

      小菜继续学习约束 Box 的各类应用; UnconstrainedBox 源码分析 class UnconstrainedBox extends SingleChildRenderObjectWidget { const UnconstrainedBox({ Key key, Widget child, this.textDire

Read More

#yyds干货盘点#编译器及编译工具之编译工具-多极客编程

编译器及编译工具之编译工具上篇介绍了编译器,如果直接使用编译器管理我们的大中型项目,会相当痛苦而且根本无法维护。为了提效,于是产生了各种编译工具。所以今天介绍移动端开发对应的的编译工具。Apache Ant还记得那个用eclipse开发Android的年代吗?eclipse就是基于Ant工具来构建Android项目的。Apache Ant 是由 Java 语言开发的工具,由 Apache 软件基金

Read More

#yyds干货盘点#Bazel与Gradle工具差异-多极客编程

​Bazel与Gradle工具差异之前介绍Bazel文章中有同学闻到Bazel与Gradle工具的差异。这篇文章我们解答这个问题。来自Bazel员工的说法Bazel和Gradle强调构建体验的不同方面。在某种程度上,它们的侧重点是互斥的——Gradle对灵活性和非突出性的要求对它的构建结构进行了限制,而Bazel对可靠性和性能的要求产生了强制不可协商的限制。Gradle重视的原则和Bazel是一样

Read More

【Flutter 专题】66 图解基本约束 Box (一) #yyds干货盘点#-多极客编程

      小菜在学习过程中,为了调整或适配 Widget 大小时,会设置 Widget 或嵌套使用一些约束 Widget;小菜针对性学习一下这一系列的约束 Box; SizedBox 源码分析 class SizedBox extends SingleChildRenderObjectWidget { // 创建固定大小的约束Box const SizedBox({ Key key, t

Read More

开源demo| 你画我猜——让你的生活更有趣-多极客编程

随着互联网的发展,人们的很多娱乐活动从线下转为线上,随时随地地打开手机或者电脑就能和朋友们进行社交娱乐活动。在众多线上娱乐活动中,你画我猜是一款非常受欢迎的益智休闲类小游戏,拥有简单的游戏方式、可以让各年龄段的用户轻松上手、充分的调动玩家的思维创造能力。 现在anyRTC用实时音视频功能结合白板功能开发了一款你画我猜的开源demo,供广大用户来体验。 你画我猜demo主要功能 1.聊天室 进入你画

Read More

#yyds干货盘点# 关于Activity,一个初级开发应该知道的一切-多极客编程

Activity 作为一个老生常谈的话题,它是我们刚接触Android开发就遇到,虽然已有一段时间开发经验,但谈起完全搞懂Activity相关,不敢妄言,故结合个人理解及书籍参考,简单总结一下 Activity基础相关知识,其中也留出了一些有意思的问题。 大体的脑图如下(启动流程涉及的过多,暂时放在后期): Activity生命周期 基础的生命周期方法这里就不做解释了,大家刚开始接触时就是这

Read More

#yyds干货盘点# 抬头看天 | 谈谈移动端抓包方式和原理及如何防犯MITM-多极客编程

抓包对每一个开发者来说,应该说是最基本的技能之一,最近因公司需求接触了一些抓包相关,也遇到了一些奇怪的问题,于是做一个简单的记录,希望对大家有所帮助哈。 移动端常用抓包工具 工欲善其事,必先利其器 ,要抓包,怎么可能没有好的工具,对于普通抓包来说,我们有下面几个工具 Fiddler 在 windows 环境非常好,提供了一系列抓包方式及后续的脚本,划重点,脚本,这也是众多人喜欢的原因。 注意

Read More

#yyds干货盘点#写给Android开发者的芯片知识-多极客编程

​写给Android开发者的芯片知识作为 Android 开发者,免不了要处理 arm、armv7a、armv8a、x86 等架构适配,加上今年各个行业都遇到了“缺芯”的困扰,以及美国对华为的芯片制裁,制裁的是什么技术?本文尝试讲清楚下面几个问题:​ Android动态库适配到底在适配什么?1. Android动态库适配到底在适配什么?2. CPU、架构、指令集、芯片之间的关系和联系;3. arm

Read More

【Flutter 专题】65 图解基本 TextField 文本输入框 (二) #yyds干货盘点#-多极客编程

      小菜刚学习了 TextField 的基本用法,今天特意学习一下 TextField InputDecoration 文本框装饰器的相关内容; InputDecoration 源码分析 const InputDecoration({ this.icon, // 装饰器外小图标 this.labelText, //

Read More

#yyds干货盘点# JetPack | Hilt-依赖注入框架上手指南-多极客编程

Hilt 是Google 最新的依赖注入框架,其是基于Dagger研发,但它不同于Dagger。对于Android开发者来说,Hilt可以说专门为Android 打造,提供了一种将Dagger依赖项注入到Android应用程序的标准方法,而且创建了一组标准的组件和作用域,这些组件会自动集成到Android应用程序的各个生命周期中,以简化开发者的上手难度。 在学习本文之前,假定大家已经了解依赖注

Read More

【Flutter 专题】64 图解基本 TextField 文本输入框 (一) #yyds干货盘点#-多极客编程

      小菜最近在学习基础的 Flutter Widget,原因在于很多基础的组件有很多容易忽视的注意事项,了解并熟悉后对整体的开发认知会有所提升;今天小菜学习一下 TextField 文本输入框; 源码分析 const TextField({ Key key, this.controller, // 控制正在编辑文本 this.f

Read More