自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

arthinking

Just do it

原创 Android ListView 相关知识小点总结

给listview item 增加长方形框的背景 1.在res/drawable/下新建: <?xml version="1.0" encoding=&qu...

2018-08-31 17:41:59

阅读数 150

评论数 0

原创 Android Resource 相关知识点总结

Android 中 %s %d %f占位符使用 %s 表示字符串类型占位符,%d 表示整型占位符,%f 表示浮点型占位符。 实际使用的时候一般都会使用 %n$s,这里的n表示索引,第几个要被替换的字符串,而且 String.format 这个方法也很给力,他可以计算出你的 string.xml...

2018-08-31 17:32:19

阅读数 260

评论数 0

原创 Android 实用技巧知识合集(持续更新)

Google 和 Baidu 常用的搜索技巧  1. 例子源码永久更新  http://www.javaapk.com/demo  2. 实战知识库  http://wuxiaolong.me/2015/08/10/android-small-knowledge-base/  3. An...

2017-05-19 13:45:09

阅读数 590

评论数 0

原创 Android 带你从 0 实现基本的 BLE 开发

纯手写实现极简方式 BLE 开发,并适度封装。实现扫描、连接、发送、接收等功能 下面带大家从 0 实现基本的 BLE 开发。文末提供 git 完整源码。 权限 进行蓝牙相关操作,需要使用到蓝牙权限,在AndroidManifest.xml清单文件中添加相应权限 <uses-feature ...

2020-01-10 15:23:34

阅读数 25

评论数 0

原创 Android 从开发角度来看经典蓝牙和低功耗(BLE)蓝牙的区别

1. 开发分类 直接看图。 从图中可以看到,对于数据量较大的传输,如音视频等开发,需要使用经典蓝牙模式。而对于现在兴起的 AIOT 物联网、智能家居等领域,则会选择低功耗蓝牙 BLE,因为成本和功耗更低,并对实时性要求更高。 从现如今手机的实际体验来看,手机上的蓝牙应该是双模蓝牙,以小米手机为例...

2020-01-06 11:36:04

阅读数 34

评论数 0

原创 Android 经典蓝牙与 BLE 蓝牙基础

