
android
文章平均质量分 58
隐藏在路人中的小兵
语文没学好,恶补恶补。
展开
-
RecycleView 和ScrollView 的嵌套使用
RecycleView逐渐在替代ListView,从技术革新的角度上来说,确实在各方面相比ListView都显得那么强大。所以,必须要研究一波,今天讲的主要是关于ReclcleView 和SceoolView的嵌套问题,这也是在开发过程中经常遇到的问题。那么,接下来就直奔主题了。原博主的demo:https://github.com/Frank-Zhu/AndroidRecyclerVie转载 2016-10-09 15:53:45 · 710 阅读 · 0 评论 -
进来先放松下嘛,我来开源一首歌曲。
来放松。原创 2017-06-15 17:24:13 · 589 阅读 · 0 评论 -
React Native 打包发布
React Native 打包发布http://localhost:8081/index.android.bundle?platform=amdrpid;当应用启动运行的时候,会自动拉取这个bundle文件,该文件里存放的是全部的逻辑代码,在目录中并不存在这个文件,事实上,这个地址只是一个请求地址,而并非真正的静态资源文件,是通过包服务器packager通过动态分析index.andr原创 2017-07-17 14:30:47 · 378 阅读 · 0 评论 -
Android 基于Gridview 实现日历选择,扩展性高,要自行扩展
更新--------》》》》》》》》》第二版本:新版本本给予Calender的高效日历加载 以下是当年硬编码写的一个日历,可用,上面是最近优化的时候写的新版本,已经链接到了我的github上 --------------------------------------------------这是时间分割线---------------------------------------...原创 2017-08-09 20:45:54 · 628 阅读 · 0 评论 -
Android Studio 3.0 填坑之依赖报错。
Error:java.lang.RuntimeException: Annotation processors must be explicitly declared now. The following dependencies on the compile classpath are found to contain annotation processor. Please add t原创 2017-10-27 09:47:22 · 6437 阅读 · 1 评论 -
Android 蓝牙开发 【一】
1 蓝牙基本操作随着可穿戴设备的流行,研究蓝牙是必不可少的一门技术了。总结了下蓝牙开发使用的一些东西分享一下。蓝牙权限首先需要AndroidManifest.xml文件中添加操作蓝牙的权限。<uses-permissionandroid:name="android.permission.BLUETOOTH" />允许程序连接到已配对的蓝牙设备。<uses-per转载 2017-12-06 09:35:24 · 728 阅读 · 3 评论 -
Android 蓝牙开发【二】BLE开发 (Android4.3)
一、ble简单介绍BLE: Bluetooth Low Energy,即蓝牙低功耗,它是一种技术,从蓝牙4.0开始支持。蓝牙低功耗芯片有两种模式:单模和双模。单模:只能执行低功耗协议栈,也就是只支持ble。双模:支持传统蓝牙以及ble的使用。较传统蓝牙:传输速度更快,覆盖范围更广,安全性更高,延迟更短,耗电低等优点。关键术语和概念:Gatt:(Generic Attr转载 2017-12-06 09:52:40 · 528 阅读 · 0 评论 -
Android蓝牙开发【三】蓝牙Hid开发
最近客户需求,android系统的一个设备,想连接一个扫描枪(类似蓝牙键盘,只支持hid协议),并且可以收到其数据,填写到输入框中。我这里借了一个蓝牙鼠标,用来与android设备连接。转载 2017-12-06 10:03:35 · 1259 阅读 · 0 评论 -
Android蓝牙开发【四】OPP传输文件
Android蓝牙功能(传统蓝牙、ble、hid)这三方面功能之前的博客都已经写了。现在接着了解蓝牙OPP传输文件相关功能。Android手机使用中,经常会用到通过蓝牙分享文件给附近的朋友。那么具体是如何实现的,大部分朋友都不是很清楚。看一下源码是如何实现该功能的。1 BluetoothOppLauncherActivityAndroid手机点击转载 2017-12-06 10:15:55 · 1554 阅读 · 2 评论 -
Android 蓝牙开发【五】OPP接收文件
这篇文章主要说一下手机是如何通过蓝牙接收文件的。1 创建rfcomm层sever要想通过蓝牙接收文件,首先要打开蓝牙。所以先从打开蓝牙进行分析。 BluetoothOppReceiver在AndroidManifest.xml文件中进行了注册,其中action包括”android.bluetooth.adapter.action.STATE_CHAN转载 2017-12-06 10:26:28 · 890 阅读 · 0 评论 -
Android蓝牙开发【六】hfp连接
本文主要内容是蓝牙手机音频的连接、断开流程分析,对应蓝牙HFP profile。该文章是基于Android源码4.3的1 hfp简单介绍HFP (Hands-free Profile),让蓝牙设备(如蓝牙耳机)可以控制电话,如接听、挂断、拒接、语音拨号等,拒接、语音拨号要看蓝牙耳机及电话是否支持。HFP定义了音频网关(AG)和免提转载 2017-12-06 10:34:17 · 7205 阅读 · 0 评论 -
Android蓝牙开发【七】hfp音频连接
接着上一篇hfp连接继续,查看蓝牙通话时如何进行处理的。hfp连接有两个连接,一个是hfp连接(在设置界面显示的是手机音频),另一个是蓝牙通话时进行的音频连接。这篇说下第二个连接,音频连接处理过程。该文章是基于Android源码4.3的1 连接音频在手机音频正常连接时,接通电话,并选择蓝牙通话。从系统应用Phone开始分析。 代码路径:p转载 2017-12-06 10:42:29 · 2612 阅读 · 0 评论 -
Android蓝牙开发【八】hfp接听、挂断电话
继续研究hfp相关功能。蓝牙耳机可以控制手机接听、拒接、挂断电话,拨打电话等功能。本文主要分析下起这些操作的大致流程。 在系统应用Bluetooth中com_android_bluetooth.cpp提供了多个回调方法,由hardware、协议栈回调过来。蓝牙耳机的一些控制命令都会发到这里。本文基于Android4.3源码。1 接通电话蓝转载 2017-12-06 10:49:12 · 2569 阅读 · 0 评论 -
Android蓝牙开发【九】A2DP基本功能
本文主要是Android做为Audio Source端,A2DP的基本操作:包括连接、断开连接、设置优先级、获取优先级、获取A2DP连接状态、获取A2DP连接的设备列表等功能。1 简介A2DP全名是Advanced Audio Distribution Profile,高质量音频数据传输的协议,其定义里了传送单声道或立体声等高质量音频(区别于蓝牙SCO链转载 2017-12-06 10:56:12 · 1092 阅读 · 1 评论 -
Android蓝牙开发【十】A2DP源码分析
上一篇说了下A2DP的一些基本操作,这篇分析下系统应用、系统源码是如何操作A2DP的。尤其是其连接过程,基于Android4.3源码。Andorid手机一般都是做为A2DP Audio Source端。1 连接过程媒体音频也就是A2DP,首先连接的蓝牙设备需要支持A2DP协议(并且做为A2DP Audio Sink端),并且需要与该设备进行配对,如何进行转载 2017-12-06 11:03:27 · 1065 阅读 · 0 评论 -
retrofit 自定义请求参数加密 和自定义响应解密 带你走出那些坑
首先,感谢一叶飘舟。给我灵感。以及他分享的博文,从源码的角度来实现参数的加解密。其次,也感谢这位这篇文章 :http://blog.youkuaiyun.com/zr940326/article/details/51549310 技术性人员就是不喜欢多啰嗦,直接来看代码吧。首先要了解这个东西 -------- ConverterFactory。这是retrofit 里面一原创 2017-06-15 11:36:56 · 5112 阅读 · 0 评论 -
Android 性能优化之 布局优化
先广泛的说一下性能优化,如果是后台开发的话,内存溢出以及耗时算法可能引起性能上的问题。如果是移动端的开发的话,就多了这么一条,多了这么一层UI渲染。好吧,开头就是泛泛地说一下,那么,今天这篇博客的内容主要就是针对UI渲染上的优化。2015年的时候,Google发布了Android性能优化典范专题 。都是以短视频的形式,来帮助我们开发人员开发出更好的Android App。如果有兴趣的同学,可以原创 2017-07-06 14:19:45 · 225 阅读 · 0 评论 -
android 7.0 致2017
做一个有情怀的开发人员,做一个善于总结并乐于分享的来发人员!原创 2017-01-11 11:12:37 · 772 阅读 · 6 评论 -
Android 实现简单轮询效果
首先举一个例子: 我们日常开发中,接触最多的就是吊起接口,接口成功的基础是基于一个无障碍的网络,有些时候,因为网络问题会导致接口调取失败,大家最长办的可能是在网络请求框架监听请求失败的里面吐司一下或者友好提示的更改一下界面(操作UI在主线程)。可能这个例子还不是很合适。 再举一个栗子,我们的需求里面有一个流程是必须执行的,只行完毕程序才可以继续进行下去,这个流程的原创 2017-03-20 13:41:15 · 4411 阅读 · 0 评论 -
Android 禁止emoji 表情
本文转自简书一位乐于分享的小伙伴。转载 2017-04-07 11:10:42 · 3193 阅读 · 0 评论 -
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.yinuo.parking.app.MyApplication"
完美解决:java.lang.RuntimeException: Unable to instantiate application com.yinuo.parking.app.MyApplication: java.lang.ClassNotFoundException: Didn't find class "com.yinuo.parking.app.MyApplication" on path: DexPathList[[zip file "/data/app/com.yinuo.parking-1/原创 2017-04-06 10:20:45 · 5095 阅读 · 4 评论 -
提高 service 存活率
提高service存活率原创 2017-05-25 10:40:46 · 466 阅读 · 0 评论 -
android 常见的内存泄漏
内存泄漏大家都不陌生了,当应该释放的对象没有被释放的时候,不能被GC回收,就会引起内存泄漏,也就是OOM。1Java内存的分配原则java 程序运行时,内存分配分为三种情况,静态分配,栈分配,堆分配。他们分别对应的存储空间是静态存储区(方法区)、栈区和堆区。·静态存储区(方法区):主要存放静态数据,全局static数据和常量,这块内存在编译时就已经分配好,并且在程序整个原创 2017-05-26 09:27:49 · 324 阅读 · 0 评论 -
程序员 很装逼的头注释
写在前面的话:一时兴起就收集了以下神注释,希望能为广大ITer带来快乐,缓解你们工作中的压力,下面开车,先自爆头像,下文会给出制作链接。/** * 瓦瓦 十 * 十齱龠己 亅瓦車己 *转载 2017-05-19 10:00:18 · 3753 阅读 · 2 评论 -
Android 基于mina 实现 Socket 长连接
一,什么是长连接长连接顾名思义就是长时间持续的连接,想比较http,一次请求响应之后,连接就不在保持,即使当前比较流行的http请求框架,也只能尽量做到缓存这个层面。二,应用场景即时通讯、消息推送、实时位置上报、直播等等。。。三,mina介绍不知道的先百度百科一下这是官网四,用前准备下载jar包:1、mina-core-2.0.16.jar原创 2017-06-06 11:19:54 · 1580 阅读 · 2 评论 -
设计模式笔记(二)----Builder模式
建造者模式将一个复杂对象的构建与让的表示分离,使得同样的构建过程可以创建不同的表示。模式的使用场景:1 .相同的方法,不同的执行顺序,产生不同的事件结果时;2.多个部件或零件,都可以装配到一个对象中,但产生的结果又不相同;3.产品类非常复杂,或者产品类中的调用顺序不同产生了不同的效能,这个时候用建造者模式非常合适。Android源码中的建造者模式:原创 2017-06-02 10:09:55 · 296 阅读 · 0 评论 -
retrofit 进行 URLencode 结果出现乱码。
大家应该对URLencode 并不陌生, 一种编码格式,多应在网络请求的数据层。java 底层封装的方式是java.net.urlencode.encode()这个方法(全靠记忆,写错多包涵)。这个类是将一个字符串转成不同编码格式的URLencode。我也是接触Retrofit不久,也在摸索之中,以往的项目中,都会进行URLencode转码的在,这次也是一样,结果就遇得到了坑,每次转码之后,都原创 2017-06-20 09:12:48 · 2470 阅读 · 2 评论 -
Android Service真正的完全详解
Service全部内容基本会在本篇涉及到,我们将围绕以下主要知识点进行分析:Service简单概述Service在清单文件中的声明Service启动服务实现方式及其详解Service绑定服务的三种实现方式关于启动服务与绑定服务间的转换问题前台服务以及通知发送服务Service与线程Thread的区别管理服务生命周期的要点Android 5.0以上的隐式启动问题及其解决方案保证服务不被杀死的转载 2017-07-10 16:45:28 · 347 阅读 · 0 评论 -
Error:Execution failed for task ':app:transformResourcesWithMergeJavaResForDebug'. > com.android.bui
So I'm continuously receiving a gradle build error upon trying to run my project. I have searched for other solutions and some say that adding:packagingOptions { exclude 'META-INF/NOTICE'}转载 2017-06-30 15:00:43 · 372 阅读 · 0 评论 -
使用 easypermission 来简化代码,实现Android动态权限申请
“动态权限申请”这个还是从6.0时代开始的,刚开始接触动态权限的小伙伴包括我,肯定是感觉很苦逼,因为要写一堆代码,才能把一些危险权限搞定。easypermission的出现大大的简化了我们的操作,提升了效率,内部的封装使得我们的代码减少了很多,下面我们来看一下它的自我介绍:简单的系统权限库,干掉6+++以上的系统权限问题。github 地址:https://github.com/jiezongne原创 2017-06-21 14:57:20 · 2830 阅读 · 0 评论 -
android 自学 + 技术拔高资源。
常用网站Google 百度 Github Stackoverflow Segmentfault 开源中国 优快云 掘金 AndroidDeveloper 玩Android 腾讯企业邮 谷歌邮箱 网易邮箱工具大全去国外看看 AndroidStudio下载 Be原创 2016-10-11 14:28:51 · 2434 阅读 · 0 评论