Android开发
文章平均质量分 86
攻城狮Luke(刘健彬)
在深圳某IOT企业任职技术专家,擅长的技术领域包括Spring Cloud、Spring Cloud Alibaba、微服务架构、Docker、Kubernetes、分布式事务、高并发多线程、消息队列、数据库、数据结构与算法、网络数据安全、JVM、DevOps等,拥有丰富的互联网一线开发与架构经验。开源分布式事务框架milo作者,CSDN知名博主。
展开
-
android使用inSampleSize、inScaled、inDensity、inTargetDensity对图片进行缩放
本文首先总结一下Bitmap的相关概念,然后通过一个实际的问题来分析设置BitmapFactory.options的注意事项,以减少不必要的内存占用率,避免发生OOM。一、 Bitmap的使用trick尽量不要使用setImageBitmap或setImageResource 或BitmapFactory.decodeResource来设置一张大图, 因为这些函数在完成deco转载 2015-06-15 19:16:33 · 5251 阅读 · 1 评论 -
Android PowerImageView实现,可以播放动画的强大ImageView
我个人是比较喜欢逛贴吧的,贴吧里总是会有很多搞笑的动态图片,经常看一看就会感觉欢乐很多,可以释放掉不少平时的压力。确实,比起一张单调的图片,动态图片明显更加的有意思。一般动态图片都是GIF格式的,浏览器中可以直接将这种格式的图片播放成动画。不过很可惜的是,Android的原生控件并不支持播放GIF格式的图片。我们都知道,在Android中如果想要显示一张图片,可以借助ImageView转载 2015-05-03 02:24:08 · 728 阅读 · 0 评论 -
Android大牛博客集
Android中文WikiAndroidStudio-NDK开发-移动开发团队谦虚的天下 - 博客园gundumw100博客 - android进阶分类文章列表 - ITeye技术网站CSDN博文精选:Android系列开发博客资源汇总 - CSDN.NET - CSDN资讯Android笔记本——半年来的研究笔记,导航。 - 思想实践地 - CSDN博客【魏祝林】An转载 2015-04-30 13:10:55 · 8432 阅读 · 0 评论 -
混淆器生成文件的作用
参考自:http://android.tgbus.com/Android/tutorial/201107/358743.shtmlhttp://hi.baidu.com/benbearlove/blog/item/aaa36de671f3153db93820e2.html ProGuard是一个压缩、优化和混淆Java字节码文件的免费的工具,它可以删除无用的类、字段转载 2015-04-30 13:01:41 · 664 阅读 · 0 评论 -
google_protobuf数据类型
要通信,必须有协议,否则双方无法理解对方的码流。在protobuf中,协议是由一系列的消息组成的。因此最重要的就是定义通信时使用到的消息格式。 Protobuf消息定义消息由至少一个字段组合而成,类似于C语言中的结构。每个字段都有一定的格式。字段格式:限定修饰符① | 数据类型② | 字段名称③ | = | 字段编码值④ | [字段默认值⑤]①.限定修饰符包转载 2015-04-22 00:23:03 · 559 阅读 · 0 评论 -
apk编译/反编译工具baksmali和smali用法
smali:An assembler/disassembler for Android's dex formatsmali 下载地址:http://code.google.com/p/smali/downloads/list用法如下:首先把baksmali-1.4.1.jar和smali-1.4.1.jar文件放到android sdk安装路径下的tools里面,把apk用Wi转载 2015-04-29 15:26:22 · 889 阅读 · 0 评论 -
protobuf 中的嵌套消息的使用
之前已经介绍了protobuf的简单的使用,不过还留下了一个问题,那就是之前主要介绍的都是对简单数据的赋值,简单数据直接采用set_xx()即可,但是如果不是简单变量而是自定义的复合类型变量,就没有简单的set函数调用了,下面看一个简单的例子。在网络游戏中,游戏玩家之间的同步是一个最基本的功能,而同步是通过对坐标的广播进行的,因此我们假设一个简单的模型,当一个玩家的位置发生变化时,将玩家的新位转载 2015-04-22 00:24:10 · 13587 阅读 · 3 评论 -
protobuf文件嵌套结构实例
class LogonReqMessage : public ::google::protobuf::MessageLite { public: LogonReqMessage(); virtual ~LogonReqMessage(); // implements Message ------------------------------------------转载 2015-04-22 00:26:33 · 4268 阅读 · 0 评论 -
Android中Parcelable接口用法
1. Parcelable接口Interface for classes whose instances can be written to and restored from a Parcel。 Classes implementing the Parcelable interface must also have a static field called CREATOR, whi转载 2015-04-20 16:13:00 · 465 阅读 · 0 评论 -
郭大侠我要比你还吊
不知不觉,一年就这样又过去了。记得在去年的最后一天,我写了一篇年终总结,回顾了一年里所发生的点点滴滴,那么我就尽量把写年终总结养成一种习惯吧。今天是2014年的最后一天,在这一年当中,我的成长和收获也算是颇为丰富,下面就来回顾一下这一年所发生的事情吧。其实我个人认为,给自己制定目标是一件非常有必要的事情,目标不一定要很远大,也可以是短期的小目标。它能够指引你在什么时间应该做什么事情,并转载 2015-04-24 13:30:26 · 603 阅读 · 0 评论 -
Android照片墙加强版,使用ViewPager实现画廊效果
记得关于照片墙的文章我已经写过好几篇了,有最基本的照片墙,有瀑布流模式的照片墙,后来又在瀑布流的基础之上加入了查看大图和多点触控缩放的功能。总体来说,照片墙这个Demo在这几篇文章的改进中已经变得较为完善了,本想关于这个功能的系列到此为止,但有朋友跟我反应,觉得在查看大图的时候最好能通过左右滑动来浏览前后的图片。恩,确实,好像比较高端的一些应用都有这样的效果,那么本篇文章中我们来继续对照片墙这个D转载 2015-04-15 16:36:34 · 827 阅读 · 0 评论 -
Android视图绘制流程完全解析,带你一步步深入了解View(二)
相信每个Android程序员都知道,我们每天的开发工作当中都在不停地跟View打交道,Android中的任何一个布局、任何一个控件其实都是直接或间接继承自View的,如TextView、Button、ImageView、ListView等。这些控件虽然是Android系统本身就提供好的,我们只需要拿过来使用就可以了,但你知道它们是怎样被绘制到屏幕上的吗?多知道一些总是没有坏处的,那么我们赶快进入到转载 2015-04-24 16:52:16 · 445 阅读 · 0 评论 -
Android LayoutInflater原理分析,带你一步步深入了解View(一)
有段时间没写博客了,感觉都有些生疏了呢。最近繁忙的工作终于告一段落,又有时间写文章了,接下来还会继续坚持每一周篇的节奏。有不少朋友跟我反应,都希望我可以写一篇关于View的文章,讲一讲View的工作原理以及自定义View的方法。没错,承诺过的文章我是一定要兑现的,而且在View这个话题上我还准备多写几篇,尽量能将这个知识点讲得透彻一些。那么今天就从LayoutInflater开始讲起吧。转载 2015-04-24 13:04:40 · 543 阅读 · 0 评论 -
基于ViewPager实现Gallery画廊效果
通过我们前面的学习,我们知道ViewPager是可以做出近乎完美的滑动体验,回顾整个Android,我们发现Gallery具备同样的特点,于是我们大胆地猜想,Gallery是否和ViewPager之间有些关联呢?两者在功能上的类似和重叠,总会让我们对此充满好奇,我们开始思考:如果不借助Gallery,我们能否做出像Gallery一样的效果呢?答案是肯定的。那么,我们今天就来一起学习自己动手打造一个转载 2015-04-15 17:47:22 · 1163 阅读 · 0 评论 -
android listview适配器里区分不同按钮的点击事件
一、适配器 ListItemClickAdapterpublic class ListItemClickAdapter extends BaseAdapter { private Context contxet; private ArrayList list; private ListItemClickHelp callback; private LayoutInflater转载 2015-04-14 12:18:43 · 894 阅读 · 0 评论 -
android 自定义进度条颜色
android 自定义进度条颜色先看图基于产品经理各种自定义需求,经过查阅了解,下面是自己对android自定义进度条的学习过程!这个没法了只能看源码了,还好下载了源码, sources\base\core\res\res\ 下应有尽有,修改进度条颜色只能找progress ,因为是改变样式,首先找styles.xml找到xml后,进去找到转载 2015-04-23 23:36:10 · 899 阅读 · 0 评论 -
分析内存的使用情况
由于Android是为移动设备开发的操作系统,我们在开发应用程序的时候应当始终把内存问题充分考虑在内。虽然Android系统拥有垃圾自动回收机制,但这并不意味着我们就可以完全忽略何时去分配或释放内存。即使我们全部按照上一篇文章中给出的编程建议来去编写程序,还是会很有可能出现内存泄露或其它类型的内存问题。所以,唯一能够解决问题的办法,就是尝试去分析应用程序的内存使用情况,那么本篇文章就会教大家如何进转载 2015-04-19 19:43:58 · 527 阅读 · 0 评论 -
Android Service完全解析,关于服务你所需知道的一切(下)
在上一篇文章中,我们学习了Android Service相关的许多重要内容,包括Service的基本用法、Service和Activity进行通信、Service的销毁方式、Service与Thread的关系、以及如何创建前台Service。以上所提到的这些知识点,基本上涵盖了大部分日常开发工作当中可能使用到的Service技术。不过关于Service其实还有一个更加高端的使用技巧没有介绍,即远程转载 2015-04-06 17:25:28 · 524 阅读 · 0 评论 -
Android 混淆代码
为了防止自己的劳动成果被别人窃取,混淆代码能有效防止被反编译,下面来总结以下混淆代码的步骤:1. 大家也许都注意到新建一个工程会看到项目下边有这样proguard-project.txt一个文件,这个对混淆代码很重要,如果你不小心删掉了,没关系,从其他地方拷贝一个过来2. 最重要的就是在proguard-project.txt添加混淆的申明了: a. 把所有你的jar包转载 2015-04-28 13:14:53 · 482 阅读 · 0 评论 -
Proguard
ExamplesSome typical useful configurations:A typical applicationA typical appletA typical midletA typical Java Card appletA typical xletA simple Android activityA complete Android applicationA t转载 2015-04-28 14:11:10 · 1290 阅读 · 0 评论 -
Android 代码混淆、第三方平台加固加密、渠道分发 完整教程(图文)
第一步:代码混淆(注意引入的第三方jar) 在新版本的ADT创建项目时,混码的文件不再是proguard.cfg,而是project.properties和proguard-project.txt。新建一个项目的时候,会自动生成project.properties和proguard-project.txt文件,无需自己新建,如果你的项目无法自动生成,那么你就要检查一下你的A转载 2015-04-28 17:08:46 · 757 阅读 · 0 评论 -
OpenAtlas
OpenAtlas ,a Android Component Plugin FrameworkThe MIT License (MIT) Copyright (c) 2015 Bunny Blue,achellies至于资源这块处理仁者见仁智者见智。代码遵循MIT License,目前使用patch aapt进行资源分区,虽然现在这个项目带有插件的名字,严格意义上说这个已经从插件里面出转载 2015-05-25 14:20:36 · 1091 阅读 · 0 评论 -
Android图片库Fresco
Fresco是Facebook最新推出的一款用于Android应用中展示图片的强大图片库,可以从网络、本地存储和本地资源中加载图片。其中的Drawees可以显示占位符,直到图片加载完成。而当图片从屏幕上消失时,会自动释放内存。快速而又高效的显示图片对Android设备来说是件极其重要的事情,但在过去的几年里,在有效存储图像方面我们面临了很多问题。图片太大,而手机又只有很小的内存,特别是转载 2015-04-02 09:35:37 · 891 阅读 · 0 评论 -
彻底解决Android 拍照 内存溢出 Out of Memory的问题
内存溢出相信做过编程的人都知道一二,这里说Android 内存溢出的问题:、问题描述:Android下的相机在独自使用时,拍照没有问题,通过我们的代码调用时,也正常,但是更换了不同厂商的平板,ROM由Android4.0变成了Android4.1后,拍照出现了OutOfMemory异常,程序中断退出。如何解决这个问题呢?二、先看看我们之前所写的代码1) 调用系统相机(没有怀疑这里出错,代码转载 2015-05-23 10:12:27 · 1366 阅读 · 0 评论 -
GitHub上史上最全的Android开源项目分类汇总
https://github.com/Trinea/android-open-projectAndroid开源项目分类汇总Android 开源项目源码解析(Volley、UIL、Dagger、EventBus、xUtils 等分析)Android 职位内部推荐(阿里、百度、美团、点评、魅族等)codeKK专注于开源项目源码解析、开源项目分享、转载 2015-06-05 09:50:13 · 3862 阅读 · 0 评论 -
Android Matrix
Android MatrixMatrix的数学原理平移变换旋转变换缩放变换错切变换对称变换代码验证 Matrix的数学原理在Android中,如果你用Matrix进行过图像处理,那么一定知道Matrix这个类。Android中的Matrix是一个3 x 3的矩阵,其内容如下: Matrix的对图转载 2015-05-19 18:44:53 · 571 阅读 · 0 评论 -
Android View 事件分发机制 源码解析 (上)
一直想写事件分发机制的文章,不管咋样,也得自己研究下事件分发的源码,写出心得~首先我们先写个简单的例子来测试View的事件转发的流程~1、案例为了更好的研究View的事件转发,我们自定以一个MyButton继承Button,然后把跟事件传播有关的方法进行复写,然后添加上日志~MyButton[java] view plaincopy转载 2015-06-03 10:10:36 · 504 阅读 · 0 评论 -
Android新控件RecyclerView浅析及上拉和下拉刷新
概述:RecyclerView是android-support-v7-21版本中新增的一个Widgets,RecyclerView是ListView的升级版本,更加先进和灵活。在以后的开发中我们就可以直接使用RecyclerView来替换ListView。特点介绍:1. 可横向展示2. 消除错位问题3. 标准化了ViewHolder转载 2015-06-03 09:22:07 · 976 阅读 · 0 评论 -
android打包准备:混淆第三方jar包(Gson, greenDao,sharesdk,UIL,高德地图, unity,pinyin4j,async http,JPush,EventBus等)
1、Gson混淆## ----------------------------------## ########## Gson混淆 ############ -----------------------------------keepattributes Signature-keep class sun.misc.Unsafe { *; }-keep class转载 2015-06-03 18:41:23 · 909 阅读 · 0 评论 -
Android VLC播放器二次开发2——CPU类型检查+界面初始化
上一篇讲了VLC整个程序的模块划分和界面主要使用的技术,今天分析一下VLC程序初始化过程,主要是初始化界面、加载解码库的操作。今天主要分析一下org.videolan.vlc.gui.MainActivity类,这个是VLC的整个程序入口。当然,严格来说,整个程序入口是VLCApplication类,因为VLC重载了Application,在我分析过的代码里面,貌似稍微复杂一点的程序,都喜欢重载A转载 2015-06-04 13:01:38 · 722 阅读 · 0 评论 -
Android 快速开发系列 打造万能的ListView GridView 适配器
1、概述相信做Android开发的写得最多的就是ListView,GridView的适配器吧,记得以前开发一同事开发项目,一个项目下来基本就一直在写ListView的Adapter都快吐了~~~对于Adapter一般都继承BaseAdapter复写几个方法,getView里面使用ViewHolder模式,其实大部分的代码基本都是类似的。本篇博客为快速开发系列的第一篇,将一步一步带您转载 2015-06-03 23:04:45 · 727 阅读 · 0 评论 -
Android ViewGroup事件分发机制(下)
上一篇已经完整的解析了Android View的事件分发机制,今天给大家代码ViewGroup事件分发的源码解析~~凡是自定义ViewGroup实现各种滑动效果的,不可避免的会出现很多事件的冲突,对ViewGroup事件分发机制的了解,也有益于大家了解冲突产生的原因,以及对冲突进行处理~1、案例首先我们接着上一篇的代码,在代码中添加一个自定义的LinearLayout:转载 2015-06-03 10:43:03 · 623 阅读 · 0 评论 -
Andriod中绘(画)图----Canvas的使用详解
由于在网络上找到关于Canvas的使用都比较抽象,也许是我的逻辑思维不太好吧,总是感觉理解起来比较困难, 尤其是对save()和restore()方法的使用。本篇文章的内容就是对Canvas的使用进行一下总结,包括它的两种不同的使用 情节和它的一些方法进行一下说明。 1 Bitmap,可以来自资源/文件,也可以在程序中创建,实际上的功转载 2015-05-28 23:15:54 · 668 阅读 · 0 评论 -
Android在ScrollView中嵌套ListView,ListView高度设置问题
项目中需要在ScrollView中套个ListView,ListView的Item是动态添加的,故高度也需要动态设置,在网上找了一天,发现文章出处都是在http://stackoverflow.com/questions/3495890/how-can-i-put-a-listview-into-a-scrollview-without-it-collapsing ,网上中文转载,基本都是引用如下转载 2015-05-21 10:57:18 · 1018 阅读 · 0 评论 -
Android开发好还是J2EE好
很多同学咨询过同样的一个问题,该问题也是最备受争议的问题,那就是到底是选择Android还是选择JavaEE。下面发表一些本人的看法。 Android属于一个特有的Java技术应用,专注于做Android手机的App,目前随着Android市场的快速发展需求量也很旺盛,所以出现了学习Android的学员平均工资比JavaEE高点的现象。但是看待问题要透过现象看本质,而JavaEE才转载 2015-05-15 18:41:04 · 2467 阅读 · 1 评论 -
Android实现图片多点触控自由伸缩
简介作为Android开发者,我们经常需要自定义控件,比如下面我们说的实现图片的多点触控和伸缩释放,这也是由于用户已经有这样的常识了,那就是看见有图片的地方就可以点击查看大图,并且可以通过手指对图片进行伸缩和移动,如果应用没有实现这一点,那么对用户来说将会是很糟糕的体验,用户很“愤怒”。所以作为Android开发者,我们的任务就是让用户“爽”。哈哈哈。。。。下面我们将通过自定义ImageVie原创 2015-05-20 22:22:16 · 1691 阅读 · 1 评论 -
Android性能优化典范(1)
2015新年伊始,Google发布了关于Android性能优化典范的专题,一共16个短视频,每个3-5分钟,帮助开发者创建更快更优秀的Android App。课程专题不仅仅介绍了Android系统中有关性能问题的底层工作原理,同时也介绍了如何通过工具来找出性能问题以及提升性能的建议。主要从三个方面展开,Android的渲染机制,内存与GC,电量优化。下面是对这些问题和建议的总结梳理。0)R转载 2015-05-06 10:20:40 · 515 阅读 · 0 评论 -
Android反编译教程
这段时间在学Android应用开发,在想既然是用Java开发的应该很好反编译从而得到源代码吧,google了一下,确实很简单,以下是我的实践过程。在此郑重声明,贴出来的目的不是为了去破解人家的软件,完全是一种学习的态度,不过好像通过这种方式也可以去汉化一些外国软件。本文Android反编译教程,测试环境:Win7 Ultimate x64Ubun转载 2015-04-28 12:08:18 · 494 阅读 · 0 评论 -
Android Service完全解析,关于服务你所需知道的一切(上)
相信大多数朋友对Service这个名词都不会陌生,没错,一个老练的Android程序员如果连Service都没听说过的话,那确实也太逊了。Service作为Android四大组件之一,在每一个应用程序中都扮演着非常重要的角色。它主要用于在后台处理一些耗时的逻辑,或者去执行某些需要长期运行的任务。必要的时候我们甚至可以在程序退出的情况下,让Service在后台继续保持运行状态。不过,虽然转载 2015-04-06 15:55:40 · 515 阅读 · 0 评论 -
android 照相获取图片路径
在android中,照相功能系统已经提供,在app中可以直接使用。当手机从android play里面下载有照相功能的应用时, 会判断手机是否支持。不支持,不给予下载。照相有几个步骤:1. 声明权限2. 使用Camera照相3. 显示图片1. 声明权限在manifest里面声明使用Camera:[html] vie转载 2015-04-11 13:08:01 · 1386 阅读 · 0 评论