自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(148)
  • 资源 (1)
  • 收藏
  • 关注

原创 设计模式从入门到精通之(四)建造者模式

建造者模式(Builder Pattern)是一种创建型设计模式,它将一个复杂对象的构造过程分解为多个步骤,让客户端可以按步骤逐步构建对象,而不用关心具体的实现细节。更重要的是,它可以让你自由地定制对象的每一部分。建造者模式将复杂对象的创建与其表示分离,使得同样的构建过程可以创建不同的表示。建造者模式是一种非常实用的设计模式,特别是在需要构建结构复杂、组件多样的对象时,可以显著提升代码的灵活性和可维护性。在实际开发中,我们可以灵活地结合建造者模式与其他模式,为复杂问题找到更优雅的解决方案。观察者模式。

2025-01-12 11:43:09 551

原创 设计模式从入门到精通之(三)单例模式

在现代软件设计中,有些对象是必须确保"独一无二"的,比如程序中的配置管理器、线程池、数据库连接等。如果允许这些对象被反复创建,不仅会浪费系统资源,还可能导致程序逻辑出错。今天我们要聊的单例模式,正是用来解决这些问题的。

2025-01-03 17:36:54 793

原创 设计模式从入门到精通之(二)抽象工厂模式

在上一期中,我们聊到了工厂模式,讲述了如何用一家咖啡店来帮我们制作不同类型的咖啡。那么,如果你不仅需要咖啡,还需要配套的甜品,比如蛋糕或饼干,这时应该怎么办呢?今天我们将引出一个进阶版的工厂模式:抽象工厂模式,来解决这个问题。

2024-12-24 20:54:26 645

原创 设计模式从入门到精通之(一)工厂模式

工厂模式(Factory Pattern)是一种创建型设计模式,它通过为对象的创建提供一种统一的接口,来隐藏实例化的具体逻辑。简单来说,工厂模式就像一台机器,它为你定制化地生产出想要的东西,而不需要你自己动手去捣鼓具体的制作过程。在代码世界里,工厂模式能够帮助我们解决"简单对象创建"变成"复杂耦合代码"的问题,减少维护难度。工厂模式是最常用的设计模式之一,它的核心思想就是将创建对象的逻辑集中管理,减少代码中的重复和耦合。通过咖啡店的例子,我们可以更容易理解工厂模式的用途。

2024-12-11 19:57:33 547

原创 未来已来:Flutter引领的安卓与跨平台开发奇幻之旅

随着移动开发技术的飞速发展,跨平台开发框架如Flutter正逐渐改变着传统的安卓和iOS开发格局。作为一名资深的安卓开发工程师,我深刻感受到了Flutter带来的变革和机遇。今天,我想与大家分享Flutter在跨平台开发中的奇幻之旅,以及它如何影响我们未来的安卓和跨平台开发工作。Flutter作为跨平台开发的佼佼者,正引领着安卓和跨平台开发的未来。在Flutter引领的跨平台开发时代,作为一名开发者,我们需要不断学习和掌握新技术。虽然Flutter是一个跨平台框架,但它在安卓开发中也具有广泛的应用。

2024-05-29 20:08:26 3826 2

原创 Flutter中实现交互式Webview的方法

Flutter是一款强大的跨平台移动应用开发框架,而Webview则是在应用中展示Web内容的重要组件。本文将介绍如何在Flutter应用中实现交互式的Webview,以便为用户提供更加丰富的内容和功能。

2023-09-06 22:35:19 4641

原创 Flutter入门进阶之旅 -开源Flutter项目

该项目为纯flutter端项目,采用aar方式寄生在原生APP中,作为APP中的一个独立模块 在业务逻辑上做到与原生APP完全隔离,Flutter端开发者,可完全不用关注原生端的业务模块 两端开发彼此业务隔离,缩小了对开发人员的业务能力要求,同时也可以上flutter端开发者 快速上手到开发中去

2023-02-26 17:44:07 1165 2

原创 手写 ButterKnife:打造属于你的轻量级视图绑定工具

ButterKnife框架原理的是采用APT编译时技术,主要运用到注解+注解处理器的方式动态地为添加了BindView等注解的成员或方法生成类文件,开发者无需自己手写findViewById等等重复的代码,简化了开发者的工作量

2022-09-28 20:35:50 922

原创 VUE项目国际化处理

