-
仿淘宝、京东拖拽商品详情(可嵌套ViewPager、ListView、WebView
对于电商App,商品详情无疑是很重要的一个模块,观察主流购物App的详情界面,发现大部分都是做成了上下两部分,上面展示商品规格信息,下面是H5商品详情,或者是嵌套了一个包含H5详情及评论列表的ViewPager界面,本文就是实现了一个兼容不同需求的上下滚动黏
-
干货 | 彻底理解ANDROID BINDER通信架构
一. 引言1.1 Binder架构的思考 Android内核是基于Linux系统, 而Linux现存多种进程间IPC方式:管道, 消息队列, 共享内存, 套接字, 信号量, 信号. 为什么Android非要用Binder来进行进程间通信呢? 在说到Binder架构之前, 先简单说说大家熟悉的TCP/IP的五层通信
-
Android基础知识之 Toolbar 的使用
Toolbar是Android5.0推出的,用来替代ActionBar的控件.可以高度的自定义,使用灵活.官方的ToolBar是必须在5.0以上的系统才能使用, 如果需要在低版本中使用.需要使用 support v7 包中的Toolbar. 下一是官网的Toolbar的介绍: 1 2 3 4 5 6 Toolbar extends ViewGr
-
使用SpannableStringBuilder打造超炫酷的TextView
前段时间项目中使用到了一种效果是更改textview中制定字符串的颜色.于是就查找了下资料,发现了使用 SpannableStringBuilder 可以很轻易的就实现,并不用使用自定义View.那么就直接先来个代码练练手,运行看下效果. 1 2 3 4 5 String content = NO ZUO NO DIE!
-
Android 6.0之后的动态权限
前言 在Android 6.0之前,开发Android应用程序的时,开发者需要使用什么权限只需要在 AndroidManifest.xml 文件中显示的声明即可。如下: 1 2 3 uses-permission android:name = android.permission.INTERNET / uses-permission android:name = android.perm
-
基于OkHttp的Android的http请求封装。
JWHttpWrapper主要功能 基于OKHttp的网络库,底层依赖很小,只有一个文件依赖于OKhttp,可以快速切换为其它网络库。 支持本地文件缓存以及多样化的缓存方式。 自定义拦截器。可以拦截数据进行处理 请求返回数据处理在单独现成进行,提供的回调方法在UI现成进
-
将Fresco封装成简单易用的SHImageView
Android平台的图片加载库一直随着时间的推移不断地冒出来,Universal ImageLoader,Glide,picasso,fresco,每出一个更好的图片加载库,都得再接入一遍,而且很有可能需要修改先前的代码。封装就可以避免每次都修改代码的问题,业务方无需知道如何实现,只
-
NestedScrolling(Android嵌套滑动机制)
具体效果可以对比一下: 重点文字标记在segmentfault上支持 code标签 ,简书上最多只能通过粗体实现。(反正我是没有找到更好的方法) 说到Gemini,我也是这两天因为了解 NestedScrolling 时接触到的,粗略看了一下资料和文章浏览数,赞! 我的大神! 好,前番
-
Android自定义View:MeasureSpec的真正意义与View大小控制
自定义View是Android开发中最普通的需求,灵活控制View的尺寸是开发者面临的第一个问题,比如,为什么明明使用的是WRAP_CONTENT却跟MATCH_PARENT表现相同。在处理View尺寸的时候,我们都知道最好在onMeasure中设定好自定义View尺寸,那么究竟如何合理的选择
-
使用DeviceOne实现微信小程序功能
微信小程序即将推出,还没推出就火的不行了。基于微信这个巨大平台,小程序必然能有巨大成功。不过它并不能完全取代App,该开发App还得开发。如果我们自己想实现一个基于自己的APP包含类似微信的小程序功能,该如何实现了?我们先来看看小程序的技术特点。
-
Android开发浅谈附近地点搜索
随着移动端的普及,很多 App应用 都有 LBS 功能。 附近的银行、 附近的饭店、 附近的超市、 附近的厕所、 ... 以上的需求很类似,实现的原理也大致相同。 定位方式有哪些? 基于 GPS 基于运营商基站 基于WiFi 基于蓝牙 基于传感器 我们主要应用基于 GPS 进行
-
Android使用 JSONObject 需要注意避免的一个问题
问题现象 在 Android 业务同步的逻辑代码中,使用到了 JSONObject 来解析服务端的 JSON 数据。同时本地因为业务新增需求的缘故,在本地数据库中使用 JSONObject 缓存了包括水位等同步相关的信息,其中,水位值是 Long 型。但近期发现同步过程中下一次同步时
-
动态更换App在Launcher里面的Icon
动态更换应用Icon 产品:我们可以动态更换App在Launcher里面的Icon吗 开发:不可以 产品:我们可以动态更换App在Launcher里面的Icon吗 开发:不可以 产品:我们可以动态更换App在Launcher里面的Icon吗 开发:不可以 产品:我们可以动态更换App在Launcher里面
-
Android手机集成天气预报功能方案:全国天气预报API调用
今天要分享的是Android手机设备集成天气预报功能的方案。我采用的方案是使用聚合数据上的全国天气预报API。如需要,可申请:https://www.juhe.cn/docs/api/id/39 实现步骤: 1.到聚合数据官网上注册,然后申请申请全国天气预报SDK数据,生成AppKey。 2.配置
-
Android中使用定时针(刷新页面请求服务器)
我要在程序中用到5秒请求一下数据(不建议大家这样做,我的需求是这样) 代码展示: 1.在OnCreate中创建定时针Timer //每5秒请求一次服务器 timer = new Timer() ; timer .scheduleAtFixedRate( new TimerTask() { @Override public void run () { Message mes
-
Android性能优化-App后台优化
前言 后台进程是内存和电池敏感的。一个隐式的broadcast可能会启动很多监听它的后台进程,即使这些进程可能做得工作不多。这可能丢设备性能和用户体验都有比较大的影响。 为了缓解这种问题,7.0(API 24)做了以下限制: Target为 Android 7.0 (API level 24
-
Android性能优化-App启动优化
通常用户期望app响应和加载速度越快越好。一个启动速度慢的app很可能会给用户留下不好的印象,除了导致用户在应用市场上的打分低之外,很有可能导致致用户直接卸载。 这篇文章提供了优化app启动时间的方法。先解释了app进程启动的内部流程。然后讨论如何优化
-
AndroidWebView的销毁和无法加载天猫网页的问题
将WebView彻底销毁的问题 在写一个VideoView播放视频时,发现跳转到webView播放完h5加载的video标签的视频后finish再跳转回来,VideoView再播放视频时会出现此视频无法播放,而且我以前加载的动画也会很卡,所以我怀疑是webView还占内存的原因,所以我决定销
-
Android BLE蓝牙通信库
BluetoothKit---Android Bluetooth Framework 这个库用于Android蓝牙BLE设备通信,支持设备扫描,连接,读写,通知。在系统API基础上封装了一层异步任务队列,使所有任务串行化,同时解决了BLE蓝牙通信中可能会遇到的一系列坑,使得Android蓝牙开发非常方便
-
Android Drawable 那些不为人知的高效用法
1、概述 Drawable在我们平时的开发中,基本都会用到,而且给大家非常的有用。那么什么是Drawable呢?能够在canvas上绘制的一个玩意,而且相比于View,并不需要去考虑measure、layout,仅仅只要去考虑如何draw(canavs)。当然了,对于Drawable传统的用法,大