android
文章平均质量分 66
Fresh_Air_Life
出门在外,少说慎言。多运动,多读书
展开
-
AppCompatActivity 实现透明效果 ---- sdk30 测试有效
<!--透明activity的style--> <style name="transparent_activity" parent="Theme.AppCompat.Light.NoActionBar"> <item name="android:windowBackground">@color/transparent_background</item> <item name="android:window...原创 2021-09-09 16:12:13 · 402 阅读 · 0 评论 -
系统编译踩坑记录
问题1.Cause: executing external native build for cmake 报错 尝试1. 通过./gradlew build --stacktrace 查看编译报错细节问题2.使用gradle进行编译打包产生 java.lang.OutOfMemoryError: GC overhead limit exceeded在gradle.properites文件中添加如下配置即可org.gradle.jvmargs=-Xmx4096m.........原创 2021-05-05 10:17:31 · 230 阅读 · 0 评论 -
Android Studio 右边的 gradle 编译选项框不显示问题记录
右边的选项框不显示, 可以点击 file --> sync project with gradle files等待同步玩资源之后, 右边框的 gradle 编译选项框就会显示了就会显示.希望能帮到遇到这个问题的小伙伴原创 2020-08-19 16:12:58 · 2631 阅读 · 0 评论 -
android 蓝牙hfp client实现简介
首先确认配置文件是否开启hfp profile功能。根据设备的角色(hfp client / hfp server)来配置hfp profile.profile 配置文件路径:alps/packages/apps/Bluetooth/res/values/config.xmlalps/device/${customer}/${ProjectName}/overlay/packages/app...原创 2018-10-26 14:08:06 · 2688 阅读 · 1 评论 -
android中xliff的使用
今天看了一个google的demo,发现部分资源字符串在/res/values/string.xml中包含有类似xliff的节点,刚才查了一下,Xliff是XML Localization Interchange File Format 的缩写,中文名为XML本地化数据交换格式。对于在Android的资源字符串中,可能会有类似下面的 %1$s 写法,这里,id我们可以随便定义,后面的%转载 2017-02-21 16:54:57 · 502 阅读 · 0 评论 -
Android layer type 小结
今天看源码。发现在手势识别开始前会存在LayerType 的设置 /** * The series of touch events has been detected as a swipe. * * Now that the gesture is a swipe, we will begin translating the view of the *原创 2017-02-17 11:18:27 · 3571 阅读 · 0 评论 -
Gson基础用法总结
目录 1、基本数据类型解析 2、基本数据类型生成 3、实体类的解析及生成 4、泛型在Gson中的使用 Gson,大家在都知道是json解析工具,也是google的亲儿子,自然也有着诸多的优点,今天就来总结一下其详细的用法,在本篇中将讲解其基础的使用方法,下一篇将讲解其高级的用法。1、基本数据类型解析,例:转载 2016-10-28 17:45:06 · 410 阅读 · 0 评论 -
安卓中MVP模式和RxAndroid的具体实现例子
MVP模式和RxAndroid是两个东西,这里因为懒得分开写,所以写到了一起写到了同一个例子里面。MVP是什么参考博客:框架模式MVP在Android中的使用 在MVC框架中,View是可以直接读取Model模型中的数据的,Model模型数据发生改变是会通知View数据显示发生相应的改变。 而在MVP中Model和View之间的没有任何联系,是两个完全独立的模块,当转载 2016-10-02 11:07:44 · 608 阅读 · 0 评论 -
Android学习笔记 十六 使用RxBinding响应控件的异步事件
RxBinding是Rx中处理控件异步调用的方式, 也是由Square公司开发, Jake负责编写. 通过绑定组件, 异步获取事件, 并进行处理. 编码风格非常优雅. 让我来讲解一下如何使用, 本文含有代码示例.1. 依赖除了RxJava, 再添加RxBinding的依赖.// RxBinding compile 'com.jakewharton.rxbindi原创 2016-10-02 09:08:26 · 456 阅读 · 0 评论 -
andorid 学习笔记 UniversalImageLoader的使用
UniversalImageLoader问题:从网络获取图片、显示、回收,每个环节都可能造成应用的OOM(如果没做相关的处理的话)。像ListView或者是GridView中,一页就含有大量的图片,快速滑动的时候,没有OOM也会有卡顿的现象。解决办法:使用异步加载网络图片、缓存以及显示。ImageLoader的工作原理: 最后下载好图片,原创 2016-09-30 10:36:52 · 380 阅读 · 0 评论 -
android 车机电话的通讯录联系人搜索实现解析 ------- 填坑日记
项目中的android 车机系统 搜索联系人算法一直有问题 , 这里就把整个的流程写一遍一 .搜索算法实现的功能1.支持中文,英文搜索2.支持电话号码搜索3.支持汉语拼音搜索, 首字母搜索也能支持, 同时对检索到的文字显示高亮前面的第一, 第二点, 都是比较简单的, 通过遍历字符串, 查看字符串是否包含用户输入的字符, 就能达到检索的功能重点是第三点,拼音的搜索,首...原创 2019-08-09 18:00:25 · 1065 阅读 · 0 评论 -
安卓中蓝牙免提HFP的一些分析
最近看了一些大牛的博客,无不提到了技术分享的重要性,的确,分享自己的知识不仅仅是与他人讨论并相互提高的过程,更是对自己知识的梳理。希望自己能以此为契机,形成周期性博客分享的习惯。文章标题为HFP的一些分析,HFP(Hand Free Profile)主要定义了安卓中与接打电话相关的一些功能的实现。本文主要介绍这其中对于HFP非常重要的Service Level Connection的建立。首先...转载 2018-10-26 14:32:42 · 559 阅读 · 0 评论 -
android HFPclient的相关分析
在高通平台和三星平台上调过这个功能,基于安卓6.0,该功能是将手机上的蓝牙功能用成和蓝牙耳机一样的功能。蓝牙电话和蓝牙音乐它们之间的差异较大,蓝牙电话要求实时性比较高,其和A2DP使用的物理通路并不一致,蓝牙电话走pcm物理通路,而蓝牙音乐走uart通路。关键词Hfpclient BT SCO ATA command在调试该功能时,最好能先测试一下,如下信号指标是否符合要求,以...转载 2018-10-26 11:45:44 · 1977 阅读 · 0 评论 -
Android6.0 ViewGroup/View 事件分发机制详解
之前自认为对于Android的事件分发机制还算比较了解,直到前一阵偶然跟人探讨该问题,才发现自己以前的理解有误,惭愧之余遂决定研习源码,彻底弄明白Android的事件分发机制,好了废话少说,直接开干。首先,我们对Android中的touch事件做一下总结,主要分为以下几类:1、Action_Down 用户手指触碰到屏幕的那一刻,会触发该事件;2、Action_Move 在触碰到屏转载 2016-09-26 15:43:05 · 353 阅读 · 0 评论 -
Android OkHttp完全解析 是时候来了解OkHttp了
转载请标明出处: http://blog.csdn.net/lmj623565791/article/details/47911083; 本文出自:【张鸿洋的博客】一、概述最近在群里听到各种讨论okhttp的话题,可见okhttp的口碑相当好了。再加上Google貌似在6.0版本里面删除了HttpClient相关API,对于这个行为不做评价。为了更好的在应对网络访问,学转载 2016-10-08 20:33:06 · 358 阅读 · 0 评论 -
Android 系统中同时删除多条SMS的具体实现
昨天,遇到了一个同时删除多条记录的问题,在android系统中删除操作过慢导致了,导致用户体验不佳的现象。 该问题一直都没有很好的解决,现在将整体的解决方案记录一下。 一。AsyncQueryHander的具体实现 通过代码我们看到这里是通过一个AsyncQueryHander实现的删除操作,该handler的具体实现 public sta原创 2016-08-31 16:37:30 · 1418 阅读 · 0 评论 -
Android 学习笔记之七 Application类
Application类Application和Activity,Service一样是Android框架的一个系统组件,当Android程序启动时系统会创建一个Application对象,用来存储系统的一些信息。Android系统自动会为每个程序运行时创建一个Application类的对象且只创建一个,所以Application可以说是单例(singleton)模式的一个类。转载 2016-05-13 20:31:45 · 334 阅读 · 0 评论 -
android 学习笔记之六 动态获取权限
众所周知,Android 6.0 相比之前的Android版本有一个很大的不同点,就是动态获取权限。今天自己在做拨号功能时,正巧遇到这个问题, 顺手记录下在Android 6.0 上如何动态获取权限。下面从自己一开始的问题入手实现拨号功能说到拨号,一个 Intent 就搞定,代码如下,12345原创 2016-05-13 10:29:20 · 1280 阅读 · 0 评论 -
ButterKnife--View注入框架
俗话说:“不会偷懒的程序员不是好的程序员!”。作为一名Android开发,是不是经常厌烦了大量的findViewById以及setOnClickListener代码,而ButterKnife是一个专注于Android系统的View注入框架,让你从此从这些烦人臃肿的代码中解脱出来。先来看一段代码示例说明下ButterKnife是如何简化代码的:注意:如果你是使用的Eclipse引用该libr转载 2016-04-18 11:53:29 · 337 阅读 · 0 评论 -
String、StringBuffer与StringBuilder比较
最近学习到StringBuffer,心中有好些疑问,搜索了一些关于String,StringBuffer,StringBuilder的东西,现在整理一下。关于这三个类在字符串处理中的位置不言而喻,那么他们到底有什么优缺点,到底什么时候该用谁呢?下面我们从以下几点说明一下 1.三者在执行速度方面的比较:StringBuilder > StringBuffer > String转载 2016-04-17 09:50:50 · 324 阅读 · 0 评论 -
Android 学习笔记之五 activity lanuch mode
launchMode在多个Activity跳转的过程中扮演着重要的角色,它可以决定是否生成新的Activity实例,是否重用已存在的Activity实例,是否和其他Activity实例公用一个task里。这里简单介绍一下task的概念,task是一个具有栈结构的对象,一个task可以管理多个Activity,启动一个应用,也就创建一个与之对应的task。Activity一共有以下四种lau原创 2016-05-11 22:59:37 · 1350 阅读 · 0 评论 -
Android 学习笔记之三 BLE
1、关键术语和概念1.1 下面是一些BLE关键术语和概念的摘要:* Generic Attribute Profile(GATT):GATT profile是一种关于发送和接收简短数据片段的一般规范,这种简短数据片段例如在BLE的连接上众所周知的“attribute(属性)”等。当前所有低功耗应用程序的profile都基于GATT。另外,蓝牙技术联盟(Bluet原创 2016-04-26 20:52:59 · 2458 阅读 · 0 评论 -
Andriod 学习笔记之八 自定义view实现圆圈标记
目的实现一个自定义的view,能够在这个圆圈里面实现显示数子,数字居中显示布局文件在布局文件中添加 <com.android.mms.ui.TctUnReadIcon android:id="@+id/unread_icon" android:layout_width="18dp"原创 2016-05-15 12:53:37 · 480 阅读 · 0 评论 -
Android 学习笔记之十一 2048的实现分析
上大学时,就听挺哥说过2048是比较简单的程序,网上有一天学会的教程。 前几天,找了一下教程,实践成功了。 问题分析 做问题之前,分析必不可少,知道目的,才能有的放矢。 1.UI从界面看,2048 有一个4*4的网格型布局,里面填充有数字,然后有记录分数的文字, 这个网上主要的实现是Grid原创 2016-05-23 12:49:53 · 909 阅读 · 2 评论 -
Android 自定义控件学习之一 基础知识
基本实现 步骤 1、自定义View的属性2、在View的构造方法中获得我们自定义的属性[ 3、重写onMesure ]4、重写onDraw在最新的andriod studio 中,选择自定义空间,它会生成相应的attr 文件,布局文件,属性实现文件,通过这三个文件,我们就可以设计自己的控件。原创 2016-05-29 10:58:34 · 455 阅读 · 0 评论 -
Android BLE 开发常见问题总结
本文手机了 截止2016年8月笔者开发BLE以及网络上面的一些BLE开发经验,大家共同学习,共同进步。这段时间在做低功耗蓝牙 (BLE) 应用的开发(并不涉及蓝牙协议栈)。总体感觉 Android BLE 还是不太稳定,开发起来也是各种痛苦。这里记录一些杂项和开发中遇到的问题及其解决方法,避免大家踩坑。本文说的问题有些没有得到官方文档的验证,不过也有一些论坛帖子的支持,也可以算原创 2016-08-08 15:06:58 · 3208 阅读 · 2 评论 -
Android 学习笔记十三 通过绝对路径得到uri
private static Uri queryMedia(String mediaPath, String path, Context context) { String StringUri = null; ContentResolver mContentResolver = context.getContentResolver(); if (Te原创 2016-07-12 12:06:44 · 560 阅读 · 0 评论 -
Android 学习笔记之十 Listview 优化原理
听到这,大家觉得应该是再熟悉不过了吧,当然或许很多人已经知道 ListView 的优化。我在这里就再详细的讲一遍。顺便让ListView分类显示。之前咋网上仿照别人写过一个,但是不知道原理, 今天看到了一篇写的不错,收藏了。先来看看效果:可以看到数据有100个(0-99),奇数和偶数分类显示,并给每类数据加了一个头原创 2016-05-22 09:56:11 · 1242 阅读 · 0 评论 -
android 自定义控件学习之三 控件布局常用知识总结
1、View是什么View是Android所有控件的基类,简单到TextView、Button,复杂到RelativeLayout,LinearLayout,其共同基类都是View。所以,View可以理解为控件的抽象,也是一个控件。除此之外,还有ViewGroup,字面意义上,它表示控件组,内部可以包含许多个控件。ViewGroup也继承自View,这意原创 2016-06-02 20:12:31 · 3392 阅读 · 0 评论 -
android 学习笔记十二 监听键盘状态
监听键盘状态, 在短信的界面我们可以通过该方法监听,输入法是否弹出 conv_root 为根布局的id // get root layout id final View activityRootView = findViewById(R.id.conv_root); // add listener for rootlayou ac原创 2016-06-02 20:09:41 · 513 阅读 · 0 评论 -
Android 学习笔记之九 下拉刷新
达到撒转载 2016-05-20 15:24:35 · 443 阅读 · 0 评论 -
Android 学习笔记之二 Netspeed
今天看项目源码发现获取Android网速有问题,就此改了一下,做个笔记留给自己看。下面代码放在工具类里:[java] view plain copy public static long getNetworkSpeed(Context context) { ProcessBuilder cmd; long转载 2016-04-21 22:37:25 · 885 阅读 · 0 评论 -
Android 学习笔记之一 Status Bar Notifications
简介Android系统的状态栏(Status Bar)中有一个创新UI设计,这就是可以下拉的通知提示。当系统有一些消息要通知用户时,例如,收到短信、电子邮件、有未接来电时,都会把信息作为通知(Notification)发送给用户。Status Bar 增加了一个图标到系统状态栏中,还有文本信息(可以不选),增加Notification信息到Notification窗口。你还可以安装原创 2016-04-21 21:56:23 · 610 阅读 · 0 评论 -
Android 自定义控件学习之二 简单布局实例
转载自 http://blog.csdn.net/lmj623565791/article/details/24300125自定义view的实现步骤:1、自定义View的属性2、在View的构造方法中获得我们自定义的属性[ 3、重写onMesure ]4、重写onDraw直接切入正题:直接切入正题:1、在res/values/attr.xml转载 2016-05-29 11:10:32 · 444 阅读 · 0 评论 -
android canvas.drawText()的研究
hongyang(http://blog.csdn.net/lmj623565791/article/details/44098729)这篇博客中这段代码[java] view plain copyprivate void measureText() { mTextWidth = (int) mPaint.转载 2016-04-13 09:11:09 · 629 阅读 · 0 评论