在大型项目开发中我们经常会遇到项目多环境,国际化(多语言切换),主题切换等常见业务场景,本篇博客分享在vue开发中借助`vue-i18n`处理国际化具体步骤。

2022-04-30 15:30:14 1467

原创 Flutter入门进阶之旅(二十三)Flutter Key

key我们可以理解为每个控件所独有的一个ID,用以识别是哪个UI。有了key,element和renderObject就会被强行重建,从而得到所见即所得的效果。key可以分为LocalKey和GlobalKey,字面上理解就是局部key和全局key。具体分类如下:iLocalKeyLocalKey 直接继承至 Key,它应用于拥有相同父 Element 的小部件进行比较的情况,也就是上述例子中,有一个多子 Widget 中需要对它的子 widget 进行移动处理,这时候你应该使用Local

2021-11-30 20:25:25 3700

原创 Flutter入门进阶之旅(二十二)Flutter自定义view

在前面的章节中我们基本完成了所有对Flutter的基础知识讲解,到目前为止通读该专栏的读者应已经具备Flutter常见开发场景以及各种基础UI组件的绘制能力,但是在日常开发中业务逻辑千差万别各种场景交替存在,这时候官方提供的各种组件就很难完全满足复杂业务需求了,好在Flutter跟Native平台一样,给开发者保留了自定义VIEW的可能,开发者可以基于不同的场景,利用Flutter平台提供的API来完成高可定制化的VIEW视图来完成各种复杂的UI界面绘制

2021-08-27 14:46:06 1860 1

原创 Flutter入门进阶之旅 - Flutter课程表View

上一节中我们一块学习Flutter生命周期相关的基本知识,了解到了在flutter中生命周期函数存在的意义以及各个不同生命周期函数的回调时机,到目前为止我们已经完成了对Flutter所有入门相关的课程学习,掌握了各种常用组件的使用方法以及使用路由来完成页面切换传递数据,还学习了在flutter中的数据存储,网络请求等一系列的相关课程。本次课程作为基础到进阶到过度篇,咱们来一块利用所学知识做一个课程表View,对Flutter相关知识点加以巩固提高,做到活学活用

2021-04-29 12:13:31 1979 4

原创 Flutter入门进阶之旅(二十一)Flutter 组件的生命周期

在前面的章节中我们从Flutter的基础组件到高阶组件由浅入深的进行了系统的巩固学习,其中还包括Flutter中的数据存储,网络请求,利用路由进行页面切换传值,经过了这一系列的知识体系学习巩固,我们基本把Flutter入门所需要储备的所有知识学习完毕,今天我们在之前课程的基础上做一期巩固提高的分享,来一起探索下Flutter中关于组件的生命周期

2020-12-29 16:09:30 13289 26

原创 Flutter开发杂谈之版本升级&版本回退

鉴于Flutter尚且在高速发展期sdk的版本的更新迭代难免会十分频繁,作为一个有追求的开发者你可能也在时刻紧跟Google的步伐,频繁的更新自己Flutter项目的sdk,但是会有这么个场景下又使得你不得不从新版本的sdk中回退到原先的旧版本

2020-08-27 09:21:20 3389 3

原创 Flutter 城市/通讯录列表字母索引联动效果实现

在像通讯录,联系人列表,城市选择列表等数据量比较多的长列表页面中国呢,我们经常会留意到产品设计会在页面的右侧区域提供一个竖向的字母索引列表,供用户点击选择快速定位到长列表中的指定索引位置,以便于用户快速定位到自己要筛选的数据,从而提升用户体验,今天我们就以`城市列表`为例,来剖析一下,这样的体验效果如果用`Flutter`来实现

2020-04-30 10:57:50 7409 2

原创 Flutter 验证码倒计时Widget封装

在日常开发过程中,像倒计时这样的场景使用的还是比较多的,比如延时完成一段逻辑,或者在启动页先加载一个闪屏广告,倒计时间到之后再进入app,更常见的场景就是我们在获取手机验证码时用于友好提示用户的等待试图。本次博文我们就一起来了解下基于flutter封装一个倒计时widget的全过程

2020-02-28 17:07:50 2034

原创 Flutter入门进阶之旅(二十)Flutter插件开发

