Android笔记
文章平均质量分 78
imock
不要在最能吃苦的年龄选择安逸
展开
-
Android开发偷懒技巧之阴影
在Android开发中我们会在设计稿中看到各种阴影效果,我们知道CardView可以添加阴影效果,不过可能并不是我们设计稿想要的效果,那我们如何可以更加灵活地给我们原生控件添加阴影效果,这就是下面所要描述的,当然也可以让设计师给个阴影切图,我们做下.9处理然后使用切图实现阴影效果。下面看看如何用代码更灵活地去为原生控件实现阴影效果,源码可以查看 XSelector GitHub, 也可移步【...原创 2019-05-09 09:30:44 · 379 阅读 · 0 评论 -
Android OOM之内存泄漏详解
如若感觉排版看着不舒服,可以移步这里OOM(OutOfMemory)就是我们平时所碰到的内存溢出,而内存泄漏的最终后果就是导致OOM。 内存泄漏是造成应用程序OOM的主要原因之一!我们知道Android系统为每个应用程序分配的内存有限,而当一个应用中产生的内存泄漏比较多时,这就难免会导致应用所需要的内存超过这个系统分配的内存限额,这就造成了内存溢出而导致应用Crash。一、内存分配策略原创 2017-03-01 18:56:36 · 550 阅读 · 1 评论 -
Android多渠道批量打包
如若感觉排版不舒服,请移步Android多渠道批量打包1、为什么要进行多渠道打包? 安卓应用商店(一个商店也叫做一个渠道,如豌豆荚,360手机助手,应用宝)众多,大大小小几百个,每当我们发新版本时,需要将Android客户端分发到各个应用市场,为了统计这些市场的效果(下载量、活跃数等),需要有一种方法来唯一标识它们,所以才有了多渠道打包。2、如何统计各个渠道的下载量、活跃数?原创 2017-03-02 22:54:04 · 3614 阅读 · 6 评论 -
Activity跳转方式总结
自我感觉这里的排版看着更舒服些。Activity跳转方式总结一、显式调用方法方法一: Intent intent=new Intent(本类,将要跳转的类); //Intent intent=new Intent(MainActivity.this,JumpToActivity.class); startActivity(intent); 方法二: Intent intent2=原创 2017-01-20 22:04:52 · 3714 阅读 · 0 评论 -
Android实现获取短信验证码的功能以及自定义GUI短信验证
短信验证功能大家都很熟悉了。在很多地方都能见到,注册新用户或者短息验证支付等。短信验证利用短信验证码来注册会员,大大降低了非法注册,很大程度上提高了用户账户的安全性。 目前市面上已经有了很多提供短信验证的服务商,有收费的,也有免费的。如果是个人的开发者,用免费的是最划算的了!下面我就介绍一个免费的短信验证平台---Mob.com Mob平台提供的短信验证功能可以实现快速的验原创 2016-03-31 16:16:30 · 7366 阅读 · 0 评论 -
AndroidStudio 使用AIDL
一直以来都认为AIDL的应用离我很遥远,甚至不知道如何去用,也就懒得去学,之前的项目中也看到过aidl文件,只是懒得去看而已,现在感觉自己真的是无药可救了,如果只止步于学习一些UI调整的东西谈何进步,不过有些东西也真是逼着去学的,要学的东西太多了,只要隔着一段时间不用的话,估计学习的东西又都忘完了,不说了,开始讲正事,也算给自己留个笔记,长时间不用再回来看看。1、为什么要有AIDL?对于A原创 2016-10-09 11:41:00 · 1724 阅读 · 0 评论 -
Android ComponentName的用法
ComponentName与Intent同位于Android.content包下,我们从Android官方文档中可以看到,这个类主要用来定义可见一个应用程序组件,例如:Activity,Service,BroadcastReceiver或者ContentProvider。 那么,如何用ComponentName来定义一个组件呢。 这是ComponentName的原创 2016-10-09 14:24:35 · 14940 阅读 · 0 评论 -
Bitmap详解与Bitmap的内存优化
一、Bitmap:Bitmap是Android系统中的图像处理的最重要类之一。用它可以获取图像文件信息,进行图像剪切、旋转、缩放等操作,并可以指定格式保存图像文件。 常用方法: + public void recycle() // 回收位图占用的内存空间,把位图标记为Dead + public final boolean isRecycled() //判断位图内存是否已释放 +原创 2017-02-06 09:13:34 · 7530 阅读 · 4 评论 -
Android PackageManager 用法
参考资料:http://blog.csdn.net/qinjuning/article/details/6867806,有改动。PackageManger的主要职责是管理应用程序包,通过它可以获取应用程序信息。AnroidManifest.xml文件节点说明:一 、相关类介绍1. PackageItemInfo类AndroidMa转载 2017-01-13 22:47:57 · 23516 阅读 · 3 评论 -
Android中所涉及的常用设计模式
1、单例模式概念:确保一个类只有一个实例,并且自行实例化并向整个系统提供整个实例优点: 1.1、对于那些耗内存的类,只实例化一次,大大提高性能,尤其是移动开发中1.2、程序运行中,始终保持只有一个实例在内存中public class Singleton { private static volatile Singleton instance = n原创 2017-01-13 22:26:29 · 6769 阅读 · 12 评论 -
Android中webView实战详解
感觉这个排版看起来更舒服 Android WebView简单使用以及实现native与h5交互一、WebView谷歌提供的系统组件,用来加载和展现html网页,其采用webkit内核驱动,来实现网页浏览功能。拥有load() URL和本地html文件。 // 云端 webView.loadUrl("https://www.baidu.com"); // 本地 webView.loadUrl("fi原创 2017-01-13 22:39:22 · 1629 阅读 · 0 评论 -
https 与 http、TCP/IP、Socket网络通信
如若感觉排版看着不舒服,请移步https 与 http、TCP/IP、Socket网络通信一、https 与 httpHTTPS HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容原创 2017-03-03 22:52:54 · 1130 阅读 · 0 评论 -
android各个版本的新特性
也可移步这里查看一、Android 4.x新锁屏界面: Android4.0重新设计了锁屏幕UI,下方的解锁虚拟按键向周围发射出微光,轻轻拖动就可以解锁,比原来在UI上确实有很大的进步。全新Widget排列: 主屏幕上的Widget插件是Android区别于其他系统最大的特点,新的Widget将会像程序界面那样排列。程序和Widget插件分为两个标签,清楚明了。更直观的程序文件夹原创 2017-03-03 23:41:11 · 3814 阅读 · 0 评论 -
GreenDao设置数据库路径以及数据库升级
1. APP开发期间的数据库在上一篇文章中封装了GreenDaoManager中有个构造方法如下:private GreenDaoManager(){ if (mInstance == null) {// DaoMaster.DevOpenHelper devOpenHelper = new// DaoMaster.De原创 2016-12-06 20:10:05 · 12944 阅读 · 13 评论 -
App版本更新接口的设计
工作这几年碰到的版本检测升级的接口也算是五花八门,啥样的都有,但肯定有的功能是有个apk的下载链接,能间接或直接提示你是强制还是非强制更新:- 间接是指提供你后台最新版本号,让你自己与本地版本号通过比较得出是否升级;- 直接就是后台接口直接返回个Boolean类型告诉你是强制或者非强制更新。个人认为一个好的版本检测接口需要设计的更灵活更清晰用起来更方便,下面就我理解的接口设计如下(如思路有误,欢迎...原创 2018-05-10 23:28:53 · 5855 阅读 · 0 评论 -
Android开发偷懒技巧之XSelector
平时我们在开发项目时看到设计稿中有各种对控件设置在不同状态下显示不同的背景(边框、颜色等)样式或者不同的文字显示颜色等效果,这时候我们就需要在项目的resource目录下的drawable中创建对应的Selector.xml文件然后通过setBackground方法设置到对应的控件中以显示想要的效果。如果项目中的效果一直,只采用一两种样式效果还好,我们只需建立一两个selectro.xml文件即可...原创 2018-05-05 10:32:46 · 1298 阅读 · 0 评论 -
Android开发性能优化工具
涉及的开发工具具体如下 [Android开发性能优化工具].原创 2018-03-27 21:43:31 · 351 阅读 · 0 评论 -
Android开发中小问题汇总目录(持续更新)
Android开发中小问题汇总目录(持续更新)原创 2017-07-17 18:57:58 · 311 阅读 · 0 评论 -
APP插件化/组件化框架分析
VirtualAPK插件框架简单使用如感觉排版看着不舒服,可移步【APP插件化/组件化框架分析】。最近一段时间在研究插件化和组件化实现方案,今天也算整理一下笔记记录一下,记得之前讲述过一篇关于组件化的文章【Android 组件化之初探】,刚好对应着阿里的Atlas组件化框架,今天主要做个大致的介绍,稍后再逐个讲述下各框架的接入方法以及具体使用方法。一、模块化、插件化和组件化1. 模块化、插件化和组件原创 2017-11-22 21:16:58 · 5532 阅读 · 0 评论 -
Android中实现Native与H5的通信方案汇总
若感觉排版不舒服,可移步【Android中实现Native与H5的通信方案汇总】一、利用JsBridge实现Native与H5的双向通信Android中的JSBridge是H5与Native通信的桥梁,其作用是实现H5与Native间的双向通信。在Android中展现H5也就用到了Webview,之前写了一篇文章Android WebView简单使用以及实现native与h5交互,主要就是介绍一个w原创 2017-10-21 09:45:14 · 1321 阅读 · 0 评论 -
Android开发中常用工具类源码积累
如感觉排版不舒服,可移步Android开发中常用工具类源码积累。三年多的时间转眼即逝,如今回过头看看自己的成长,丝毫感觉不到任何欣慰,相比昔日的同学们,感觉自己的成长太慢了,甚至有些迷茫了,感觉是时候静下脚步沉思一下然后提起脚步继续前进。一直希望有人能指引自己前进,这样自己可以避免走弯路,可是事与愿违,感觉所有的一切都得自己去尝试去摸索过后才会有所体会有所感悟。如今在自己静下来的同时希望自己从基础做原创 2017-09-01 22:28:42 · 594 阅读 · 0 评论 -
Android View的事件分发机制与滑动冲突解决方案
如若感觉排版不适,请移步 这里 。在Android开发中,如果是一些简单的布局,都很容易搞定,但是一旦涉及到复杂的页面,特别是为了兼容小屏手机而使用了ScrollView以后,就会出现很多滑动事件的冲突,最经典的就是ScrollView中嵌套了ListView。今天主要总结一下这方面的知识点,也当作以后复习的笔记,本文主要讲述以下几点: + View的事件分发机制 + 事件滑动冲突的思路及方原创 2017-06-19 20:20:51 · 1038 阅读 · 0 评论 -
Android N 新特性
2016年5月19日,谷歌在美国加州的山景城举办了 Google I/O 开发者大会中发布。2016年6月,Android N正式命名为“牛轧糖” 本届I/O开发者大会上,Google重点介绍了Android系统三个维度:分别是性能、安全和生产力。其中性能主要新增了Vulkan API与JIT编译器(前者优化图形性能、或者加快软件安装速度);安全性包括新的数据加密方式、恶意网站识别、系统的实时转载 2017-03-12 21:36:50 · 491 阅读 · 0 评论 -
Android中图片压缩方案详解
如感觉排版不舒服,可移步至此处查看图片的展示可以说在我们任何一个应用中都避免不了,可是大量的图片就会出现很多的问题,比如加载大图片或者多图时的OOM问题,可以移步到Android高效加载大图、多图避免程序OOM.还有一个问题就是图片的上传下载问题,往往我们都喜欢图片既清楚又占的内存小,也就是尽可能少的耗费我们的流量,这就是我今天所要讲述的问题:图片的压缩方案的详解。1、质量压缩法设置bitmap o原创 2017-03-21 14:33:02 · 2192 阅读 · 1 评论 -
okhttp3与旧版本okhttp的区别分析
1、包名改变 包名改了由之前的 com.squareup.http. 改为 okhttp3.我们需要将导包名直接换掉,另外记得修改progurad-rules.pro 文件中将对应包名2、OkHttpClient参数配置 之前参数可以直接mOkHttpClient.setCache(cache)设置,现在OkHttpClient使用创建者模式,需原创 2017-01-07 16:27:07 · 8463 阅读 · 1 评论 -
GreenDao3.0简单使用
greenDAO 优势1、一个精简的库 2、性能最大化 3、内存开销最小化 4、易于使用的 APIs 5、对 Android 进行高度优化Greendao3.0 最主要的三大改变:换包名 实体注解 加密支持的优化GreenDao 3.0使用:GreenDao 3.0采用注解的方式来定义实体类,通过gradle插件生成相应的代码。GreenDao3原创 2016-12-06 20:08:27 · 1936 阅读 · 0 评论 -
android 自定义圆角头像以及使用declare-styleable进行配置属性解析
由于最新项目中正在检查UI是否与效果图匹配,结果关于联系人模块给的默认图片是四角稍带弧度的圆角,而我们截取的图片是正方形的,现在要给应用统一替换。应用中既用到大圆角头像(即整个头像是圆的)又用到四角稍带弧度的圆角头像,封装一下以便重用。以下直接见代码package com.test.demo;import com.test.demo.R;import android.content.Con原创 2015-05-25 09:39:03 · 982 阅读 · 0 评论 -
常用代码段Android Shortcut操作(快捷方式)
1、创建应用的快捷方式2、右上角有数字的快捷方式3、删除程序的快捷方式4、判断是否存在快捷方式5、添加到Shortcut选项中原创 2014-09-19 16:41:26 · 1050 阅读 · 0 评论 -
Android自定义CheckBox
在项目中碰到CheckBox在不同的手机上会出现一些布局上的问题,于是调查发现Android 的控件 CheckBox 和 RadioButton 在配合一些复杂的地方使用、比如和 ImageView、TextView等控件配合使用完成一些复杂的功能的时候会出现兼容性问题、如果使用了 paddingLeft 来使用按钮和文字之间有一定距离的时候、在Android 4.2 以下的机器上面会出现文原创 2015-06-04 11:04:55 · 1228 阅读 · 0 评论 -
Android EventBus解析
转载请表明出处:http://blog.csdn.net/lmj623565791/article/details/40794879,本文出自:【张鸿洋的博客】1、概述最近大家面试说经常被问到EventBus,github上果断down了一份,地址:https://github.com/greenrobot/EventBus,的确是个不错的框架,主要用于事件的发布和订阅。转载 2015-05-11 09:28:32 · 372 阅读 · 0 评论 -
Android高效加载大图、多图解决方案,有效避免程序OOM
本文转自:http://blog.csdn.net/guolin_blog/article/details/9316683本篇文章主要内容来自于Android Doc,我翻译之后又做了些加工,英文好的朋友也可以直接去读原文。http://developer.android.com/training/displaying-bitmaps/index.html高效加转载 2015-04-16 15:20:04 · 415 阅读 · 0 评论 -
android string.xml 添加特殊字符以及android String资源 包含 数学符号等特殊字符 及 参数占位符
android String资源 包含 数学符号等特殊字符 及 参数占位符问题:定义: Hello formatted="false" >值=(B-C)÷((C+D))×100%,若]]> 你好,我是%1$s,今年%2$d岁使用:String s = this.getResrcStr(R.string.str3);s = S原创 2014-12-11 09:46:09 · 3222 阅读 · 0 评论 -
字符串按指定字节数截取、隐藏与显示输入软键盘、收起状态栏以及判断服务是否运行功能代码段
1、字符串中指定字节数截取,以及多余部分显示方式2、隐藏与显示输入软键盘3、收起状态栏的解决方法4、判断服务是否运行功能原创 2014-12-11 10:01:02 · 541 阅读 · 0 评论 -
关于Activity调用finish却不立即执行onDestory的困惑
最近在做一个项目时,碰到一个bug:在当前activity中注册广播接收器,接收到广播时做一些业务逻辑,而把注销广播接收器的方法写在onDestory中,当前activity调用finish方法后,偶尔还能接收到广播,即广播接收器没有被立即注销。 经过查看项目代码,初步调查发现bug原因定位到:Activity调用finish却不立即执行onDestory方法,导致广播接收器没有被原创 2015-03-25 19:23:38 · 7343 阅读 · 0 评论 -
[Android Studio] Gradle项目中添加JNI生成文件(.so文件)
1、在src/main中添加 jniLibs文件夹 ,把.so复制进去2、在转载 2016-03-28 14:27:34 · 513 阅读 · 0 评论 -
应用开发进阶必经之路之性能优化
性能优化在一款产品的迭代过程中非常重要;程序实现了功能、还原产品原型只能保证程序能用,但如果要让用户更愿意使用,产品得好用。试想一下如果你开发的产品启动慢、页面显示需要长时间转圈加载、页面切换卡顿、黑白屏、用一会机器就发烫、耗内存、OOM、程序切换到后台后占用内存无法释放......,这些问题就像正在玩游戏时弹出提示框这类糟糕的用户体验一样让用户恼火,如果用户不得不使用你的产品,可能还会一直忍受;转载 2016-10-18 16:46:52 · 1595 阅读 · 0 评论 -
Android 各大网络请求库的比较及实战
自己学习android也有一段时间了,在实际开发中,频繁的接触网络请求,而网络请求的方式很多,最常见的那么几个也就那么几个。本篇文章对常见的网络请求库进行一个总结。HttpUrlConnection最开始学android的时候用的网络请求是HttpUrlConnection,当时很多东西还不知道,但是在android 2.2及以下版本中HttpUrlConnection存在着一些b转载 2016-10-18 16:45:07 · 440 阅读 · 0 评论 -
Android Studio几款实用的插件
1、android-butterknife-zeleznyandroid-butterknife-zelezny 是根据butterknife定制的一款插件,能够方便快速初始化,对于我来说是开发必备,本人也对此插件进行了一些优化,个人感觉用起来更爽 ,博客地址:ButterknifePlugin2、SelectorChapek设计师给我们提供好了各种资源,每个按转载 2016-10-17 15:54:59 · 2116 阅读 · 0 评论 -
Android 中的 Service 全面总结
1、Service的种类按运行地点分类:类别区别 优点缺点 应用本地服务(Local)该服务依附在主进程上, 服务依附在主进程上而不是独立的进程,这样在一定程度上节约了资源,另外Local服务因为是在同一进程因此不需要IPC,也不需要AIDL。相应bindService会方便很多。 主进程被K转载 2016-10-09 15:04:52 · 315 阅读 · 0 评论 -
Android Studio NDK-Jni开发小Demo
Java Native Interface (JNI)标准是java平台的一部分,它允许Java代码和其他语言写的代码进行交互。JNI 是本地编程接口,它使得在 Java 虚拟机 (VM) 内部运行的 Java 代码能够与用其它编程语言(如 C、C++ 和汇编语言)编写的应用程序和库进行交互操作。由于Android的应用层的类都是以Java写的,这些Java类编译为Dex型式的Bytecode之后原创 2016-04-14 13:30:10 · 6848 阅读 · 3 评论