设计模式—适配器模式

转载请注明出处:http://blog.csdn.net/singwhatiwanna/article/details/17659905 前言 适配器模式在设计模式体系中属于结构型模式,可以分为三类:类的适配器模式、对象的适配器模式和接口的适配器模式,由于类和接口的适配器模式需要适配器继承原有的类,而纯面向对象语言Java、C#都是不支持多继承的,这在一定程度上制约了类和接口的适配器模式的使用...
阅读(5194) 评论(7)

Android动画进阶—使用开源动画库nineoldandroids

转载请注明出处:http://blog.csdn.net/singwhatiwanna/article/details/17639987 前言 Android系统支持原生动画,这为应用开发者开发绚丽的界面提供了极大的方便,有时候动画是很必要的,当你想做一个滑动的特效的时候,如果苦思冥想都搞不定,那么你可以考虑下动画,说不定动画轻易就搞定了。下面再简单回顾下Android中的动画,本文后面会介绍...
阅读(40493) 评论(27)

Android源码分析—带你认识不一样的AsyncTask

转载请注明出处:http://blog.csdn.net/singwhatiwanna/article/details/17596225 前言 什么是AsyncTask,相信搞过android开发的朋友们都不陌生。AsyncTask内部封装了Thread和Handler,可以让我们在后台进行计算并且把计算的结果及时更新到UI上,而这些正是Thread+Handler所做的事情,没错,Async...
阅读(18226) 评论(47)

android中图片的三级cache策略(内存、文件、网络)之三:文件缓存策略

前言 如果想很好地理解下面的故事,请参看我半年前写的两篇博文:android中图片的三级cache策略(内存、文件、网络) 一 和 android中左右滑屏的实现(广告位banner组件),还有昨天晚上写的android中图片的三级cache策略(内存、文件、网络)之二:内存缓存策略。 文件缓存策略 当一张图片从网络下载成功以后,这个图片会被加入内存缓存和文件缓存,对于文件缓存来说,这张...
阅读(10421) 评论(12)

android中图片的三级cache策略(内存、文件、网络)之二:内存缓存策略

前言 记得很久之前我写了一篇banner的文章,好多朋友找我要代码,并要我开放banner中使用的图片管理工厂-ImageManager。如果想很好地理解下面的故事,请参看我半年前写的两篇博文:android中图片的三级cache策略(内存、文件、网络) 一 和 android中左右滑屏的实现(广告位banner组件)。当时没有发上来是由于如下几点原因:首先代码较多,其次当时写的时候也参考了...
阅读(14274) 评论(29)

高仿微信对话列表滑动删除效果

转载请注明出处:http://blog.csdn.net/singwhatiwanna/article/details/17515543 前言 用过微信的都知道,微信对话列表滑动删除效果是很不错的,这个效果我们也可以有。思路其实很简单,弄个ListView,然后里面的每个item做成一个可以滑动的自定义控件即可。由于ListView是上下滑动而item是左右滑动,因此会有滑动冲突,也许你需要了...
阅读(33029) 评论(149)

为什么工厂模式是华而不实的—浅谈工厂模式的利与弊

转载请注明出处:http://blog.csdn.net/singwhatiwanna/article/details/17428923说明:博主虚心接受大家的抨击,批评,指正前言我一直想介绍下工厂模式,我曾经搞过J2EE,用的是轻量级SSH框架,其中Spring有IOC概念,可以称之为控制反转或者依赖注入,在系统开发中,IOC可以很好的替代工厂模式。若干年前,我只用过IOC,并没有用过工厂模式,...
阅读(12511) 评论(48)

Android源码分析-消息队列和Looper

转载请注明出处:http://blog.csdn.net/singwhatiwanna/article/details/17361775 前言 上周对Android中的事件派发机制进行了分析,这次博主要对消息队列和Looper的源码进行简单的分析。大家耐心看下去,其实消息队列的逻辑比事件派发机制简单多了,所以大家肯定会很容易看懂的。 概念 1. 什么是消息队列 消息队列在android中...
阅读(10923) 评论(16)

Android获取系统内核版本的方法

