自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 资源 (6)
  • 收藏
  • 关注

原创 Flutter常用组件-基础组件之Button

Flutter 中的按钮组件介绍Material 组件库中提供了多种按钮组件如ElevatedButton、TextButton、OutlineButton等,它们都是直接或间接对RawMaterialButton组件的包装定制,所以他们大多数属性都和RawMaterialButton一样。在介绍各个按钮时我们先介绍其默认外观,而按钮的外观大都可以通过属性来自定义,我们在后面统一介绍这些属性。另外,所有 Material 库中的按钮都有如下相同点:按下时都会有“水波动画”(又称“涟漪动画”,就是点击

2021-12-03 22:03:27 1042

原创 Flutter常用组件-基础组件之Text

Flutter Text 组件属性属性功能textAlign文本对齐方式(center 居中,left 左 对齐,right 右对齐,justfy 两端对齐) (注意,对齐的参考系是Text widget 本身。Text 的宽度和文本内容长度相等,那么这时指定对齐方式是没有意义的,只有 Text 宽度大于文本内容长度时指定此属性才有意义。)textDirection文本方向(ltr 从左至右,rtl 从右至 左)overflow文字超出屏幕之后的处理方式(clip

2021-12-03 17:34:50 2475

原创 Flutter路由管理

路由管理路由(Route)在移动开发中通常指页面(Page),这跟 Web 开发中单页应用的 Route 概念意义是相同的,Route 在 Android中 通常指一个 Activity,在 iOS 中指一个 ViewController。所谓路由管理,就是管理页面之间如何跳转,通常也可被称为导航管理。Flutter 中的路由管理和原生开发类似,无论是 Android 还是 iOS,导航管理都会维护一个路由栈,路由入栈(push)操作对应打开一个新页面,路由出栈(pop)操作对应页面关闭操作,而路由管理主

2021-12-03 16:55:48 1452

原创 Fluttee框架介绍 Flutter基础

Widget 概念在Flutter中几乎所有的对象都是一个 widget 。与原生开发中“控件”不同的是,Flutter 中的 widget 的概念更广泛,它不仅可以表示UI元素,也可以表示一些功能性的组件如:用于手势检测的 GestureDetector 、用于APP主题数据传递的 Theme 等等,而原生开发中的控件通常只是指UI元素。在后面的内容中,我们在描述UI元素时可能会用到“控件”、“组件”这样的概念,读者心里需要知道他们就是 widget ,只是在不同场景的不同表述而已。由于 Flutter

2021-12-03 16:14:08 2387

原创 创建一个简单Flutter App

创建flutter工程打开Android studio(简称AS)>File>New>New Flutter Project 一路Next就可以运行Flutter App或者在终端中执行flutter run运行到手机上如下工程介绍Flutter项目主要分为Android,iOS,lib,pubspec.yaml这四个,其中lib下就是用来flutter开发的,我们的dart文件就放在这里,pubspec.yaml文件就是flutter的构建管理工具,就跟gradle中

2021-12-01 20:59:15 2670 1

原创 MAC配置Flutter环境

下载flutter压缩包官网地址解压缩将下载的文件解压到你自己的目录例如 Users/用户名/Library/flutter配置环境变量打开文件:vim $HOME/.bash_profile添加环境变量并保存export PUB_HOSTED_URL=https://pub.flutter-io.cnexport FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cnexport PATH=/Users/用户名/Librar

2021-12-01 20:09:10 1826

原创 仿豆瓣Flutter项目实践教程

闲来无事,听说谷歌发布了Flutter稳定版,下面就先看一下DemoApp实例。下拉刷新,上拉加载,列表展示多tab切换嵌入webview展示详情页与原生交互,实现分享自定义控件效果图:Github地址:https://github.com/githubyzd/FlutterDemo...

2019-01-18 16:53:32 747

原创 JAVA设计模式之-装饰者模式

定义装饰者模式:在不改变原类文件以及不使用继承的情况下,动态地将责任附加到对象上,从而实现动态拓展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。设计原则开放-关闭原则:类应该对拓展开放,对修改关闭类图1、Component是基类。通常是一个抽象类或者一个接口,定义了属性或者方法,方法的实现可以由子类实现或者自己实现。通常不会直接使用该类,而是...

2018-07-17 17:38:15 225

原创 设计模式之策略模式

在软件发开过程中,成成会遇到这样的情况,实现某一个功能有多种算法或者策略,我们可以根据环境或者条件的不同选择不同的算法或者策略来完成该功能。那么就要在运行的时候进行更改,如果我们需要新增一种算法过着策略来实现改功能,就要去改动原来的代码。这样一来就失去了扩展性。这种情况就会用到策略模式了。策略模式简介:策略模式:定义一系列的算法,把每一个算法封装起来, 并且使它们可相互替换。本模式使得算法可独立于

2017-11-29 15:40:45 215

原创 Android弹窗合集(PopupWindow,dialog)

PopupWindow弹窗顶部弹窗中间弹窗 底部弹窗 跟随View弹窗 实例1:底部分享弹窗 实例2:底部拍照弹窗 实例3 Loading弹窗 DIALOG弹窗系统dialog提示框 列表框 等待框 单选框 多选框 进度条弹窗 输入框 以上均为系统原生的dialog弹窗,下面展示自定义dialog弹窗自定义提示框 自定义输入框

2017-09-18 10:24:33 1340

原创 EventBus 3.0源码解析

1.简介想必每个入了门的Android开发者都多少对EventBus有过了解,EventBus是一个Android事件发布/订阅框架,通过解耦发布者和订阅者简化 Android 事件传递。EventBus使用简单,并将事件发布和订阅充分解耦,从而使代码更简洁。一直以来很受开发者的欢迎,截止到目前EventBus的安装量已经超过一亿次。足以看出EventBus有多么的优秀。网络上有很多的大神已经写了不

2017-09-14 18:08:12 374

原创 设计模式(二)观察者模式(Head First)

说起设计模式,那就不得不提一下观察者模式,在android中,观察者模式使用频率还是很高的,比如我们经常用的onclickListener()就是采用的观察者模式实现的。那么观察者模式到底是什么呢,有什么作用,使用它会带来哪些便利?下面就来详细看一下这个伟大的模式。观察者模式简介定义定义了对象之间一对多依赖,这样依赖,当一个对象改变状态时,它的所有依赖者都会受到通知并自动更新。 Subject:抽象

2017-09-13 18:42:34 309

原创 设计模式(一)你不知道的单例模式

定义:保证一个类仅有一个实例,并提供一个访问它的全局访问点。单例模式结构图: 单例模式有多种写法各有利弊,现在我们来看看各种模式写法。饿汉模式public class Singleton { private static Singleton instance = new Singleton(); private Singleton (){ }

2017-09-13 11:29:49 242

原创 # Android微信支付接入

Android微信支付接入一、 前期准备申请开发者账号 在微信开放平台申请一个开发者账号,并开通开发者资质,一年300人民币,这个资质如果不开通就无法获取微信支付的功能。 申请应用点击创建应用,创建一个移动应用 获取支付权限 这里需要绑定微信商户号,微信商户号需要单独申请。这些工作一般都是商务人员来做。 前期准备资料链接: https://open.weixin.qq.com/cgi-

2017-08-25 17:45:36 372

原创 android百度地图设置logo,缩放按钮,指南针的位置

我们在使用百度地图的SDK时,有时地图上的logo,缩放按钮以及指南针的位置可能与我们自己的空间位置发生冲突,这就需要去手动调节这些小控件的位置以及是否显示等问题。设置指南针的位置: android.graphics.Point point = new android.graphics.Point(100,260); mapView.getMap().setCompassPosition(poi

2017-05-11 14:46:36 3598 1

原创 百度地图定位功能的使用

前期准备申请秘钥 http://lbsyun.baidu.com/apiconsole/key 配置环境下载SDK定位SDK,将jar包和so库拷贝到项目中使用Studio开发的人员,在build.gradle中添加以下代码sourceSets { main { jniLibs.srcDirs = ['libs']

2017-05-10 11:08:28 528

原创 WebView隐藏滚动条,隐藏缩放按钮,适应手机的分辨率

滚动条不显示: webView.setHorizontalScrollBarEnabled(false);//水平不显示 webView.setVerticalScrollBarEnabled(false);//垂直不显示隐藏缩放按钮:settings.setDisplayZoomControls(false);适应手机的分辨率://这方法可以让你的页面适应手机屏幕的分辨率,完整的显示在屏幕上,可

2017-05-09 11:24:10 2837

原创 Android获取/设置WebView的用户代理

Android 原生app中嵌入了 H5网页,这些H5网页直接引用的为手机浏览器开发的网页,但是app中的页面和逻辑操作和收留浏览器中的会有一定的差别,那么久需要进行判断是否是在app中加载的。使用用户代理来区分是最简单也是最准确的。获取WebView的默认用户代理 WebView webView = (WebView) findViewById(R.id.webview); WebSetti

2017-05-05 11:49:05 1242 1

原创 讯飞语音接入流程

语音识别技术在近几年可以说是飞速的发展,很多app种也接入了语音识别的功能。一般都是接入的第三方品台来进行语音的识别,几户没有公司会为了实现一个语音的功能来开发一套自己的语音识别技术。在市面上的语音识别技术,讯飞的技术在行业内可以说是顶尖的。下面就来介绍一下接入讯飞语音的流程。前期准备去讯飞开放平台注册账号并申请新的appId。下载sdk,根据平台和需求来下来对应的sdk下载地址:http://

2017-05-04 14:48:12 3075

原创 友盟分享实现第三方平台分享

本片博客主要介绍了使用友盟sdk实现第三方平台的分享功能,以集成QQ,QQZONE,微信,微信朋友圈为例讲解。前期准备申请友盟开发平台的账号,并申请appkey申请微信开发平台的账号,腾讯开发平台的账号,并创建应用,得到appid和appKey。 申请账号的流程已经在上一篇文章中介绍了,这里就不在过多啰嗦了。请参考: http://blog.csdn.net/qq_27942511/arti

2017-05-04 13:17:13 1338

原创 友盟第三方登录实现QQ和微信登录

前言市面上的app大部分都可以使用qq,微信这些第三方平台的账号来登录,这样可以提高用户体验,避免手工输入账号和密码的麻烦。那么第三方登录的原理到底是什么,以及使用友盟这个平台怎样实现qq和微信的联合登录?下面就来开始本片文章的正文。原理使用第三方登录,通过访问第三方平台,拿到QQ、微信的用户id,拿着第三方平台平台(QQ、微信)返回uid或者openid这些用户的唯一标识,然后拿着这些唯一标识访问

2017-05-04 10:52:25 23785 1

原创 WebViewJavascriptBridge的简单封装

前言上篇介绍了WebViewJavascriptBridge框架的使用,本片文章会对这一框架进行封装,使用起来更加的简单明了。具体介绍项目结构图:对于框架这里就不多介绍了,主要说一下改动的地方,如果对原来的WebViewJavascriptBridge框架有什么不了解的可以查看http://blog.csdn.net/qq_27942511/article/details/70923176JS→

2017-05-03 12:57:06 636

原创 WebviewJavascriptBridge的使用与介绍

上一篇简单介绍了Androi与前端H5 js的交互方式,那些方式对于一些简单的交互足够了,但是如果涉及到复杂的交互就很乏力,下面就来介绍一个Github上用来处理Android与js较复杂的交互的框架。 框架地址: https://github.com/jesse01/WebViewJavascriptBridge步骤:下载代码,找到WebViewJavascriptBridge文件夹,注意这

2017-04-30 22:31:33 1452

原创 java与js交互,相互调用传参

前言随着前端技术的发展与H5的广泛使用,移动端采用native+h5的方式越来越多了,对于Android来说就涉及到java与js的交互,相互调用传参等。下面就来看一下java与js交互的简单demo。方式实现js调用java有四种方式:1.JavascriptInterface2.WebViewClient.shouldOverrideUrlLoading()3.WebChromeClient.o

2017-04-25 17:02:57 13971

原创 Android支付宝支付

背景当下最流行的第三方支付平台就是支付宝和微信了,这种第三方支付的方式以其极大的方便快捷性,被广泛的使用,如今各大app中都接入了这种模式。官方地址https://doc.open.alipay.com/docs/doc.htm?spm=a219a.7629140.0.0.SAJ1pf&treeId=204&articleId=106079&docType=1前期准备在支付宝平台注册账号在开发

2017-04-21 16:29:39 999

转载 Rxjava讲解

原文地址:http://gank.io/post/560e15be2dca930e00da1083 感觉这个文章还不错,放在这里方便查看

2017-03-07 15:22:56 182

原创 CoordinatorLayout实现view的联动效果

CoordinatorLayout是Material Design包中的用来协调子View的位置,实现联动的动画效果,实现了许多滚动效果 首先添加依赖 compile 'com.android.support:design:22.2.0' compile 'com.android.support:recyclerview-v7:22.2.0' compile 'com.and

2017-03-03 15:35:15 1048

原创 Android DrawerLayout+ToolBar+NavigationView实现侧滑菜单效果,沉浸式状态栏

最近看到很多APP都使用了Android Support Library的DrawerLayout实现侧滑效果,下面我就自己写了一个Demo来实现,其中还用到了Toolbar,NavigationView,沉浸式状态栏效果先看效果图 添加依赖 compile 'com.android.support:design:24+'首先是布局文件,一共有四个xml文件两个me

2017-03-02 16:56:50 3192 3

原创 一键打包出多个不同包名,不同应用名称和图标的APK

此Demo的原理与多渠道打包的原理相同(动态设定App名称,应用图标,替换常量,更改包名,变更渠道)最近有一个需求,就是一套代码要根据不同的客户打包出不同包名,不同appName,图标的apk,如果一个客户更改一次打包出一个apk的话效率非常的低,并且不利于维护本demo的软件环境是AS,ES现在已经逐渐被AS取代,所以后期都会转向AS开发 主要工作就是修改moudle中的build.grad

2017-01-09 10:41:46 3236 8

原创 增量更新实践

定义所谓的增量更新,区别于传统的更新方式,将新的apk全部下载下来后安装覆盖掉旧的版本,增量更新只需要下载一个差分包即可,然后把下载的差分包和原来旧的apk进行合成,生成一个新的apk,这样就可以极大的减少升级新版本所需要的流量,下面就通过一个简单的demo来了解一下什么时增量更新。如果想更深层次的了解增量更新的原理,可以参考下面两个博客 http://blog.csdn.net/hmg25/a

2016-12-26 15:53:14 320

原创 动态加载案例

定义所谓的动态加载就是动态的执行不通的代码,只需要将最新的代码放在服务器上即可,避免了频繁的更新apk,提高了用户的体验分类Android项目中,动态加载按技术实现上的区别大致可以分为两种:一 . 动态加载.dex/jar/apk(现在动态加载普遍说的是这种) - 步骤(以动态引用APK文件为例子): (1)编写Remote工程——新建一个Remote项目,并在其中

2016-12-19 22:33:41 439

原创 浅谈EventBus框架的使用

1.EventBus的作用EventBus是一款针对Android端优化的发布/订阅消息总线,它简化了应用程序内各组件间、组件与后台线程间的通信。其主要功能是用来替代传统的Intent、Handler、BroadCast,在Fragment、Activity、Service以及线程之间来传递消息。2.使用教程使用studio开发的同学直接在build.gradle依赖一些即可,目前最新版本应该是3.

2016-12-06 16:49:23 361

原创 Android中常见的数据加密和编码方式

要点1:MD5算法(单向加密)MD5即Message-Digest Algorithm 5(信息-摘要算法5),用于确保信息传输完整一致,是计算机广泛使用的杂凑算法之一(又译摘要算法、哈希算法)。MD5算法将数据(如汉字)运算为另一固定长度值,是杂凑算法的基础原理,MD5的前身有MD2、MD3和MD4。MD5算法具有以下特点:1、压缩性:任意长度的数据,算出的MD5值长度都是固定的。 2、容易

2016-12-06 10:21:06 1645

原创 Frament的使用教程-回退栈

管理Fragment回退栈与Activity的任务栈类似,可以通过维护一个回退栈来保存每次Fragment事务发生的变化,如果在add或replce的时候调用了addToBackStack(),将被替换的Fragment添加到了回退栈,那么点击返回按钮时就会看到上一次保存在回退栈中的Fragment;如果回退栈中没有保存的Fragment则退出当前的Activity 这里注意的是以及添加到了回退栈

2016-12-03 16:02:15 396

原创 Fragment的使用教程

1,Fragment的作用Fragment作为Activity的一部分有自己的生命周期方法,但是会受Activity的影响。主要作用可以用来做屏幕适配,一套代码可以用于平板电视已经手机上,只需更改不同的布局即可。Fragment可以自己接受处理用户的点击触摸事件,你可以动态的添加移除替换Fragment,来达到你的要求。主要用来一个Activity中有多个模块的时候讲不通的模块交给不通的Fragme

2016-11-30 21:52:43 569

转载 ScrolView和RecyclerView嵌套使用的问题

我们的recyclerView有多个layoutmanager,通过重写layoutmanager的方法就可以让recyclerView和ScrollView嵌套了。但是请注意,如果recyclerView很长那么强烈不建议去做嵌套,因为这样recyclerView会在展示的时候立刻展示所有内容,效率极低。本文的两部分代码来自一个博主的博客,另一个是我自己写的,正好可以完全适用于现有的la

2016-07-31 10:33:48 303

转载 四种方案解决ScrollView嵌套ListView问题

本帖最后由 echohe 于 2014-4-9 10:13 编辑以下文章转自@安卓泡面在工作中,曾多次碰到ScrollView嵌套ListView的问题,网上的解决方法有很多种,但是杂而不全。我试过很多种方法,它们各有利弊。在这里我将会从使用ScrollView嵌套ListView结构的原因、这个结构碰到的问题、几种解决方案和优缺点比较,这4个方面来为大家阐述、分析、总结。

2016-07-30 14:30:22 142

Android弹窗合集

整合Android弹窗代码,分别使用PopupWindow和Dialog实现常用的弹窗效果。 整合Android弹窗代码,分别使用PopupWindow和Dialog实现常用的弹窗效果。

2017-09-18

tomcat 7.0 免安装版

tomcat 软件 64and 32位

2017-08-28

java+js交互Demo

java与js交互讲解

2017-05-03

WebViewJavascriptBridge框架

介绍js与java的交互框架WebViewJavascriptBridge,实现android与h5的混合式开发

2017-05-03

WebViewJavascriptBridge

对WebViewJavascriptBridge进行了简单封装,使用起来更加简单便捷

2017-05-03

侧滑效果Demo

侧滑效果Demo

2017-03-02

空空如也

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

TA关注的人

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