![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android学习笔记
曾博文
这个作者很懒,什么都没留下…
展开
-
Could not find method leftShift() for arguments
问题在 Gradle 中创建 tasktask hello << { println('Hello, world!')}执行时发生错误如下 Could not find method leftShift() for arguments [build_67oaw90jaj2sk13fmj93prm52$_run_closure4@84f1a43] on task ':...原创 2019-11-22 11:24:05 · 465 阅读 · 0 评论 -
蓝牙共享网络BluetoothPan
在Android手机的设置->无线和网络->更多->移动网络共享里有一个蓝牙共享网络的功能。此功能的主要作用是通过蓝牙连接将一部手机的网络共享给另外一台手机。在Android手机中的操作步骤如下(其中A手机作为网络的提供方,B手机作为网络的接收方):1.A手机连上网络(wifi或者流量),并在设置页面打开“蓝牙共享网络”的开关;2.B手机打开蓝牙搜索设备,在连接A手机的蓝牙时打开配置项里的“互联网原创 2016-11-07 20:57:02 · 11885 阅读 · 0 评论 -
解决了自己问题的博客链接
自定义控件之绘图篇(二):路径及文字Android_照相机Camera_调用系统照相机返回data为空原创 2016-10-30 21:34:25 · 414 阅读 · 0 评论 -
JUnit4 + Eclipse “An internal error occured during Launching”
使用eclipse进行单元测试时报了这样一个错误 百度后在此处找到了解决方法http://stackoverflow.com/questions/1250505/junit4-eclipse-an-internal-error-occured-during-launching 1.点击eclipse的Help 2.点击Install New Software 3.Work with中选择原创 2017-01-19 14:21:57 · 2017 阅读 · 1 评论 -
Android签名详解
1. 为什么要签名 1) 发送者的身份认证 由于开发商可能通过使用相同的Package Name来混淆替换已经安装的程序,以此保证签名不同的包不被替换 2) 保证信息传输的完整性 签名对于包中的每个文件进行处理,以此确保包中内容不被替换 3) 防止交易中的抵赖发生,Market对软件的要求 2. 签名的说明 1) 所有的应用程序都必须有数字证书,Android系统不会安装一个没有数字证转载 2017-01-19 14:53:42 · 503 阅读 · 0 评论 -
Android事件分发机制完全解析,带你从源码的角度彻底理解(下)
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/9153761记得在前面的文章中,我带大家一起从源码的角度分析了Android中View的事件分发机制,相信阅读过的朋友对View的事件分发已经有比较深刻的理解了。还未阅读过的朋友,请先参考 Android事件分发机制完全解析,带你从源码的角度彻底理解(上) 。转载 2015-10-08 16:31:54 · 505 阅读 · 0 评论 -
Android事件分发机制完全解析,带你从源码的角度彻底理解(上)
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/9097463其实我一直准备写一篇关于Android事件分发机制的文章,从我的第一篇博客开始,就零零散散在好多地方使用到了Android事件分发的知识。也有好多朋友问过我各种问题,比如:onTouch和onTouchEvent有什么区别,又该如何使用?为什么给ListVie转载 2015-10-08 16:28:40 · 436 阅读 · 0 评论 -
那些证书相关的玩意儿(SSL,X.509,PEM,DER,CRT,CER,KEY,CSR,P12等)
原文链接:http://www.cnblogs.com/guogangj/p/4118605.html之前没接触过证书加密的话,对证书相关的这些概念真是感觉挺棘手的,因为一下子来了一大堆新名词,看起来像是另一个领域的东西,而不是我们所熟悉的编程领域的那些东西,起码我个人感觉如此,且很长时间都没怎么搞懂.写这篇文章的目的就是为了理理清这些概念,搞清楚它们的含义及关联,还有一些基本操作.SSLSSL -转载 2017-09-20 20:22:00 · 395 阅读 · 0 评论 -
Android文件存储——内部存储与外部存储
一、Android中内部存储和外部存储的概念内部存储概念:注意内部存储不是内存。内部存储位于系统中很特殊的一个位置,如果你想将文件存储于内部存储中,那么文件默认只能被你的应用访问到,且一个应用所创建的所有文件都在和应用包名相同的目录下。也就是说应用创建于内部存储的文件,与这个应用是关联起来的。当一个应用卸载之后,内部存储中的这些文件也被删除。从技术上来讲如果你在创建内部存储文件的时候将文件属性...原创 2019-01-15 00:47:48 · 1351 阅读 · 0 评论 -
Android 9.0 WiFiManager startScan deprecated 返回false
Android 9.0 将 WiFiManager 的 startScan() 方法标为了废弃,前台应用 2 分钟内只能使用 4 次startScan(),后台应用 30 分钟内只能调用 1次 startScan(),否则会直接返回 false 并且不会触发扫描操作。详情参见:https://stackoverflow.com/questions/49178307/startscan-in-w...原创 2019-01-15 01:08:51 · 9701 阅读 · 0 评论 -
gradle3.x 和 2.x 的依赖关键字
新旧对比gradle3.x 与 2.x 的依赖方式有了很大区别,具体来说,有了下面这样的改动3.x2.ximplementation无apicompilecompileOnlyprovidedruntimeOnlyapkdebugImplementationdebugCompilereleaseImplementationrelea...原创 2019-02-24 22:40:17 · 414 阅读 · 0 评论 -
Windows中使用bsdiff
bsdiff是一个差异包比较工具,可以用来实现Android的增量更新,详情请见这篇文章Android 增量更新完全解析 是增量不是热修复。只是这篇文章的背景是基于mac系统的,关于其第二步——增量文件的生成与合并——自己各种寻求编译方法,始终没能成功编译出bsdiff和bspatch文件。后来自己终于放弃自己编译,直接百度了windows下的bsdiff文件,找了半天终于找到了可以直接运行的bsd原创 2016-10-12 23:25:26 · 7301 阅读 · 6 评论 -
Android中Base64编码
最近集成第三方sdk时需要Basic Authentication认证,在用Base64加密做签权的时候用Base64.DEFAULT一直不能签权成功,最后用Base64.NO_WRAP成功了。 后来查了一下原因,原来使用Base64.DEFAULT当字符串过长(一般超过76)时会自动在中间加一个换行符,字符串最后也会加一个换行符,这样就导致和其他模块对接时结果不一致,于是签权失败。而Base64原创 2016-10-10 15:51:24 · 29302 阅读 · 3 评论 -
Android系统设置大号字体后布局错乱的问题
从android4.0起“系统设置”的“显示”提供设置字体大小的选项。这个设置会影响到所有以sp为单位的字体适配,所以很多app在设置了系统字体后会变得面目全非。那么应该怎么解决这个问题呢?想要解决这个问题,首先我们要找到这个问题的原因。在Android手机上调整字体的显示大小后,安卓手机中Configuration的fontScale属性会随之更改。具体值如下所示:Small:0.8原创 2015-08-16 17:57:43 · 4183 阅读 · 0 评论 -
Android隐藏虚拟按键(底部导航栏)
/** * 隐藏Android底部的虚拟按键 */private void hideVirtualKey(){ Window window = getWindow(); WindowManager.LayoutParams params = window.getAttributes(); params.systemUiVisibility = View.SYSTEM_原创 2015-09-28 13:48:49 · 7911 阅读 · 0 评论 -
Android全局捕获异常
1.自定义异常捕获类实现Thread.UncaughtExceptionHandler接口public class CrashHandler implements Thread.UncaughtExceptionHandler { private static CrashHandler crashHandler = new CrashHandler(); private Cr原创 2015-12-01 10:12:12 · 443 阅读 · 0 评论 -
Android获取系统时间
1.获取时分秒/** * 得到系统时间 * @return 12:25:30 */public String getSystemTime(){ SimpleDateFormat format = new SimpleDateFormat("HH:mm:ss"); String systemTime = format.format(new Date()); r原创 2015-09-28 13:51:00 · 815 阅读 · 0 评论 -
GreenDao简介
一、使用步骤1.导入三个jar包,greendao.jar、greendao-generator.jar、freemarker.jar(链接地址)。2.新建一个Java类GenerateDao,运行以下代码:public class GenerateDao {public static void main(String[] args) throws Exception {int v原创 2016-01-11 23:31:10 · 808 阅读 · 0 评论 -
完美解决EditText和ScrollView的滚动冲突(上)
一、解决EditText和ScrollView滚动冲突的代码在网上搜了一下EditText和ScrollView的滚动冲突,发现几乎所有的解决方案都是触摸EditText的时候就将事件交由EditText处理,否则才将事件交由ScrollView处理。这样确实初步解决了两者之间的滚动冲突,但并不是最好的解决方案。比如,EditText本来可以显示6行文本,但是目前只显示了5行文本,此时我们在Edit原创 2016-02-20 01:41:16 · 15675 阅读 · 15 评论 -
完美解决EditText和ScrollView的滚动冲突(下)
上篇文章完美解决EditText和ScrollView的滚动冲突(上)中提到咱们自己写了一个判断EditText是否可以在垂直方向上滚动的方法,那么这个方法是如何得来的呢? 其实Android API里是有一个判断控件是否可以在垂直方向上滚动的方法的,方法名字叫做canScrollVertically(int direction),代码如下:/** * Check if this vie原创 2016-02-20 02:56:27 · 4793 阅读 · 0 评论 -
性能优化
一、关于性能优化的几处问题 1.是否应该手动调用System.gc()? 不应该。在Android 2.2 (API level 8)以及之前,当垃圾回收发生时,应用的线程是会被暂停的,这会导致一个延迟滞后,并降低系统效率。 从Android 2.3开始,添加了并发垃圾回收的机制,但是在GC开始和结束的时候仍然会阻塞主线程。 2.是否有必要调用Bitmap.recycle()方法?原创 2016-04-25 22:31:16 · 4053 阅读 · 0 评论 -
OOM详解
OOM主要有两种原因导致: 1. 加载大图片; 2. 内存泄漏; 因此这篇文章会简单介绍一下这两个方面,希望对大家解决OOM问题有所帮助。 一、加载大图片 在Android应用中加载Bitmap的操作是需要特别小心处理的,因为Bitmap会消耗很多内存。比如,Galaxy Nexus的照相机能够拍摄2592x1936 pixels (5 MB)的图片。 如果bitma原创 2016-04-18 19:50:14 · 8374 阅读 · 0 评论 -
Android手机适配,手机尺寸、px、dpi、dp、sp详解
转载请注明出处:http://blog.csdn.net/z191726501/article/details/50411483最近一直在学习Android的适配问题,在学习的过程中发现很多博客抄来抄去,并没有什么实质的东西,因此决定将自己关于Android手机适配问题的学习笔记整理出来,希望都够帮助到大家。要学习Android的适配问题,以下几个概念是必须要理解的。px:像素,pix...原创 2015-12-27 10:10:33 · 15591 阅读 · 0 评论 -
Fragment的懒加载(解决ViewPager中Fragment生命周期错乱的问题)
转载自:http://blog.csdn.net/maosidiaoxian/article/details/38300627我们在做应用开发的时候,一个Activity里面可能会以viewpager(或其他容器)与多个Fragment来组合使用,而如果每个fragment都需要去加载数据,或从本地加载,或从网络加载,那么在这个activity刚创建的时候就变成需要初始化大量资源。这样转载 2015-07-04 10:52:33 · 2167 阅读 · 0 评论