随笔分类 - android提高篇
摘要:怎么将一个aar打包进另一个aar 方法一、使用fat-aar插件,不过由于fat-aar插件较长时间未更新,导致无法支持最新的Android版本(已不推荐使用) 第一步:在你的工程根目录下的build.gradle文件中添加以下代码: buildscript { repositories { g
阅读全文
摘要:引言 Baseline是文字绘制时所参照的基准线,只有先确定了Baseline的位置,我们才能准确的将文字绘制在我们想要的位置上。Baseline的概念在我们使用TextView等系统控件直接设置文字内容时是用不到的,但是如果我们想要在Canvas画布上面绘制文字时,Baseline的概念就必不可少
阅读全文
摘要:清单文件配置指定的activity配置如下: <!--调用微信的其他应用打开列表添加自己应用 --> <intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="androi
阅读全文
摘要:在AndroidManifest.xml注册ACTION事件 <activity android:name="com.test.app.MainActivity" android:configChanges="orientation|keyboardHidden|screenSize" androi
阅读全文
摘要:连接同WIFI中的安卓设备步骤: 1、先通过USB连接设备,通过adb指令设置端口。 如:adb tcpip 3455 2、使用adb指令通过WIF连接要调试的安卓设备。 如:adb connect xx.xx.xx.xx:3455 // 设备ip 3、通过adb指令推送文件到设备 如:adb pu
阅读全文
摘要:Android NDK 开发:CMake 使用 2017年8月26日 1. 前言 当在做 Android NDK 开发时,如果不熟悉用 CMake 来构建,读不懂 CMakeLists.txt 的配置脚本,很容易就会踩坑,遇到编译失败,一个很小的配置问题都会浪费很多时间。所谓工欲善其事必先利其器,学
阅读全文
摘要:关于ImageView的手势缩放,有很多种方法,绝大多数开源自定义缩放都是修改了ondraw函数来实现的。但是ImageView本身有scaleType属性,通过设置android:scaleType="matrix" 可以用很少的代码就实现缩放功能。缩放的优点是实现起来简单,同时因为没有反复调用o
阅读全文
摘要:常规类型的格式化 String类的format()方法用于创建格式化的字符串以及连接多个字符串对象。熟悉C语言的同学应该记得C语言的sprintf()方法,两者有类似之处。format()方法有两种重载形式 format(String format, Object... args) 新字符串使用本地
阅读全文
摘要:最常用的几种通信传输协议有:XModem、YModem、ZModem等。 XModem是最早的协议之一,几乎所有的通讯程序支持的文件传输协议,它传输128字节信息块。 YModem协议是XModem的改进协议,它最用于调制解调器之间的文件传输的协议,具有快速,稳定传输的优点。它的传输速度比XMode
阅读全文
摘要:一般情况下,如果服务器返回 JSON 数据,而且你又是做 Android 的,那么你首先想到的可能是GSON,或是fastJson这样的框架。这些框架能够很方便和快速的让我们将 JSON 转换成本地对象,是开发的首选。但是引用三方库也是有代价的,显而易见的就是包体积增大,库的升级等。这个时候,就需要
阅读全文
摘要:前言 每过一段时间呀,我都会给大家带来一些从Github上收集的一些开源库,有的是炫酷动效,有的则是实用的工具和类库。以前没看过或者没有收藏的同学,建议先收藏,以下是链接: 【Android珍藏】推荐10个炫酷的开源库 【开源推荐】进阶实战,从一款音乐播放器开始 2020年有哪些优秀的开源库呢?本期
阅读全文
摘要:byte 1字节 short 2字节 int 4字节 long 8字节 char 2字节(C语言中是1字节)可以存储一个汉字 float 4字节 double 8字节 boolean false/true(理论上占用1bit,1/8字节,实际处理按1byte处理) JAVA是采用Unicode编码。
阅读全文
摘要:在Android开发中,常用的加载图片工具有,Glide,Picasso,Fresco,其中Glide和Picasso使用方法极为相似,相对于Picasso来说,Glide加载图片更为迅速,内存占用更小等优点,但图像呈现和图像质量略逊一筹,而Fresco还未曾使用,对此不作评价。首先集成Glide,
阅读全文
摘要:相信有很多朋友都有过在 Activity 中通过 getWidth() 之类的方法获取 View 的宽高值,可能在 onCreate() 生命周期方法中,也可能在 onResume() 生命周期方法中。然而,不幸的是,并不能获取所要的结果,宽高值均为 0。 如果对 View 的绘制显示流程熟悉的话,
阅读全文
摘要:对于很多新人来讲,能接收输入法输入的内容大概只有EditText和TextView这两个控件了,其实不然,只要是View的子类,都可以接收输入法输入的内容。 现在我们一步一步来实现,第一步我们得有一个View的子类。 //首先我们得重写View中的一个方法,返回true,就是让这个View变成文本可
阅读全文
摘要:FileProvider 在Android7.0及之后我们无法直接将一个FileUri共享给另一个程序进行使用。系统会抛出一个异常FileUriExposedException。官方是这样描述的: The exception that is thrown when an application ex
阅读全文
摘要:核心代码 centerX、centerY为公共点,xInView、yInView为触摸点的坐标 /** *获取两条线的夹角 * @param centerX * @param centerY * @param xInView * @param yInView * @return */ public
阅读全文
摘要:基本概念字体的度量,是指对于指定字号的某种字体,在度量方面的各种属性,其描述参数包括: baseline:字符基线 ascent:字符最高点到baseline的推荐距离 top:字符最高点到baseline的最大距离 descent:字符最低点到baseline的推荐距离 bottom:字符最低点到
阅读全文
摘要:Rect bounds = new Rect(); String text = "Hello World"; TextPaint paint; paint = findViewById(R.id.hello_world).getPaint(); paint.getTextBounds(text, 0
阅读全文
摘要:首先是出现如下情况:unsupported modules detected Compilation is not supported for following modules: app. Unfortunately you can’t have non-Gradle Java modules a
阅读全文