
Android开发
文章平均质量分 53
「已注销」
这个作者很懒,什么都没留下…
展开
-
EventBus线程间通信
1. EventBus 是干嘛的EventBus是一款针对Android优化的发布/订阅事件总线。简化了应用程序内各组件间、组件与后台线程间的通信。优点是开销小,代码更优雅,以及将发送者和接收者解耦。如果Activity和Activity进行交互还好说,如果Fragment和Fragment进行交互着实令人头疼,如果用广播来处理,稍显麻烦并且效率也不高,传递的数据是实体类需要序列化,那么成本会...原创 2018-03-02 17:44:44 · 789 阅读 · 0 评论 -
Android Studio 3.x 多渠道打包相关
1. AndroidManifest 配置application 节点中添加渠道配置。<meta-data android:name="UMENG_CHANNEL" android:value="${UMENG_CHANNEL_VALUE}" />name固定为友盟,value为渠道标识(随渠道变化)。2. module 层的 build.gra...原创 2018-03-26 15:50:39 · 404 阅读 · 0 评论 -
消息推送(华为)
事到如今你还想着「进程保活」?三方SDK唤醒(不现实)系统白名单(不现实)应用全家桶(不现实)系统广播唤醒(不可控)两个Service互相唤醒(凉了)使用Timer定时器(凉了)两个相同id的前台Service(凉了)现在普遍的做法是集成多个手机厂商的推送(小米,华为,魅族等),再加上一个第三方推送(个推,极光等)我的「个推」博客注册华为开发者进入华为开...原创 2018-04-12 17:42:20 · 3160 阅读 · 0 评论 -
一个实现了「上拉加载」的SwipeRefreshLayout
public class RefreshLayout extends SwipeRefreshLayout implements AbsListView.OnScrollListener { private int mTouchSlop; //滑动最短距离 private int mDownY; //按下时的Y坐标 private int mLastY; //抬起时的Y坐...原创 2018-05-15 15:07:56 · 238 阅读 · 0 评论 -
Android 与 JavaScript 交互
1. JavaScript 调用 Java1.1 WebView 设置允许 JavaScript 运行webView.getSettings().setJavaScriptEnabled(true);1.2 创建 JavaScript 接口类public class JsInterface { @JavascriptInterface public ...原创 2019-02-22 16:32:05 · 272 阅读 · 0 评论 -
6.0动态申请权限
/** * 1.检测系统版本 */ private void checkSystemVersion() { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) checkPermissions(); } /** * 待检测权限(6.0需要...原创 2018-01-03 14:14:34 · 231 阅读 · 0 评论 -
修改原生RatingBar样式
Android原声RatingBar的星星大小只能设置成3种固定模式,且外观难看。所以实际项目中都会对其样式进行修改,适配应用主题。1.设计星星切图由产品和美工完成,建议大小 48px 或 84px。2.设置进度条样式在drawable文件夹下新建一个layer-list修改进度条的背景图资源<?xml version="1.0" encoding="utf-...原创 2018-01-02 17:53:03 · 1128 阅读 · 0 评论 -
Android集成QQ登录
1.前期准备1.注册登录腾讯开放平台。 2.创建应用,获取唯一标识APPID,测试学习使用”222222”。 3.下载SDK,解压后导入Jar包并添加依赖。2.相关配置1.添加权限(AndroidManifest.xml)<uses-permission android:name="android.permission.INTERNET" /><uses...原创 2017-05-13 17:27:27 · 490 阅读 · 0 评论 -
ListView更新的几种方法
一.简述先来介绍一下listview更新数据的几种方法,目前我知道的方法有如下3种: 每次更新数据时都调用 listview.setAdapter(); 每次更新数据时都调用 adapter.notifyDataSetChanged(); 在自定义的adapter中定义update方法;二.分析1.每次更新数据时都调用 listview.setAdapter();...原创 2017-05-24 10:21:54 · 9761 阅读 · 1 评论 -
结合Handler加深理解内存泄漏
一.什么是内存泄漏Java内部使用有向图机制,通过GC自动检查内存中的对象,检测时间由虚拟机决定.如果GC发现一个或一组对象为不可达状态,就会对其进行清理,从内存中回收.换句话说,一个对象如果不被任何一个引用所指向,那么就会在GC监测到的时候对其进行回收;另外还有一种情况,就是一组对象之间互相引用,但这些对象都没有来自外部的引用,也属于不可达状态,会被回收.private Handle...原创 2017-11-20 10:06:25 · 238 阅读 · 0 评论 -
消息推送(个推)
1.总得先说两句项目需求新增移动端消息推送,要求如下:消息透传指示灯闪烁根据消息级别改变通知音效自定义通知振动频率通知开关用户可控点击通知跳转对应页面2.相关技术储备推送:个推(透传消息) 通知:自定义Notification2.1 先来创建个推账户吧个推官网,个人账户和公司账户均可。2.2 个推开发者中心1.登记应用2.填写项目...原创 2017-12-08 17:31:29 · 5441 阅读 · 0 评论 -
自定义ToolBar沉浸式适配
1.自定义ImmersiveBar继承ToolBar (v7)public class ImmersiveBar extends Toolbar { private ImageView navigation; private TextView title; private ImageView img; public ImmersiveBar(Contex...原创 2017-12-15 16:17:36 · 4147 阅读 · 0 评论 -
封装OkHttp3
当前功能:同步get方法异步get方法同步post方法(Map参数)异步post方法(Map参数)同步post方法(Json参数)异步post方法(Json参数)同步post方法(多文件上传)异步post方法(多文件上传)异步文件下载(支持进度回调)持续更新中 · · ·代码如下import android.webkit.MimeTypeMap;im...原创 2017-12-21 18:14:00 · 348 阅读 · 0 评论 -
集成【支付宝】实现支付功能
1.注册流程一句带过蚂蚁金服开放平台创建应用签约上线官方文档:https://docs.open.alipay.com/204/105297/2.移动端要做的事获取订单信息调用支付请求支付结果回调移动端只需要处理好以上3步就可以,并没有太多流程。3.开始接入3.1 导入并配置SDKSDK下载链接:https://docs.open.ali...原创 2017-12-25 16:14:00 · 480 阅读 · 0 评论 -
HOME键监听
Android 虽然可以通过重写 OnKeyDown() 方法来监听系统按键事件,但却接收不到 Home 键事件,这是因为 Home 键将程序退至后台,将这个事件分发给系统,再由系统进行相应的处理,所以在应用中是接收不到该事件的。为此 Android 提供了一种方法:通过广播接收者的方式来解决 Home 键的监听问题。1. 创建广播接收者public class KeyReceiv...原创 2018-04-04 15:25:18 · 262 阅读 · 0 评论