android开发笔
文章平均质量分 78
思忆(GeorgeQin)
软件工程师、灵魂贝斯手、逗比占星师
展开
-
Android开发笔记—— layout_weight
在我们日常开发中,LinearLayout是我们经常用到的布局组件,其中有一个属性layout_weight属性在我们的布局屏幕适配中起了很重要作用,但是当设置这一属性以后,再设置组件宽度会出现不同的状况: 当组件宽度设置为match_parent时:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http:/原创 2015-06-17 13:17:43 · 628 阅读 · 0 评论 -
在Jcenter上快速共享你的Android 项目(Java or Kotlin)
背景开发过程中,如果你写了一个工具类,想给其他项目使用的话,通常都是将它抽到lib目录供其他项目使用:然后在调用项目下引入相关的Lib:问题那如果想使用的项目和我们公用的lib不在一个目录呢?按照以前老的方式,譬如拷贝文件,打包jar的方式虽然又不是不能用,但是不仅便于维护和修改,如果每次改动,每个地方都要重新造作一遍,而且如果有资源文件就更麻烦了,那么能不能跟第三方开源库一样:一个地...原创 2019-06-06 13:04:34 · 333 阅读 · 0 评论 -
从Android 源码跟踪到的Java位运算的一些事儿
前言在我们Java程序员的日常开发中因为面向对象,其实关于位运算还是接触的比较少的,但其实看看有些框架的源码,发现还有通过位运算实现的比较巧妙的设计,今天我们就来稍微了解一下位运算。基础回顾bit 和 byte1)bit指“位”,是数据传输速度的计量单位,常简写为“b”;Byte指“字节”,是文件大小的计量单位,常简写为“B”。2)Byte和bit的换算关系是,1 Byte=8 bits...原创 2018-10-26 18:28:48 · 1011 阅读 · 0 评论 -
Android 运行时权限浅谈
Android 运行时权限详解Android 开发常常遇到的一个问题就是在Android APP 安装的过程中,会向户请求一大堆权限,不同意不会让你安装,当然我是从来不会看的直接安装,我相信你也是,所以不知不觉中,也许有些敏感权限就这样被授予了,(比如我突然收到某个从未注册的平台的推广短信),为了 解决这个问题 Android M 推出了运行时权限,敏感权限在真正使用的时候会想用户提示,用户的...原创 2018-07-20 13:42:00 · 4641 阅读 · 1 评论 -
Android 点击Url(短信链接)打开App 的调研与实现
前言:随着APP产品的迭代,运营的过程中往往会有一些活动希望通知到用户,或者唤起沉睡用户,就我们Android而言,当然有推送,长连接一类的方法,但是,基于国内的推送环境,只能APP自己启动长连接,没有统一的系统级别的推送支持,导致沉睡用户无法送达的,除非你是微信这样的大佬才行,所以,此时通用一点方式就是通过短信发送一条活动链接,通过点击这条链接可以直接跳转到我们的APP。实现效果:...原创 2018-03-16 13:15:11 · 22880 阅读 · 5 评论 -
让偷懒更彻底——用Butterknife 来为recyclerview 打造通用适配器(上)
背景随着recyclerview 的越来越普及,其高度的易用性,让我们越来越爱不释手,当然网上也出现了很多类似的通用适配器,让我们更加方便的使用它,今天我们这里介绍一种新的recyclerview的通用适配器的实现思路——把recyclerview和ButterKnife结合起来使用(ps:因为公司开发一直使用butterknife,才有了这种想法)。首先贴上我的实现效果:代码用法使用:ModelR原创 2017-01-24 11:15:17 · 10808 阅读 · 4 评论 -
Android Activity切换动画多种实现方式与封装
关于Activity动画那些事关于activity的动画,相信大家再熟悉不过了,我们开发中经常用到,网上资料也很多,但是也有一些小细节需要我们注意,今天这篇文章我总结了几种常用的动画实现方式,通过这篇文章,你可以了解到:几种常见的activity动画实现方式activity动画中需要注意的细节这几种方式的优缺点比较,我们如何取舍对这几种方式进行简易封装,提高我们的开发效率几种常见的实现方式原创 2016-09-12 19:17:29 · 11763 阅读 · 0 评论 -
艺术般的波浪点击反馈效果
Material Design之Rippledrawable 使用与简单封装(向下兼容至selector)前言 Android 5.0问世以来,谷歌所推崇的Material Design得到业界的一致好评,其良好的UI规范与交互确实让界面交互友好和漂亮了不少,Rippledrawable便是其中之一,本博客今天着重讲如何将它运用到我们自己的项目中,并且封装得简单易用。 我们原创 2016-07-23 23:31:58 · 2973 阅读 · 0 评论 -
Android 实现异步刷新UI,定时器等的多种实现方案
在我们开发中,我们常常会使用多线程来实现很多需求功能,譬如,在网络中访问数据,然后在界面中展示响应数据,在APP首页实现个轮播效果的viewpager,亦或是实现一个定时器的效果,定时的刷新我们的界面。。。今天我们这里稍作整理下,把能实现上述效果的可行方案归纳起来,总结如下四种方式: 方式一: AsyncTask 谷歌提供的异步工具,刷新UI神器,也是我们最常用的方式之一,很多网络请求框架也是原创 2015-08-30 22:58:15 · 8515 阅读 · 2 评论 -
Android开发笔记——SharedPreferences 存储实体类以及任意类型
日常开发中我们常常要用到保存数据,Android中常用的存储方式有SQLite,sharedPreferences 等,当然也有各自的应用场景,前者适用于保存较多数据的情形,后者责倾向于保存用户偏好设置比如某个checkbox的选择状态,用户登录的状态等等,都是以键值对的形式进行的文件读取,可以存储String,int,booean等一些基本数据类型等等。 但是每存储一个数据都要提供一个key,如原创 2015-08-02 12:40:24 · 7296 阅读 · 2 评论 -
Android开发笔记--WIFI状态判断
最近公司开发中遇到了一个需求:公司有个业务需要——使用高德地图SDK,为了提高定位精度需要让用户WIFI处于打开状态(因为打开WIFI 扫描周围的热点SDK会去匹配他们的数据库里记录的WIFI热点的位置,从而提高定位精度),注意:这里的打开不是处于连接状态,而是处于连接状态或者连接中,或者未连接但是wifi开着,总之就是保证wifi是可用的状态,一开始我误认为是 通过WIFI 状态来判断,我们先来看原创 2015-07-25 00:39:45 · 1006 阅读 · 0 评论 -
Android 数据抓取——在线音乐播放器的实现
前言: 相信很多同学学习android都开做过播放器一类的小玩意吧,但是苦于没有服务器提供数据,因而只能做个本地播放器,今天,这篇文章就是通过数据抓取,实现没有服务器,依然可以在线搜索和播放音乐!首先,贴上我的最终实现效果: 因为数据是从虾米搜索页抓过来的,所以我把虾米logo加上去了,请大家忽略,下面来讲基本思路,首先虾米有这样一个隐藏的API: http://www.xiami.com/s原创 2015-06-28 13:08:46 · 9829 阅读 · 24 评论 -
Android开发笔记——ScrollView中解决listview,gridview显示不全问题
在我们日常开发中,我们可能会碰到这样的情形:在某个内容很多的页面中用listview显示几条数据,或者用gridview显示几张图片,由于页面内容很多,一般都要在最外层加上SrcollView来显示全部数据, 那么问题来了: listview,gridview本身就是支持滑动的组件,而嵌套在可滑动的scrollview中会就发生冲突,最终出现的结果可能就是:listview,gridview只显示原创 2015-06-17 21:05:22 · 2174 阅读 · 0 评论 -
Android代码重构之-优雅的解决顺序调用方法之间的耦合
背景before:在我们APP启动过程,我们可能常常有这样的需求,在APP第一次进入的时候根据网络请求的结果弹一个对话框式的广告, ok~ 很简单,那么代码大致就是这样(这边都是伪代码,为了方便理解): @Override protected void onCreate(@Nullable Bundle savedInstanceState) { checkFirs...原创 2019-09-30 23:48:24 · 1843 阅读 · 9 评论