Android基础
路遥在路上
这个作者很懒,什么都没留下…
展开
-
Android自定义组合型控件
项目接近尾声,开发过程中碰到的很多知识和bug都没有及时记录下来。在这里想回顾一下整个项目中用到的技术点和一些问题的解决方法,方便以后查阅,温故而知新,也和大家分享一下自己的一点心得。。 开发过程中,对于设计图中出现两次以上的重复控件,我们基本就需要考虑去进行封装,有的并不仅仅只是简单的一个输入框或者按钮,而是各种控件的组合。这时候,我们就需要对组合控件进行封装。举个简单的例子,原创 2015-12-07 22:46:41 · 538 阅读 · 0 评论 -
Android实现静默安装和智能安装
静默安装,就是指在程序安装时,用户并不会感知到安装的过程,自己就安装完成了。一些系统自带应用市场会具有静默安装的功能,比如小米的应用市场。在一些非系统自带的应用市场,要想完成静默安装,就必须具有root权限。可见权限的重要性,在系统的支持下,你可以做到很多别人做不到的事情。当然,像360手机卫士,应用宝,豌豆荚之类的非系统支持的应用市场,大多使用了智能安装,仍然会弹出系统安装弹窗,但是会迅速自动点击.原创 2017-01-18 18:17:11 · 750 阅读 · 1 评论 -
启动Service报错:Service Intent must be explicit
google在安全方面给开发者的限制正在变得越来越多,5.0中的必须显示启动Service,废弃`getRunningTasks`方法,6.0中的运行时权限,包括7.0中取消的一些系统广播,无一不让我们的系统更加健壮,更加安全,也让一些app厂家少钻一些空子。原创 2016-12-09 12:31:26 · 758 阅读 · 0 评论 -
Gradle多渠道打包以及混淆配置总结
一. 多渠道打包 当我们想了解产品在不同的应用市场的表现时,会在项目中加入一些统计服务,例如友盟,Bugly等等,这就需要我们给分发到不同应用市场的apk加个特定的标示——渠道名。每个应用市场的apk有自己特定的渠道名,这样这些第三方统计服务就可以统计到相应的数据了。1.给一个渠道打包 这里以Bugly为例,我们在AndroidManifest.xml文件中添加一个标签如下:<meta-da原创 2016-12-05 16:43:46 · 3395 阅读 · 0 评论 -
图片加载机制——压缩,缓存,线程池
昨天看了《Android开发艺术探索》的第十二章,Bitmap的加载和Cache,里面实现了一个ImageLoader,还是涉及到了不少知道的,Bitmap的压缩,LruCache,DiskLruCache,同步异步加载,线程池,把这些知识综合起来完成了一个图片加载类ImageLoader。根据书中知识来大概分析一下这个类,免得过段时间又啥都记不得了。原创 2016-01-27 23:36:46 · 1020 阅读 · 0 评论 -
ListView与RadioButton组合实现单选列表
单选列表是我们开发过程经常遇到的情况,AlertDialog中可以通过setSingleChoiceItems()方法来实现单选列表。当我们需要动态获取列表内容的时候就经常用到ListView,在ListView中实现单选列表也很简单。原创 2016-01-08 15:41:06 · 4570 阅读 · 0 评论 -
Android获取当前屏幕截图,简单粗暴!
获取当前屏幕截图的简单方法原创 2015-12-09 16:50:09 · 11716 阅读 · 2 评论 -
Mob平台Smssdk获取短信验证码
短信验证码可以说是现在app中必备的功能,当然开发过程也很简单,各种各样的短信平台服务也很多,这里我用的是Mob平台的短信验证码服务。http://www.mob.com,注册登录,点击右上角头像,进入后台,选择SecurityCodeSdk,创建应用,获取到App Secre和App Key,下载SMSSDK,我这里使用的是2.0版本,准备工作就做好了。 http://wiki原创 2015-12-18 17:02:01 · 4233 阅读 · 0 评论 -
收集一些Android常用混淆代码
ButterKnifeGson 反编译过别人的jar或者apk的小伙伴肯定会发现大量的类名,方法名,变量名等等,都被替换成了a,b,c,d之类的字母,造成难以阅读。代码混淆是保障我们代码安全的一种有力手段,但是并不是所有代码都需要被混淆的,不恰当的混淆可能导致项目无法正常运行。下面收集一些开发当中常用的一些三方依赖的混淆代码。1.ButterKnife# Retain generated clas原创 2016-10-24 17:37:30 · 363 阅读 · 0 评论 -
WebView实现全屏播放的一种方法
用过WebView的开发者们肯定都知道这里面的坑数不胜数,加载缓慢,内存泄露,文件选择……没错,全屏播放视频,这又是一个大坑。一个没有修饰过的原生WebView几乎不可能在某一个主流视频网站实现全屏播放,倘若在客户端自己实现简单的播放器,链接拿过来,摆个VideoView,想怎么全屏怎么全屏,放在WebView上,一切就悲剧了,大多数情况下点击全屏按钮是没有反应的,或者无法实现横屏全屏。今天来介绍一原创 2016-10-21 14:45:20 · 7045 阅读 · 1 评论 -
Fiddler安卓手机抓包基本使用
Fiddler是一个轻量级的http抓包工具,且有良好的用户界面,实用强大易上手。通过设置代理接受处理所有的http请求和响应,可以很轻松的对手机上的安卓应用进行抓包。Fiddler下载地址:http://www.telerik.com/fiddler原创 2016-08-09 00:26:18 · 14942 阅读 · 1 评论 -
android:windowSoftInputMode属性解析
大家肯定都碰到过输入法不按自己的预期出现的问题,软键盘出现的时机,出现的位置,这个我们都是可以控制的。通过InputMethodManager可以控制软键盘的显示与隐藏,这个就不多说了,同样在AndroidManifest.xml文件中我们也可以对软键盘进行控制。在节点下有这么一个属性,android:windowSoftInputMode,下面结合API指南来一一分析。 a原创 2016-03-07 14:59:46 · 824 阅读 · 0 评论 -
在前台创建Service
关于Service,我们经常使用它来进行一些不需要进行界面展示的后台任务,比如下载之类的。今天我们来一看一种Service,在前台进行创建。前台服务是很难被应用杀死的,像通知栏里面的音乐播放器,计步器等等,如果不使用360等清理软件,一般情况下是不会被杀死的,一直存在于通知栏中。简而言之,前台服务就是运行在通知栏中的一种服务。下面直接来Service类的代码。public class ForeGro原创 2016-02-17 17:52:11 · 732 阅读 · 0 评论 -
Android常用工具类
这里总结一下开发中常用的一些工具类,方便以后直接拿来用。不断更新中。原创 2015-12-30 18:27:20 · 652 阅读 · 0 评论 -
三种方式实现在一个Activity中控制另一个Activity的UI的更新
开发过程中有时候会遇到这样的需求,在这个Activity里面拿到了某个数据,然后需要用这个数据去更新另一个Activity的UI。这里通过一个Demo,讲解一下实现这个需求的三种方法。首先说一下这个demo的需求,很简单,两个Activity,OneActivity中有一个TextView,里面有原始值,还有一个按钮用来跳转到SecondActivity。SecondActivity中有两个按钮,一原创 2016-01-07 15:37:53 · 1740 阅读 · 0 评论 -
一劳永逸的屏幕适配方案
安卓中的屏幕适配往往是一件令人头痛的事情,多种多样的屏幕分辨率给我们的适配工作带来了很大的麻烦。Google官方建议我们使用dp代替px,但是设计师给到我们的设计图中大多标注的都是px,让我们在写xml文件的时候很是不爽,相信没有一个程序员愿意在编写xml文件上花费大量时间。回想起刚刚接触安卓时的野蛮适配,按照设计图标注的px值除以二作为dp值直接怼到布局文件上,考虑到当时320dpi的设备还是比较原创 2017-02-22 11:27:05 · 624 阅读 · 0 评论