鉴于现阶段Flutter技术栈还不是太成熟,在使用Flutter做移动端开发时我们经常需要借助Native平台的力量来补充Flutter在这方面的缺陷,前面两章我们通过学习**把Flutter项目打包成AAR集成到原生平**跟**Flutter与原生平台交互**掌握了Flutter与原生平台交互的两种方式,但是有些场景下,我们希望我们Flutter跟原生交互的代码可以`一次开发多处使用`,类似于库文件一样,可以给其他项目或者其他开发着使用,这就是我们本篇文章要介绍的主题`Flutter的开发`以及`如何

2020-01-20 14:28:36 3846

原创 Flutter入门进阶之旅(十九)Flutter与原生平台交互

经过前面章节的学习,相信读者已经对flutter有了一个整体的认识,并且也能利用flutter平台提供的一些基础组件自己写一些简单的页面逻辑,甚至有些读者可能已经在用纯flutter开发属于自己的app了,但是可能好多读者都会感觉到有些场景下或者说有些原生平台的东西从flutter端是无法获取的,比如系统版本、电池电量、动态权限申请等系统级的API,flutter并没有直接给我提供相关的API去操作,这个时候我们可能就需要通过与原生平台交互来获取这些数据。

2019-12-31 08:35:32 2608 1

原创 Flutter入门进阶之旅(十八)Flutter项目打包成aar集成到原生Android项目

前言在前面的章节学习中我们已经掌握了从最基本的·hello flutter到各种基本Widget、各种布局的使用再到多页面切换路由的使用还有各种炫酷的提示跟dialog,还有关于网络请求库Dio的使用...

2019-10-31 08:53:34 7358 4

原创 Flutter入门进阶之旅(十七)Flutter dio网络请求

前面关于Flutter的讲解部分我把关于flutter的基础入门部分带着大家梳理了一遍,那从本篇博客开始,我们开始进入新的领域,也算是给进阶篇开个头,今天我们来一块学习一下Flutter中的网络请求库--->`Dio`,关于Flutter原生带的Http使用起来不论在功能上还是扩展上都不是那么的强大,鉴于此笔者在这里推荐大家在项目中使用`Dio`封装网络请求库。关于Http的使用读者可自行查阅资料学习

2019-09-29 10:58:33 5626 2

原创 VUE父子组件之间的传值

前言使用vue进行项目开发的时候,免不了组件之间的通信。父组件传递给子组件的值,子组件可以通过props获取。子组件想要改变数据,只能通过触发事件告诉父组件。今天的分享我们就通过实例代码来看下VUE中关于父子组件传值的具体方式1.父组件向子组件传值在开篇中我们提到父组件向子组件中传值,我们通过props从父组件传递到子组件中去,下面我们就结合代码来具体看下:父组件<template...

2019-07-22 15:17:53 5581 3

原创 Flutter入门进阶之旅(十六)Scaffold 脚手架

在本栏的前面章节的学习中,我们基本上把Flutter中所有的常用布局、组件包括多页面跳转路由都介绍过了,细心的读者可能会发现在前面的课程中我们每次新建一个Flutter Page的时候都会在根布局的build方法中直接return一个Scaffold然后,再通过配置Scaffold中的相关属性来快速的渲染页面布局:没错Scaffold的出现就是为了帮助我们实现基本的 Material Desig...

2019-05-17 14:38:26 3137 2

原创 Flutter入门进阶之旅(十五)ListView下拉刷新&上拉加载更多

上期回顾在上一篇博文中我们在介绍ListView跟GridView的时候,限于篇幅问题我们只讲解了此二者的简单的使用方法说明,关于一些在实际开发中更常用的细节问我们并没有来得及跟大家展开讲解,比如我们在使用长列表的时的下拉刷新或者上拉加载更多的逻辑处理,今天的这篇文章我们就来着重分析一下在flutter中我们是如果实现长列表的下拉刷新跟上拉加载更多操作的。...

2019-04-12 10:46:28 1923 1

原创 Flutter入门进阶之旅(十四)ListView&GridView

在之前讲Layout Widget的文章中,我们掌握了基于不同的场景适当的选择不同的Widget来完成我们的布局要求,但是关于长列表的数据展示我们并没有做展开介绍,而长列表的身影几乎出现在日常生活中的任意一款APP中,鉴于它的重要性,所以我想单独作为一个章节来讲解长列表Widget—ListView&amp;amp;GirdView。...

2019-04-10 12:42:34 1656

原创 WebView下拉刷新与SwipeRefreshLayout事件冲突解决

冲突分析:SwipeRefreshLayout是Android在Support.v4包中为我们提供的用户刷新UI的一个组件,大部分场景下我们会使用它包裹RecyclerView,在列表上下拖动到顶部时继续向下滑动视图触发刷新事件,我们可以通过给SwipeRefreshLayout设置OnRefreshListener通过回调方法onRefresh()来完成下拉刷新事件的监听动作。但是当我们把We...

2019-04-01 17:57:38 3002 5

原创 Flutter入门进阶之旅(十三)Flutter 路由

距离上一篇专栏已经过去好长时间了,小伙伴们都等急了吧,刚刚过了个年,笔者刚刚从吃喝睡的状态复苏回来,开始马不停蹄的进入到工作状态,题外话说的有点多,接下来我们开始进入我们本篇博文的主题Fluttter 路由。在本篇博文更新之前就有好多读者给我留言说专栏里讲到的东西都只能在一个页面上操作,涉及到多页面的时候不知道该怎么跳页或者不知道怎么给下一个页传值,那这期分享确实来的有点晚,通过本次的分享,读...

2019-02-20 15:33:58 2374

原创 Flutter入门进阶之旅(十二)Flutter 数据存储

前言之前的章节我们基本上把Flutter中基础部分的东西都做了简单的讲解,通过前面章节的循序学习读者也基本能完成一些简单的UI绘制并能利用Flutter处理一些简单的用户交互,读者可能也留意到,我们之前的章节中所学习到的内容并没有涉及到数据存储方面的操作,或者说,我们到现在为止并不知道在Flutter中数据应该怎么存,存在哪。本篇博文中笔者将会为大家解决这一疑惑。关于Flutter中的数据...

2019-01-26 14:39:41 13798 6

原创 Flutter入门进阶之旅(十一)Index&Chose

延续上一节的内容,上一节我们讲解了各种Dialog跟提示,其中包括轻量级跟非轻量级,我们了解到了像SnackBar、Tooltip、Dialog等各种具有提示交互作用的Widget,今天我们继续上一篇的内容,来一块了解一下各种用于进度显示的Widget跟checkBox等选择作用的Widget。...

2019-01-21 12:02:43 1618

原创 借助Github Page把你的React项目部署到线上环境

引言一般我们部署前端项目都会自己搭或者租用一个服务器然后把项目打包成静态文件后部署到服务器上,再购买一个域名通过ip指向具体的服务器地址之后,然后就可以把项目对应的域名提供给别人访问了,如果是公司项目或者比较大的商用项目这很合乎情理,但是如果是个人项目的话,服务器跟域名也也算是一笔不菲的开销了,今天我就给个人开发者带来一种免费部署前端项目的解决方案。我今天来讲解下利用github page...

2019-01-15 16:40:46 5356 3

原创 Flutter入门进阶之旅(十)Dialog&Toast

做原生开发的时候,我们都知道要想让一个app做的活灵活现,与用户交互时有更棒的体验,各种样式美轮美奂的对话框跟提示是必不可少的,Flutter在设计对话框的时候充分考虑到了在UI上的体验,帮助我们设计了一整套的基于material design风格的对话框以及轻量级的用于提示的widget。看完上面的效果图,读者是不是也觉得这一套UI设计给人以很棒的体验,下面我们就逐一介绍下上图中出现的常...

2019-01-15 11:15:04 2112

原创 Flutter入门进阶之旅(九)StatelessWidget & StatefullWidget

引言在前面的学习中我们接触到了flutter中各种基本组件的使用,也学习了一些常用的布局排版方式,掌握了根据不同的UI widget合理的选用不同的Layout方式进行布局,但是我们好像在前面的学习中所有的UI都是静态的,没有任何交互式的体验,换句话说我们在之前所掌握的flutter知识都是比较死板的静态UI页,缺少了那么一点灵动性,那今天这篇文章就算是一个过渡,今天我会带领大家简单认识下fl...

2019-01-05 14:39:21 2695

原创 Flutter入门进阶之旅(八)Button Widget

引言上一篇博文中我们学习了GestureDetector,了解到借助GestureDetector可以赋予某些本身不具备点击回调的widget点击回调能力,完成跟用户的一些简单手势交互并作,上一篇博客中我们也提到了有些widget像RaisedButton和FloatingActionButton控件本身就有onPressed回调,当用户点击控件时触发回调。本篇博客中我们就把各种Button归类...

2018-12-26 17:49:42 1573 1

原创 Flutter入门进阶之旅(七)GestureDetector

引言:GestureDetector在Flutter负责处理跟用户的简单手势交互,GestureDetector控件没有图像展示,只是检测用户输入的手势,并作出相应的处理,包括点击、拖动和缩放。许多控件使用GestureDetector为其他控件提供回调,比如IconButton、RaisedButton和FloatingActionButton控件有onPressed回调,当用户点击控件时触发...

2018-12-24 18:34:39 8606

原创 Flutter入门进阶之旅(六)Layout Widget

往期回顾:        前面几期的专栏对大家来说学习起来还算轻松加愉快,我们简单认识了flutter这门新技术,并且尝试着学习了像Text、Image、TextField几个简单的Widget,并且我们用这几个Widget做了一些简单的交互,好像我们并没有注重Widget的显示位置跟排版,我们只是让他显示出来而已,然后要想把这些Widget组合起来放在一个渲染到整个手机屏幕上,我们需要合理的...

2018-12-21 18:11:56 2039

原创 Flutter入门进阶之旅(五)Image Widget

往期专题回顾:      前面我们学习了Flutter中用于文本显示的Widget,比如我们显示一行或者一段基本文字会用到Text Widget,如果需要跟Text设置样式,颜色等属性,我们可以通过给Text指定style来定制TextStyle中的样式来展示我们需要的效果,对于文本输入控件,我们学习了TextField,了解到可以通过TextField完成简单的文本输入需求,可以通过Inpu...

2018-12-03 18:26:46 1806

原创 Flutter入门进阶之旅(四)文本输入Widget TextField

       上一篇文章中我们一起学习了什么是Text跟如何给Text设置字体样式以及Text Widget的一些常用属性Flutter入门进阶之旅(三) Text Widgets,通过对Text的学习我们了解到Text是用于显示文本的,如果对显示的文本有一些特殊的要求,比如字体样式,文字颜色我们可以通过TextStyle去给Text指定style来做个性化定制,这一点跟原生Android的Tex...

2018-11-29 14:37:02 3478 1

原创 Flutter入门进阶之旅(三)Text Widgets

Text Widgets是Flutter中一个十分常用的一个Widget,类似于Android平台下的TextView,几乎在每个App的UI中都会或多或少的出现它的身影,让我们去一睹Text的风采吧!简单Text使用import 'package:flutter/material.dart';void main() { runApp(new MaterialApp(home: n...

2018-11-19 13:34:21 2251

原创 Flutter入门进阶之旅(二)Hello Flutter

开题       好像几乎我们学习或者掌握任何一门编程语言都是Hello word开始的,本篇博文做为Flutter入门进阶的第一篇分享,我们也从最简单的Hello world开始,至于Flutter开发环境的配置,跟关于Dart语言的介绍,不是该专栏要讲解的内容,我就不详细做介绍了,读者可自行google或者百度了解一下。准备工作在开始之前我想先为大家介绍一下Flutter中两个常用...

2018-11-15 13:33:50 2496

原创 Flutter入门进阶之旅(一)-初识Flutter

什么是FlutterFlutter 是一个跨平台(Android 和 iOS)的移动开发框架,使用的是 Dart 语言。Flutter 的目标是用来创建高性能、高稳定性、高帧率、低延迟的 Android 和 iOS 应用。并且开发出来的应用在不同的平台用起来跟原生应用具有一样的体验。不同的平台的原生体验应该得到保留,让该应用看起来同整个系统更加协调。不同平台的滚动操作、字体、图标 等特殊的...

2018-11-14 16:15:35 4742 1

原创 WebView注入Js代码实现大图自适应屏幕点击图片预览详情

 开题:android中webview通过url加载网页时,如果web页恰巧没对手机做单独适配的话,那我们拿到的url直接通过loadUrl的方式加载到webview上很容易出现一些适配上的问题,即使你通过websetings设置网页自适应,也很难处理部分细节上的样式,特别是图片资源,部分css样式是按照pc端的适配去做的,load到手机上很容易出现样式问题,下面就拿网页上适配前跟适配后的网页...

2018-11-07 09:50:09 1413

安卓通信工具volley源码

安卓通信工具volley源码,方便的替代了httpclient

2015-04-16

空空如也

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

TA关注的人

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