聊聊Flutter - 请求接口以及DAO层的实现

Flutter 中除了布局还有最重要的网络及数据操作. Flutter的model层如何实现? class HomeModel { final ConfigModel config; final List bannerList; final List localNavList; final GridNavModel gridNav; final List subNavList; HomeModel( {this.config, this.bannerList,

阅读全文

聊聊Flutter-常用的布局与事件

Flutter 项目中常用的布局详情,及封装和使用,快速开发项目. 以及手势事件和滚动事件的使用 Scaffold 导航栏的实现,有些路由页可能会有抽屉菜单(Drawer)以及底部Tab导航菜单等 const Scaffold({ Key key, this.appBar,//标题栏 this.body,//内容 this.floatingActionButton,//悬浮按钮 this.persistentFooterButtons,//底部持久化现实按钮 this.drawer,//侧滑菜单左 this.endDrawer,//

阅读全文

聊聊Flutter-Flutter中的组件通信与状态改变

Flutter 中的组件如何通信的呢?做过Android都听说过EventBus,那么Flutter 中同样也有event_bus ,Google还是对Android开发者非常友好的.废话不多说直接进入正题 场景分析 如下图所示,场景:当我点击ListView的item时,我要改变测滑菜单中ListView中的item的字体和icon的颜色,同时要将其他的item字体和icon恢复正常的.比如:当前位置是标签,当我点击’快捷创作’时,将‘标签’的字体颜色和icon置为正常,同时改变‘快捷创作’的字体颜色和icon. 上述分析的场景,在项目中是很常见的.大家可以想想在Android中或者

阅读全文

AsyncTask的工作原理

AsyncTask它是一个轻量级的异步任务,内部封装了Thread和Handler,可以让我们在后台进行计算并且把计算的结果及时更新到UI上

阅读全文

数据结构之哈希表 Java中的经典实现HashMap分析

HashMap是最常用的Map族中的一个,Java Collection Framework 重要成员之一,HashMap 在项目中最常用到,既然HashMap如此重要,更应该了解HashMap的数据结构、实现原理、源码分析以及p如何实现快速的存取和扩容。 本文关于HashMap的源码是基于 Android 7.0的源码,不同版本的jdk 源码也会存在一些差异,这些都不重要,重点在与我们主要了解HashMap的数据结构以及原理实现。 哈希表知识回顾 在上一篇文章中讲解了Hash表的基础知识 为什么会出现哈希表? 已知顺序表(数组),查找容易,插入、删除困难消耗性能。然而链表虽然解决了顺

阅读全文

Handler 实现原理深入剖析

Android 的消息机制Handler,是在开发过程中都会用到的,它可以轻松的从子线程切换到主线程

阅读全文

NDK开发必知必会3⃣️MakeFile详解

C/C++语言基础 –> JNI编程 –> NDK编程 –> 音视频处理 –> 图像处理等等 ,从零到一 , 零基础学习NDK开发 。学习本专题 , 你需要具备一定的Android开发知识 C/C++基础, 知道如何创建一个Android工程 , 有一定的开发经验更佳 。 前言 Android.mk 的文件配置详解,能够读懂Android.mk;为何Google推荐使用cmake,而不在使用Android.mk?Android.mk存在哪些缺陷? 如何生成静态库与动态库(在上几篇文章中讲过)? Android.mk 如何配置动态库(.so文件)、配置静态库(.a文件)? 静态库与动态

阅读全文

NDK 开发必知必会2⃣️NDK开发环境配置与MakeFile

C/C++语言基础 –> JNI编程 –> NDK编程 –> 音视频处理 –> 图像处理等等 ,从零到一 , 零基础学习NDK开发 。学习本专题 , 你需要具备一定的Android开发知识 C/C++基础, 知道如何创建一个Android工程 , 有一定的开发经验更佳 。 前言 为什么需要了解MakeFile文件? Android的Android.mk就是一段段的MakeFile单元,在早期eclipse 上NDK开发用到的,很多第三方库直接提供makefile文件,我们需要能够大致读懂makefile文件,比如增量更新库的bsdiff库提供的makefile文件。现如今Google推荐

阅读全文

NDK 开发必知必会1⃣️CC++编译器配置

C/C++语言基础 –> JNI编程 –> NDK编程 –> 音视频处理 –> 图像处理等等 ,从零到一 , 零基础学习NDK开发 。学习本专题 , 你需要具备一定的Android开发知识 C/C++基础, 知道如何创建一个Android工程 , 有一定的开发经验更佳 。 前言 为什么要了解C/C++编译器? 它能够在后续移植第三框架(编译Android可用的库),编译这些库时,我们需要清楚的了解需要传递什么参数以及命令。 如何通过NDK gcc 编译出可以在手机上运行的可执行文件? 如果通过NDK gcc 编译出动态库.so 文件 环境 本文使用的环境: 我是在Mac上写的。

阅读全文

JNI编程-动态注册及native线程调用Java

C/C++语言基础 –> JNI编程 –> NDK编程 –> 音视频处理 –> 图像处理等等 ,从零到一 , 零基础学习NDK开发 。学习本专题 , 你需要具备一定的Android开发知识 C/C++基础, 知道如何创建一个Android工程 , 有一定的开发经验更佳 。 本篇主要讲解JNI的一些高级写法和线程,文章内容都非常简单。 JNI_OnLoad 上一章讲的JNI 编程详解 Java 要调用C++的方法,都要写一大长串比如: extern "C" JNIEXPORT void JNICALL Java_com_jnimode1_MainActivity_updateGolbal

阅读全文