内容来源:Android Development Tidbits // No. 3
这是第三次分享安卓开发中的一些小知识点。我们很高兴有这么多人知道了这个有趣的系列,并且对你们通过评论和邮件表达的支持表示感谢。最近我们开始利用开发的间歇时间在博客上分享我们知道的一些知识点。前两篇文章链接为1和2。这一周我们可能会分享一些比较老的知识点。好了,开始这次的内容。

Tips1
如果你使用ZXing 的QRCodeWriter来生成二维码,你会发现生成大图时会相当的慢。可以先参考下列代码创建 BitMatrix 进行图片转换处理。注意给BitmapDrawable设置setFilterBitmap(false)来避免失真。

BitMatrix matrix = new QRCodeWriter().encode("content here", BarcodeFormat.QR_CODE, 0, 0);
int height = matrix.getHeight();
int width = matrix.getWidth();
Bitmap bmp = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_4444);
for (int x = 0; x < width; x++) {for (int y = 0; y < width; y++) {bmp.setPixel(x, y, matrix.get(x, y) ? Color.BLACK : Color.TRANSPARENT);
}
}
BitmapDrawable qrCodeDrawable = new BitmapDrawable(getResources(), bmp);
qrCodeDrawable.setFilterBitmap(false);
imgQrCode.setBackground(qrCodeDrawable);

这里用Bitmap.Config.ARGB_4444是因为我需要的是二维码背景是透明的。如果只需要黑色或白色背景,使用Bitmap.Config.RGB_565就够了。如果担心这里出问题,也可以调整一下参数:

 BitMatrix matrix = new QRCodeWriter().encode("content here", BarcodeFormat.QR_CODE, 10, 10);

Tips2
可以用adb hell 代替adb shell。

Tips3
用TextUtils.concat()来拼接字符串,它会保留原有的分隔。

Tips4
最上层的控件会优先获得处理触摸事件的权利,但是父控件有拦截的权利,所以可以拦截事件传递,不分发给子控件。子控件如果调用setRequestDisallowInterceptTouchEvent 但是又不想子控件来处理触摸事件,只需要重写它,让方法内容为空。

Tips5
数据库的批量操作请使用事务,调用beginTransaction()和endTransaction()来开启关闭事件,并且只有当执行了setTransactionSuccessful() 方法后才会真正处理成功,否则会有endTransaction()回滚之前的操作。

Tips6
写测试程序时,避免写静态方法,因为framework提供的方法可能不会执行。

Tips7
使用Mockito来做测试,它用很简单的方式来处理复杂的对象依赖。

翻译说明:3篇文章都是比较简单或者常见的小知识,国内很多文章就有了,并没有提供技术含量较高或相对冷门有用的知识,,略失望。

安卓开发小知识 - 3相关推荐

  1. 安卓开发-基础知识补习3

    听说点赞关注的人,身体健康,万事如意,工作顺利,爱情甜蜜,一夜暴富,升职加薪--最终迎娶白富美!!! 微信公众号:炜煜gzs 题目:安卓开发-基础知识补习3 内容简介:本文通过学习安卓零基础开发到入门 ...

  2. 蓝牙技术|蓝牙APP开发小知识

    蓝牙是我们手机里一直就有的一个功能,当时的蓝牙更多的是用于手机之间传递数据.而随着蓝牙的发展,现在有许多的硬件设施都具有连接蓝牙运作的功能.例如:蓝牙共享单车.无线蓝牙音箱.智能穿戴如手环等. 随着移 ...

  3. 安卓开发基础知识3(国内深度摄像头方案)

    需求说明:安卓开发 内容       :双摄像头安卓手机调研 来自       :时间的诗 原文:http://www.tuicool.com/articles/zUzmAnu 引言:市场对深度视觉技 ...

  4. 安卓开发基础知识1(双摄像头安卓手机)

    需求说明:安卓开发 内容       :双摄像头安卓手机调研 来自       :时间的诗 原文:http://mobile.163.com/16/0301/06/BH28BP9I001117A8_a ...

  5. 安卓开发基础知识2(荣耀6Plus后置摄像头技术难度分析)

    需求说明:安卓开发 内容       :双摄像头安卓手机调研 来自       :时间的诗 原文:http://tieba.baidu.com/p/3489953328# 说到手机的镜头,人们并不陌生 ...

  6. 安卓开发必备知识体系:安卓篇

    1. 前言 前后历时一个半月,也算是拿到了心仪的 offer,顺便水一篇总结把. 前后经历了菜鸟网络.有赞.手淘.头条.全民直播.喜马拉雅,面的多是 1~3 年的岗位.除了手淘和头条一面被刷 QAQ, ...

  7. android2.2的弹窗控件,Android开发小知识2—弹窗

    前言 弹窗是指打开网页.软件.手机APP等的时候自动弹出的窗口,目前主要流行的弹出方式是快速进入网页游戏的快捷途径. 在android弹窗是非常常见与实用的控件,相信很多朋友都使用过弹窗.这篇文章想和 ...

  8. IOS开发Swift——开发小知识(持续更新)

    如有错误,请指正!谢谢! 侵权删!(部分转载) 1.PHAsset获取本地视频的url PHCachingImageManager().requestAVAsset(forVideo: asset, ...

  9. iOS开发小知识之正则表达式的简单用法

    关于正则表达式,百度百科中是这样说的 正则表达式,又称正规表示法.常规表示法(英语:Regular Expression,在代码中常简写为regex.regexp或RE),计算机科学的一个概念.正则表 ...

最新文章

  1. 不怕面试被问了!二叉树算法大盘点
  2. android api 相机,具有相机2 API的Android Lollipop上的ZSL功能
  3. 中石油训练赛 - Count the Even Integers(Java高精度运算+找规律)
  4. leetcode 459. 重复的子字符串(Java版)
  5. 大厂高级前端面试题答案
  6. 7-8垃圾箱分布_您认为有关垃圾收集的7件事-完全错了
  7. CentOS 7 利用Docker搭建Showdoc文档管理系统
  8. Java案例:自动点名程序
  9. 《软件测试自动化之道》读书笔记 之 目录导航
  10. C#实现WebService服务 项目完整总结
  11. 使用一般处理程序HTTPHandler下载文件
  12. 关于Session、Cookie、Token你知道多少?
  13. 计算机软件系统测试报告模板,测试报告模板
  14. 关于各式竞赛书籍的点评
  15. [Err] 1267 - Illegal mix of collations (utf8_unicode_ci,IMPLICIT) and (utf8_general_ci,IMPLICIT)
  16. 西奥电梯服务器故障维修,电梯维保须知:西子奥的斯电梯故障分析及解决
  17. D. Challenging Valleys
  18. 利用阿里云服务器制作一个浪漫的表白网页
  19. 2020.9.28--PS--色阶、色阶上色、曲线
  20. Androidproject师进阶之路 :《Android开发进阶:从小工到专家》上市啦!

热门文章

  1. python matplotlib模块画出的图像转换为.tiff格式
  2. java 添加联系人,java – 如何将联系人添加到组android
  3. java zipinputstream_Java之解压流(ZipInputStream)
  4. 让div margin属性消失_margin 和 padding
  5. 我来悟微服务(3)-需求管理
  6. memcache和redis对比
  7. 解决wget下载中文乱码的方法
  8. 判断一件事有无技术含量的标准
  9. acctmod-ftp.sh
  10. Linux常用测试命令