1. 概念 蓝牙技术是一种无线数据和语音通信开放的全球规范,它是基于低成本的近距离无线连接,为固定和移动设备建立通信环境的一种特殊的近距离无线技术连接。 2. 原理 蓝牙是一种无线技术标准,可实现固定设备、移动设备和楼宇个人域网之间的短距离数据交换(使用2.4—2.485GHz的ISM波段的UHF...

2020-01-06 10:32:02

阅读数 46

评论数 0

原创 App 启动页 -- 加载一张图片以及解决白屏或者黑屏(闪屏)问题

功能 App 启动页面。显示 1.5 秒到 2 秒,然后跳转到首页。 实现 1. 定义 drawable 文件 splash.xml <?xml version="1.0" encoding="utf-8"?> <layer-list xm...

2020-01-03 10:59:41

阅读数 19

评论数 0

原创 Android适配方案笔记

文章目录重要概念px、pt、ppi、dpi、dp、sp 之间的关系各自的定义换算公式现象剖析核心问题适配方案直接适配原理优点缺点宽高限定符适配(分辨率限定符适配)原理优点缺点备注优点缺点SmallestWidth 适配原理优点缺点小工具今日头条适配方案原理升级版 ([AndroidAutoSize...

2019-05-30 15:16:07

阅读数 56

评论数 0

转载 时间管理领域的三八原则

时间管理的三八原则 所谓时间管理就是自我管理,就是改变习惯, 以令自己能把事情很快地做完, 即具有效率;更能把事情很快又很对地做完, 即具有效能。 彼得·德鲁克说,“不能管理时间的人,就不能管理一切”。 时间管理的“三八原则”。是说我们每个人在一天 24 小时中,基本上都是 8 小时上班、8 小时...

2019-05-30 14:32:03

阅读数 89

评论数 0

原创 Android 性能优化相关

以下是收集的关于 Android 性能优化方面的文章,不定期更新,感谢原作者的创作和整理。 Android性能优化(布局优化)(https://blog.csdn.net/weixin_41203765/article/details/89157684) Android 性能优化(http...

2019-04-24 15:53:39

阅读数 49

评论数 0

原创 More than one file was found with OS independent path 'META-INF/proguard/androidx-annotations.pro'

错误现场 在使用 RxBinding 时,引入 implementation 'com.jakewharton.rxbinding3:rxbinding:3.0.0-alpha2' 时报错 More than one file was found with OS indepe...

2018-12-19 18:02:46

阅读数 474

评论数 0

转载 Android广播接收器和Activity间传递数据

思路 Activity向广播接收器传递数据很简单,只需要在发送广播前将数据put进Intent中就行了。 广播接收器怎么向Activity传送数据?这里要用到接口,通过在广播接收器里定义一个接口,然后让接收广播接收器数据的Activity实现这个接口。先看下面的栗子,Activity发送一个广播,...

2018-12-18 11:25:43

阅读数 357

评论数 0

转载 Android Room 数据库的使用

这里搜集有关 Room 数据库开发的有用文档,感谢原作者 Android Room使用详解 Room 数据库升级遇到的问题: Migration didn’t properly handle 使用数据库UNIQUE constraint failed ...

2018-12-01 20:39:46

阅读数 239

评论数 0

原创 Android 经典蓝牙开发

本文主要讲解经典蓝牙的开发,主要包含以下几个知识点: 蓝牙规范简介 蓝牙 API 简介 蓝牙开发的一般步骤 相信通过这三个步骤,您会很快上手一个 Android 经典蓝牙开发的 App。 蓝牙规范简介 蓝牙是一种无线技术标准,用来让固定与移动设备,在短距离间交换数据,以形成个...

2018-11-29 18:02:26

阅读数 1148

评论数 0

原创 Android 复选框控件 CheckBox 的基本用法以及自定义的实现

CheckBox 的基本用法 设置复选框的Check状态的时候,调用 setChecked() 方法。 追加 Android 复选框被选择时处理的时候,调用 setOnCheckedChangeListener() 方法, 并把 CompoundButton.OnCheckedChangeL...

2018-11-09 14:51:28

阅读数 626

评论数 1

原创 关于实现重启 App 的两种思路

思路 方案1:创建一个服务类,在该类中创建一个定时器,每隔一段时间触发该定时器,并获取到系统时间与指定重启的时间做匹配,匹配成功的话,发送一条广播,在广播中处理重启 App 逻辑。 方案2:监听系统时间广播,Intent.ACTION_TIME_TICK 含义:系统每分钟会发出该广播,通过...

2018-11-06 19:45:54

阅读数 560

评论数 0

转载 Android 常用对话框大全之 Dialog

版权声明:本文出自阿钟的博客,转载请注明出处:http://blog.csdn.net/a_zhon 唉!最近一直忙碌着写项目以至于都没有空出点时间来总结近期的学习,记录学习到的东西…现在正好有时间了就该好好记录一下学习的过程了。今天就来谈谈开发中经常用的到的一个控件——Dialog,对话框一般...

2018-10-23 15:05:06

阅读数 190

评论数 0

转载 RecyclerView库中的遗珠

原来文章写得很不错,收藏了,感谢原作者的创作。 关于 RecyclerView RecyclerView的强大无人不知,它封装了ViewHolder,便于我们回收复用;配合LayoutManager、ItemDecoration、ItemAnimator 便于你制定各种列表效果。当然可能还有一些“...

2018-10-23 14:45:00

阅读数 111

评论数 0

原创 从网络获取 JSON 数据并转换成对应的数据结构

功能描述 工具类实现了从网络 url 获取到 不同数据结构的 json 数据,并转换成指定的格式。 工具代码 package com.xzy.util; import android.util.Log; import org.json.JSONArray; import org.json.JS...

2018-09-30 11:39:47

阅读数 447

评论数 0

转载 七牛云——对象存储管理工具介绍

本文系转载,感谢原作者的倾情奉献,文中的工具牛逼哄哄~~~ 七牛云——对象存储管理工具介绍

2018-07-15 16:52:30

阅读数 760

评论数 0

原创 安装Genymotion的步骤以及遇到的问题记录

安装 安装VirtualBox和Genymotion 第一步安装VirtualBox,第二步安装Genymation。安装步骤可以看这一篇文章 安装步骤请点我 通过虚拟机导入虚拟电脑 通过虚拟机菜单: 管理–导入虚拟电脑,选择需要导入的ova文件,即可完成虚拟电脑的创建。 ...

2018-07-06 18:20:09

阅读数 131

评论数 0

原创 ListView实现Item中关于点击事件的例子

场景 场景1 Item中包含若干个Button,且Button需要响应点击事件。 此时实现思路可以是通过接口回调或者抽象类的形式来实现Button的点击事件。 场景2 Item和Item中的Button均需要响应点击事件。 此时需要在item.xml中根目录设置属性androi...

2018-06-30 18:09:41

阅读数 3252

评论数 0

原创 Android调试神器stetho

概述 关于stetho,最开始是同事推荐的,主要用来通过Chrome的inspect命令来查看数据库数据的。配置好stetho环境后,在浏览器中输入chrome://inspect,找到需要调试的对象,点击inspect即可调试 参考 发现这篇文章写得很详细,所以就引过来了,感谢原作者的...

2018-05-16 10:22:53

阅读数 1867

评论数 3

转载 Rxjava实现轮询定时器

作用 实现了延迟若干毫秒后,执行next操作 实现了每隔若干毫秒后,执行next操作 工具类源码 /* * Copyright 2015-2018 Hive Box. */ package com.fcbox.locker.shrail.utils; import and...

2018-05-10 14:24:05

阅读数 3043

评论数 0

原创 SQLite数据库工具类

概述该数据库工具类依赖了Room的相关包,使用很方便,现整理归档如下。使用时可以直接当做工具类使用。步骤引入依赖implementation 'android.arch.persistence:db:1.0.0' implementation 'android.arc...

2018-04-20 20:08:24

阅读数 1072

评论数 0

转载 一位 IT 男的 多年工作经验总结!!!

1、分享第一条经验:“学历代表过去、能力代表现在、学习力代表未来。”其实这是一个来自国外教育领域的一个研究结果。相信工作过几年、十几年的朋友对这个道理有些体会吧。但我相信这一点也很重要:“重要的道理明白太晚将抱憾终生!”所以放在每一条,让刚刚毕业的朋友们早点看到哈!2、一定要确定自己的发展方向,并...

2018-03-21 14:31:09

阅读数 7662

评论数 3

原创 2018年Android面试遇到的问题整理

备注:以下问题的答案均是个人整理的,如有不同意见,欢迎斧正。1.自定义Handler时如何避免内存泄漏答案:一般非静态内部类持有外部类的引用的情况下,造成外部类在使用完成后不能被系统回收内存,从而造成内存泄漏。为了避免这个问题,我们可以自定义的Handler声明为静态内部类形式,然后通过弱引用的方...

2018-03-10 18:55:36

阅读数 7844

评论数 0

原创 LitePal数据库用法小记

今天看了下LitePal的用法,觉得上手很简单,网上的大神已经总结得很到位,我参考下面两个文档,动手写了个demo,上手很简单,就不再赘述,贴出文章链接和demo即可。 LitePal用法详解https://github.com/LitePalFramework/LitePal d...

2018-01-17 15:04:08

阅读数 394

评论数 0

原创 Volley教程(含实例demo)

开发资料 查阅了一些资料,发现很多人总结得很好,比如介绍Volley基本用法的文章: Android Volley完全解析(一),初识Volley的基本用法 Volley 可是说是把AsyncHttpClient和Universal-Image-Loader的优点集于了一身,既可以像...

2018-01-16 14:41:32

阅读数 599

评论数 0

原创 详细的Retrofit 2.0 使用教程(含实例讲解)

开发资料 最近接触到了Retrofit相关的知识,通过学习,对Retrofit框架的使用有了一定的理解,通过查找资料,我认为下面这一篇文章总结的很好,贴上文章链接。 这是一份很详细的 Retrofit 2.0 使用教程(含实例讲解) 上面这一篇文章可以作为Retrofit手册使用了,感谢...

2018-01-16 11:40:07

阅读数 450

评论数 0

原创 (9)Fragment间的数据传递

1.分析 有一种比较特殊的情况,就是两个Fragment在同一个Activity中:例如,点击当前Fragment中按钮,弹出一个对话框(DialogFragment),在对话框中的操作需要返回给触发的Fragment中,那么如何数据传递呢? 记住我们在一个Activity中,那么...

2018-01-11 18:03:27

阅读数 208

评论数 0

原创 (8)调用Fragment自身的startActivityForResult并在Fragment中接收返回结果

步骤归纳 Fragment跳转时直接调用startActivityForResult()方法,前面无需添加getActivity() Intent intent = new Intent(getActivity(), ContentActivity.class); startA...

2018-01-11 17:16:38

阅读数 2522

评论数 0

原创 (7)Fragment与Activity通信(二)

1.归纳 Fragment的使用场景 在没有Fragment的时候,基本上是一个界面就要新建一个Activity,有了Fragment,就可以使用单个Activity+多个Fragment的方式,可以减少内存消耗,提升性能,且界面显示更灵活。 对于不同界面间有密切的逻辑关系,且界面相似的场景...

2018-01-11 16:33:39

阅读数 181

评论数 0

原创 Android开源库整理(3)

1.[Alibaba-ARouter] 简单好用的Android页面路由框架 Demo apk下载、Demo Gif 一、功能介绍 支持直接解析标准URL进行跳转,并自动注入参数到目标页面中支持多模块工程使用支持添加多个拦截器,自定义拦截顺序支持依赖注入,可单独作为依赖注...

2018-01-08 17:38:00

阅读数 179

评论数 0

原创 使用ARouter实现宿主Module与引用库Library之间的页面跳转

1.场景 今天学习了Android组件化搭建,从这篇文章了解到新概念ARouter,瞬间被它的强大功能所吸引,其中最吸引我的是实现不同的module之间的页面跳转这个功能,因为它为Android组件化,模块化开发提供了快速实现的可能。于是,想自己试试好不好用。 2.准备 1.新建一个普通的工...

2018-01-08 17:18:30

阅读数 3555

评论数 0

原创 Android调整系统字体导致App UI显示异常的解决方案

调整系统字体大小造成app显示异常的解决方案

2018-01-02 15:19:57

阅读数 3113

评论数 0

原创 解决Android错误Unable to instantiate activity ComponentInfo

日常遇到的异常问题记录

2017-12-28 17:59:27

阅读数 1164

评论数 0

转载 如何将excel表格的数据导入到mysql数据中去

将excel文档导入到mysql

2017-12-11 10:34:12

阅读数 636

评论数 0

转载 将应用发布到应用商店(一)----生成正式签名的APK文件

将app发布到应用商店

2017-12-11 10:25:33

阅读数 2120

评论数 0

原创 Java进制转换

突发奇想,总结下进制转换工具类

2017-12-08 14:08:58

阅读数 448

评论数 0

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