看网上关于这个问题的帖子挺少的,和大家分享一下。 public static String getKernelVersion() { String kernelVersion = ""; Process process = null; try { process = Runtime.getRuntime().ex...
阅读(6486) 评论(6)

Android源码分析-点击事件派发机制

转载请注明出处:http://blog.csdn.net/singwhatiwanna/article/details/17339857 概述 一直想写篇关于Android事件派发机制的文章,却一直没写,这两天刚好是周末,有时间了,想想写一篇吧,不然总是只停留在会用的层次上但是无法了解其内部机制。我用的是4.4源码,打开看看,挺复杂的,尤其是事件是怎么从Activity派发出来的,太费解了。了...
阅读(17359) 评论(35)

Android程序Crash时的异常上报

转载请注明来源:http://blog.csdn.net/singwhatiwanna/article/details/17289479 前言 大家都知道,android应用不可避免的会发生crash,无论你的程序写的多完美,总是无法完全避免crash的发生,可能是由于android系统底层的bug,也可能是由于不充分的机型适配或者是糟糕的网络状况。当crash发生时,系统会kill掉你的程序...
阅读(20986) 评论(31)

使用ViewPager+Fragment来实现带滚动条的多屏滑动-IndicatorFragmentActivity

转载请注明出处:http://blog.csdn.net/singwhatiwanna/article/details/17201587 介绍 在android应用中,多屏滑动是一种很常见的风格,博主之前也写过一些多屏滑动的demo,比如滚动banner(http://blog.csdn.net/singwhatiwanna/article/details/8875241)和仿tabhost的...
阅读(27489) 评论(78)

分水岭算法及其应用

在作物的农业生产中,病害是影响作物产量的重要因素。因此,农作物生长过程中病害的防治就成了一个关键问题。近些年来,计算机图像处理以及模式识别理论有了很大的发展,使得在计算机上对作物病害进行智能化诊断成为了可能。图像分割作为一个关键的阶段,其效果直接影响着后期的特征提取和病害识别,因此,准确无误地分割出病害叶片上的病斑是至关重要的。 近年来,分水岭图像分割方法因其在处理图像分割问题时表现出的良好...
阅读(5310) 评论(3)

linux下统计代码行数

find ./source/FlashLight/src -name "*.h" -o -name "*.java" |xargs cat|grep -v ^$|wc -l 上述命令的含义是:统计 ./source/FlashLight/src 目录下所有h头文件和java文件的代码行数总和(空行不计入总数)...
阅读(3051) 评论(1)

OpenCV简介

OpenCV是Intel®开源计算机视觉库。它由一系列 C 函数和少量 C++ 类构成,实现了图像处理和计算机视觉方面的很多通用算法。OpenCV 拥有包括 300 多个C函数的跨平台的中、高层 API。它不依赖于其它的外部库——尽管也可以使用某些外部库。 OpenCV 对非商业应用和商业应用都是免费(FREE)的。(细节参考 license)。代码下载地址:http://www.sourc...
阅读(6049) 评论(3)

设计模式-单例模式

为什么需要单例模式有时候我们需要使用一个实用类A,这个类A专门提供一些公共功能供别人调用,而本身并不会处理业务逻辑。由于类A会被许多类乃至线程调用,假设我们的程序非常庞大,在运行的过程中,会访问这个类A100次,为了调用类A的方法,需要先创建A的对象,A a = new A()。这种方法在对A的访问量较少的情况下没问题,但是像我们这种情况,就会创建100个类A的实例,这100个实例是要占用内存的,...
阅读(20066) 评论(27)

android跨进程通信(IPC):使用AIDL

AIDL的作用     AIDL (Android Interface Definition Language) 是一种IDL 语言,用于生成可以在Android设备上两个进程之间进行进程间通信(interprocess communication, IPC)的代码。如果在一个进程中(例如Activity)要调用另一个进程中(例如Service)对象的操作,就可以使用AIDL生成可序列化的参数。...
阅读(51079) 评论(36)

Git中代码冲突的解决方式

使用Git管理代码,在进行代码提交的时候,如果出现了冲突该怎么办呢,下面就两种常见的冲突给出了解决方法,希望对大家有所帮助。 冲突1: 当你commit以后,在执行git pull --rebase的时候出现冲突,请按如下步骤解决: 1  找到冲突文件,解决冲突 2  执行git add xxx(xxx为冲突文件全路径) 3  执行git rebase --continue 4...
阅读(10316) 评论(1)

AppWidgetProvider使用介绍

一 介绍 AppWidgetProvider是android中提供的用于实现桌面小工具的类,其本质是一个广播,即BroadcastReceiver。下面是类的继承关系。 所以,在实际的使用中,把AppWidgetProvider当成一个BroadcastReceiver就可以了,这样许多功能就很好理解了。 二 开发一个桌面小工具的步骤 1 定义小工具界面:在res/layout...
阅读(13370) 评论(3)

android layout的一些注意事项

1. 最常用的布局是LinearLayout,RelativeLayout和FrameLayout 2. gravity属性对于LinearLayout和RelativeLayout有效,对FrameLayout无效 3. laout_gravity属性对于FrameLayout有效,对于LinearLayout内部元素部分有效(和orientation有关,如果是vertical,则top和...
阅读(6606) 评论(1)
89条 共5页首页 上一页 1 2 3 4 5 ... 下一页 尾页
    我的书
    微信公众号
    公众号
    聚焦于『Android开发前沿、AI技术、职业发展、生活感悟、妹子图』,欢迎大家关注。
    一句话介绍自己
    Android 资深工程师、混过腾讯、百度和滴滴,《Android开发艺术探索》作者
    爱生活,爱技术,爱妹子,爱游戏
    1群:215680213(已满)
    2群:190283084(已满)
    8群:635778578

    我的联系方式
    QQ:289832127
    singwhatiwanna@gmail.com

    个人资料
    • 访问:1796219次
    • 积分:15820
    • 等级:
    • 排名:第719名
    • 原创:87篇
    • 转载:2篇
    • 译文:0篇
    • 评论:2997条
    博客专栏
    我的微博
    最新评论