- 博客(243)
- 资源 (59)
- 收藏
- 关注
原创 Webview交互实战
随着现在hybird的开发模式的进行,Native与web的交互变得尤为重要。今天的内容我将围绕native与js的交互展开。内容分为如下部分:(1)webview 加载界面(2)android调用javascript(3)javascript调用android(4)android调用javascript,并获取返回值(5)javascript调用android所在线程
2016-12-08 11:59:57 1059
转载 WebView加载优化
在做混合应用的时候,有几个痛点,一个是无网络无法使用,还有一个是受网络环境影响的网页加载速度。今天就这两个问题,和大家交流一下自己的经验。离线缓存这个比较容易,开启webView的缓存功能就可以了。WebSettings settings = webView.getSettings();settings.setAppCacheEnabled(true);settings.setDa
2016-11-22 11:40:52 1210
原创 Android轻松搭建MVP + Retrofit + RxJava(MR篇)
上周给大家分享带来了一篇很实用的UI实战的文章(Android实现列表抽屉展示效果),接下来我想用一周的时间用大概两篇文章的内容和大家分享关于MVP + Retrofit + RxJava架构模型(思路和demo正在整理中...)关于什么是MVP,什么是Retrofit,什么是RxJava的问题,网上很多优秀的博客已经介绍的很详细了,我想以框架之间的关系以及运行的流程为主要方面来和大家分享如何
2016-11-14 17:32:58 3415 2
原创 Realm-Android
本篇博客给大家带来一篇关于Android 数据库的内容。Android中的数据库,我们的老朋友-SQLite,想必大家都不陌生。轻量级的SQLite以及Android为我们封装的SQL操作,让开发者操作数据库变得异常简单。但是,频繁的编写SQL语句让我们仍然痛苦不堪。渐之,ORM的出现改变了这种格局(ORM,对象关系映射)。ORM的出现,让开发者可以在不关注SQL语句的情况下,以面向对象的方式...
2016-11-05 19:44:24 1739 1
原创 使用Glide快速实现毛玻璃效果
Glide下载图片想必大家都知道了,今天我和大家分享一个使用Glide下载完成后自动毛玻璃的实践。1.引用Gradle: compile 'jp.wasabeef:glide-transformations:2.0.1' 引用后Glide会自动被添加进去,所以不需要我们再去单独引用Glide。2.下载图片: Glide.wi
2016-10-14 17:46:17 5542
原创 高仿途牛App下拉顶部滑出更多
因为爱情,我穿梭在深圳和成都之间。坐飞机也成了家常便饭。现在旅游的App可谓已经很多了,携程,去哪,途牛。个人三个都用过,感觉途牛的体验还是比较不错的,个人体验,仅供参考。好了,上面的一段扯淡衬托了我今天要和大家分享的一个功能效果,在途牛App的行程玩法Fragment界面,点击进入查看详情界面后,有这样的一个效果:
2016-09-25 21:12:48 1234
原创 Android Intent Flag组合使用
关于Android Intent启动Flag的分为以下几种:(1)FLAG_ACTIVITY_SINGLE_TOP(2)FLAG_ACTIVITY_CLEAR_TOP(3)FLAG_ACTIVITY_NEW_TASK(4)FLAG_ACTIVITY_CLEAR_TASKFlag的使用为两者组合使用。下面来看组合方式:(1)FLAG_ACTIVITY_NEW_TASK 和 F
2016-09-19 16:49:43 1897
原创 Android多渠道打包实践
今天来和大家分享的内容是在AS下实现多渠道打包。关于如何打包APK的流程以及如何生成keystore或者jks文件本篇博客不会涉及。首先,在我们要上线App的最后一步就是打包APK。国内众多市场导致我们需要分开针对不同市场来进行对应事物分析。该如何一次性生成对应市场的apk呢?下面我会和大家分享两种打包方式,两种方式的不同之处在于一种是手动配置,一种是UI界面操作,原理相同。(1)在a
2016-09-19 15:48:47 599 1
原创 Android关于沉浸式的个人理解
之前的项目中玩过几次沉浸式的设计。最近看了hongyang和郭神的关于沉浸式的介绍,又有了新的认识。遂整理之。Android机型的原因,我将分成两部分,(1)4.4之后5.0之前的版本。 在4.4之后,Android提供了windowTranslucentStatus属性,该属性可以将statusbar即状态栏设置成半透明的状态效果。我们只需要在values-v19下添
2016-09-12 12:47:49 595
原创 Android封装ShareSDK分享功能
之前App中的分享平台有4个:QQ,WeChat,Sina,WeMoment,采用的ShareSDK第三方分享平台。因为App中好几个界面都有分享的功能,初期没有进行对ShareSDK的分享进行封装,所以导致每次需要使用的时候代码都是重复性的工作,而且在Activity显得很臃肿。所以抽时间对ShareSdk的分享功能进行了二次封装。首先来看下封装后的使用方式:(1)获取实例
2016-09-08 15:10:57 2244
原创 Android WebView加载TTF字体
今天偶遇一需求,需要设置WebView的字体和Android中的TTF字体相同,下面我将和大家分下下如何在WebView中设置外部TTF字体。很简单,相信玩过CSS的童靴都熟悉下面的代码:@font-face { font-family:myfont; src:url('/assets/fonts/myfont.TTF')}大家都知道,TTF字体我们一般都是放在asset
2016-09-01 17:06:09 5870 14
转载 Retrofit 分析 - 经典设计模式案例
原文链接:http://www.jianshu.com/p/fb8d21978e38本篇是 retrofit 番外篇。只讲 retrofit 中的设计模式以及我个人的理解与延伸。 —— 由 Stay 分享如果你还不知道Retrofit,没关系,okhttp你总知道吧。retrofit就是对okhttp再做了一层封装。你只需要通过简单的配置就能顺利使用retrofit来做
2016-08-31 17:49:22 786
原创 Logcat完美输出
平时我们在打印服务器返回的json字符串时,如果长度超过了4K,那么AS将会去掉超过的部分,该如何解决呢?试试下面的工具类吧:/** * Created by Song on 2016/8/31. */public class Debug { public static void logE(String tag, String content) { int
2016-08-31 12:20:06 647
原创 项目中快速搭建Retrofit
本篇博客将和大家分享如何在项目中快速搭建Retrofit。关于Retrofit的基本使用方法网上的例子很多,大家可自行参考,这里,我也给大家分享几个比较好的入门文章,仅供参考:https://gold.xitu.io/entry/57a97dc38ac247005f4306ddhttps://gold.xitu.io/entry/579f1749a633bd006009eca4今天
2016-08-31 11:11:28 508
原创 使用bringToFont实现标签切换
xml version="1.0" encoding="utf-8"?>xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation
2016-08-30 14:11:12 1110
原创 仿当当App首页按钮渐变动画效果
昨天群里有个朋友说当当App首页顶部的那几个按钮渐变动画效果如何实现。然后果断安装了当当App,打开查看下是什么样的动画。来看下当当App首页:可以看到当我滑动一些距离后,顶部三个浅红色的按钮从右边第一个依次以从小到大的,然后再恢复到原大小的动画效果。还不能体会的朋友可以安装当当的App亲自体验一下。我们都知道Android为我们提供了三种动画实现,我之前写过动画的系列博客,分别讲解了
2016-08-05 10:25:08 2125 1
原创 Android实现Facebook第三方分享
最近项目需要集成Facebook的分享功能,在网上看了一些实现例子,用的方法感觉比较老了。Facebook最新的Api已经换了很多。下面我就将最新的集成方式分享给大家。facebook官方提供的集成方式已经很清晰了,我们只是对其进行了封装。想具体了解的可以去看下 facebook集成官网 官网需要翻墙才能browse。下面来看下我们的封装类:/** * facebo
2016-08-03 14:47:52 10622 19
原创 Android带你实现门票布局效果
今天带给大家一个门票布局的效果。直接看图吧:上图展示了一个门票列表的界面,可以发现每个Item的四个角都是凹下去的。并且图片左边上下两个角也是凹下去的。我们该如何实现这种效果呢?有朋友可能会说UI肯定会给一个这样的背景图片的。嗯,使用这样的图片肯定没问题,缺点就是加在多了占据内存而已。可是Photo的左上和左下也是要这样的圆角哇。该怎么办呢?基于这种需求,我们可以变换一种方式来
2016-07-27 22:15:46 1691 1
转载 手机端QQ登录openid与网站端QQ登录openid不一样
第三方登录,当web端和移动端数据需要进行同步的时候发现 同一个QQ,通过手机端第三方登录进去,和通过网站登录进去,因为openid不一样,会生成两个用户。微信: 独有的 unionid机制, 用户唯一标识符,同个开发账号下的应用 有个unionid是一样的微博:更简单, web + 移动统统使用 uid做为用户唯一标识QQ : 创建的web端应用产生一个 APP ID 以及一个
2016-07-25 11:13:11 3246
原创 Android实现快速高斯模糊
高斯模糊想必大家都听说过,百度百科对于高斯模糊的解释为:高斯模糊(英语:Gaussian Blur),也叫高斯平滑,是在Adobe Photoshop、GIMP以及Paint.NET等图像处理软件中广泛使用的处理效果,通常用它来减少图像噪声以及降低细节层次。所谓"模糊",可以理解成每一个像素都取周边像素的平均值。在Android中实现快速高斯模糊,我们采用StackBlur开源的FastB
2016-07-21 13:49:27 2370 2
原创 Handler的三种交互场景
前些天有朋友问了我一个问题,他说他在面试平安的时候,面试官问了一个这样的Question:Handler有哪三种交互场景?其实,当我听到这个问题的时候,我脑海中闪现的想法是面试官其实在考Handler在子线程的实现方式。没错,其实Handler的三种交互方式可以分为如下:(1)在子线程中使用Handler向另一个子线程发送消息。(2)主线程发送消息到子线程。(3)子线程发送消息主线
2016-07-18 22:27:14 2432 1
原创 理解事件分发和冲突的实战技巧
今天我将和大家一起唠唠Android中如何处理平时我们常见的事件冲突,我将以实战性的方式来和大家分享。同志们坐好了吗? 开车!
2016-07-10 12:25:21 749
原创 MVP:有呼吸的Android架构
想必大家对MVP框架都比较熟悉了,今天和大家分享几个在MVP框架中比较核心的要点。思考几个问题:(1)后台异步处理任务没有完成,presenter会持有View的引用,此时返回退出了Activity,后台异步的动作不会立即停止,这里就会有内存泄漏的隐患。解决方案:在presenter中加入管理view生命周期的方法。方案原理:presenter中增加了类似的
2016-06-16 12:41:03 965
原创 PopupWindow踩坑解决方案
在我们开发App的过程中,难免会有需求涉及到PopupWindow的使用。最基本的创建方式: window = new PopupWindow(contentView, ViewGroup.LayoutParams.WRAP_CONTENT,ViewGroup.LayoutParams.WRAP_CONTENT, true);最后一个参数为boolean类型,即设置Popu
2016-06-13 11:52:39 3028 1
原创 AndroidSlidingUpPanel简析
最近在项目中需要使用到类似托盘的滚动效果,github search后找到了AndroidSlidingUpPanel。github上作者对该项目的介绍如下:This library provides a simple way to add a draggable sliding up panel (popularized by Google Music and Google Maps)
2016-05-30 15:07:36 11778 12
原创 Android 手机拍照适配攻略
在App的开发中,我们难免会碰到一些跟拍照有关的需求,例如头像上传更新。一般该需求分为两种:(1)启动手机图库相册选取。(2)启动手机相机进行拍照。由于Android手机中国市场的鱼龙混杂,很多手机厂商Rom的原因,导致了在手机拍照功能的存在了一些差异。这些差异的不同,导致我们在开发过程中需要分别去处理这些情况。今天,我们就一起围绕在Android手机中如何对各手机的拍照功能做到适配。
2016-05-23 12:54:54 691
原创 玩转Android Handler
Handler,一个我们平时再熟悉不过的名字。说到Handler,有时让我们开心,有时也让我们对它感到厌恶。这篇文章,我将和大家简单分享下Android 中Handler的使用以及对Handler的机制的解析,内容大概分为两部分:1.从源码角度分析Handler的执行流程。2.实际运用中如何正确使用Handler避免造成OOM。 大家都知道,由于An
2016-05-16 17:56:28 1368
原创 Android性能优化 一 优化小结
在前几篇的博客中,我从SQLite数据库、布局、数据处理,网络等方面和大家分享了一些优化的知识。本篇博客,我将以小结的方式和大家一起回顾在Android 性能优化方面的一些注意细节。首先,我们从Android数据库-SQLite来分析了在操作数据库时我们可以优化的地方,我将其分为了两部分,分别是:(1)索引(2)事务其实这两部分在任何数据库中都是存在的。索引的建立,帮助我们
2016-05-10 10:52:38 1114
原创 Android性能优化 一 网络优化
在上一篇博客中,我和大家一起探讨了在Android中对SQLite数据库的操作优化细节。还没有看的点击这里:Android性能优化 一 数据优化今天我们就网络方面的优化和大家分享。1.连接服务器不用域名,直接使用IP这种方式可以省去中间解析DNS的过程,首次域名解析一般需要几百毫秒,直接使用IP则可以省去这部分时间并且可以预防域名劫持所带来的危险。2.获取数据优化(
2016-05-10 10:31:07 1084
翻译 Android ButterKnife
介绍1.ButterKnife中,在你的View或布局上使用注释@Bind来标示,它会自动将ID字段和View进行绑定。class ExampleActivity extends Activity { @Bind(R.id.title) TextView title; @Bind(R.id.subtitle) TextView subtitle; @Bind(R.id.fo
2016-04-18 11:39:39 2712 1
原创 Android动画之旅-Android动画总结
在上篇博客,我们使用Android属性动画和Scroller实现了实现下拉式窗帘动画和上拉式抽屉动画,并从源码角度分析了Scroller的原理。还没有看的小伙伴点击这里:Android动画实战 一 实现下拉式窗帘动画和上拉式抽屉动画本篇博客,我将对Android动画做一个总结性的概括,但并不会详细的去分析每个动画,如果还不了解Android动画的小伙伴可以看我之前写的文章:Android动
2016-04-16 13:42:10 1688
原创 Android动画实战-仿简聊App动画菜单
在上一篇博客中,我们分析了Android中四大动画的基本介绍、使用方法、特征。还没有浏览的童靴看这里:Android动画之旅一Android动画基本介绍本篇博客,我将和大家一起使用Android动画来实现一个简单的实例:仿简聊App动画菜单。其实在好多App中都有使用了该动画的菜单。好啦,开始我们今天的主题。首先,我们先来看一下要实现的效果,因为没有做成gif图,所以我分成了两部分来展示:
2016-04-14 16:40:34 5237 14
原创 Android动画之旅-开篇动画简介
Duang~! Duang~!Duang~!哈哈,亲爱的小伙伴们,看到上面这句话你有木有联想到什么呢?没错,之前成龙大哥代言的一个很火的洗发露广告词。为什么要用三个词来开启我们Android动画之旅呢,原因很简单,Android动画就像这几个词一样,给我们带来了数不清的Duang~ Duang~ Duang~的精彩。同时,我也希望小伙伴们也能和我一起做出更加Duang!Duang!Duan
2016-04-13 15:53:24 1735
原创 AIDL旅行记之AIDL的简单使用
上篇文章中,我们简单介绍了在Android的几种IPC通信方式,以及AIDL的简单分析。还没有阅读的小伙伴猛戳这里哦:AIDL旅行记之开篇AIDL基本介绍今天我将和小伙伴们一起来探讨在Android中,我们该如何使用AIDL。使用AIDL的流程相对来说比较简单,但是细节的地方还是需要我们注意的。下面一起来看下官方文档为我们提供的创建过程:从官方文档中,我们可以看出,使用
2016-04-12 21:38:52 1256
原创 AIDL旅行记之开篇AIDL基本介绍
嗨,伙伴们,计划了一周的想法终于要在这一刻实现了。一直都想写一个博客专栏,可是总是鼓不起勇气来写,感觉自己的水量还不太够,哈哈。这次下定决心,与小伙伴们一起分享下Android中的AIDL,从此,也就有了下面的故事,我把它叫做:AIDL旅行记。 第一篇,我想以AIDL简介,什么叫AIDL介绍的方式来开始。编写博文技术有限,存在的问题还希望大家多多指正。准备好了吗,让我们一起走进A
2016-04-12 20:34:55 1125
原创 监听ScrollView滑动到最顶部和最顶部的完美实现
今天跟大家分享下在ScrollView中如何监听ScrollView是否滑动到了顶部还是最底部。这个需求一般在ScrollView嵌套ListView时会遇到,比如,在ScrollView中的ListView,需要实现分页加载的功能,就必须要监听是否滑动到了最底部。在ScrollView嵌套ListView的解决方案看这里:ScrollView嵌套ListView首先,实现监听ScrollVi
2016-03-29 15:56:27 5056
原创 Android中使用ScrollView嵌套ListView终极解决方案
在平时的项目需求中,我们难免会碰到在ScrollView中放置ListView来显示子模块内容的方式。虽然Google不推荐在ScrollView中放可以滚动的控件,但是为了实现某些功能,也可以暂且忽略这个规则。 关于ScrollView中如何嵌套ListView的解决方式,网上有很多的博文来说明这些。还不太了解的直接看过来吧:解决ScrollView嵌套ListView时,ListVi
2016-03-24 17:12:13 1157 6
原创 Android Studio中集成fresco,解决冲突的问题。
在Android Studio中集成facebook的Fresco时,按官方说的是会有support-v4包重复,可是去掉v4后依然提示包重复的问题。百思不得其解,各种调试,百度后,终于发现了问题所在,原因分为一下两点:1.如果你项目工程中使用了nineoldandroids兼容3.0的动画,那么fresco中也使用了该jar包,需要将该包移除。2.support-v7包中的support
2016-03-21 12:43:26 3415
原创 Android中使用背景设置透明度问题总结
前两天的时候,在项目中,有这么一个需求:随ScrollView的滚动改变topbar的透明度。然后我想,这还不简单,直接find布局获取background然后调用setAlpha(int alpha)方法,在ScrollView 的滚动监听中根据y坐标改变透明度,因为透明度是1~255,所以此处边界不用设置。ok,运行项目,oh my god!!当我滑动的时候,界面出现瞬间的黑影,然后字体变得模
2016-03-18 17:02:53 2389
实现下拉式窗帘动画和上拉式抽屉Android动画
2016-04-16
children在react中的应用.key
2019-12-16
React Native Modal
2017-09-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人