- 博客(21)
- 资源 (15)
- 收藏
- 关注
原创 JAVA设计模式之:代理模式--静态代理
代理模式: 为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。 静态代理:代理和被代理对象在代理之前是确定的,都实现相同的接口或继承相同的对象 。 代理模式一般涉及到三种角色对象:抽象角色,代理角色和真实角色。代理角色起到中介作用。//抽象角色:通过接口或抽象类声明真
2015-12-30 11:41:56 863
原创 Android学习笔记 :自定义HorizontalScrollView实现侧滑菜单
最近项目比较忙,没有多少时间看视屏学习,昨天晚上抽点时间看了点视屏,学习了如何自定义实现仿QQ侧滑菜单效果。在网上随便截了两张图,把学习的东西做个笔记。自定义HorizontalScrollView:public class SideSlipMenu extends HorizontalScrollView {// SideSlipMenu中的外层LinearLayoutprivate
2015-12-29 12:23:53 1834
原创 Android学习笔记:自定义实现流式布局
前几天在开发项目的时候,有一个需求是展示历史搜索启示 ,展示的样式是像瀑布流一样(每一行展示的控件个数根据控件的内容不同而不相同,当一行展示满后,自动换行展示)。最开始是自定义LinearLayout,通过判断view的位置和大小来换行。效果是实现了,但是在用的时候遇到bug了。前天学习的时候,正好看到老师讲的自定义ViewGroup实现流式布局样式,所以果断学习了。写个笔记 ,方便下次使用,感谢
2015-12-29 11:09:31 2439 2
原创 JAVA设计模式之:责任链模式
责任链模式:多个对象由其对象对应下家的引用连成一条链,请求在这个链上传递,直到链上的某一个接收对象处理此请求。因为请求的客户端并不知道链上最终是谁来处理这个请求,使得系统可以在不影响客户端的情况下动态地重新组织和分配责任,从而避免了请求发送者与请求处理者之间的耦合。 责任链械中涉及到三种角色: 1,抽象处理者角色 2,具体处理者角色 3,请求发送者 小例子:假设去买房
2015-12-24 12:21:28 1076
原创 WebView中加载页面错误处理
在Android项目中,我们通常会用WebView来加载网页面。使用方面,展示效果好,而且可以动态更新,用WebView来加载网页内容当然是我们开发APP的首页。不过,也有让人有点囧的时候。当我们的手机没有联网,或是服务端不小心瘫痪的时候,WebView展示的效果就有点不人性化哦。如图:这张图还是显示得比较好看,这是我在没有网络的情况下在手机浏览器中打开百度的样子。如果是我们的应用在加载页
2015-12-22 09:29:20 14576 1
原创 Android学习笔记:WebView常用技巧
WebView是我们在开发中经常使用到的一个控件。主要用来加载网页面或是Html格式的内容。其实就是在我们Android系统中网页浏览器。 在我们的Android程序中,使用WebView有什么优势呢?除了加载网页面方便以后,主要还有以下两方面的好处哦。 使用前记得添加网络权限 1. 动态更新:很多app都有使用h5页面做为应用的一部分,使用WebView加载h5页
2015-12-21 17:36:04 716
原创 使用WebView实现文件下载的两种方式
在应用中,通常会使用到文件下载功能,一般我们都是写一个下载操作工具类,在异步任务中执行下载功能。 今天我们来看下如何使用WebView的文件下载功能!方法1,自定义下载操作1.先来布局http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" xmlns:l
2015-12-21 17:30:38 14306 2
原创 JAVA设计模式之:工厂模式(下)--抽象工厂模式
抽象工厂模式是所有形态的工厂模式中最为抽象和最具一般性的一种形态。抽象工厂模式是指当有多个抽象角色时,使用的一种工厂模式。抽象工厂模式可以向客户端提供一个接口,使客户端在不必指定产品的具体的情况下,创建多个产品族中的产品对象。根据里氏替换原则,任何接受父类型的地方,都应当能够接受子类型。因此,实际上系统所需要的,仅仅是类型与这些抽象产品角色相同的一些实例,而不是这些抽象产品的实例。换言之,也就是这些
2015-12-21 11:46:36 943
原创 JAVA设计模式之:工厂模式(上)--工厂方法模式
工厂模式是我们最常用的实例化对象模式了,是用工厂方法代替new操作的一种模式。工厂模式一般有两种类型: - 列表内容 - 工厂方法模式 - 及抽象工厂模式(是工厂方法模式的扩展) 一般在什么情况下使用工厂方法模式呢? - 1,有多个类似(功能相似)的对象实例需要创建(new)。 - 2,写代码过程中不能事先知道需要创建哪种类型,多少数量等情况下实例对象。 - 3,扩展性的
2015-12-21 11:13:15 711
原创 简单获取Android手机中图片方法
public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);getPicsFr
2015-12-18 15:10:53 2350
原创 JAVA设计模式之:策略模式
策略模式指:策略模式指将程序中可变部分抽象分离成一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化。策略模式一般由下面三部分组成: 1. 抽象策略角色: 策略类,通常由一个接口或者抽象类实现。 2. 具体策略角色:包装了相关的算法和行为。 3. 环境角色:持有某一个策略类的引用,客户端调用。 策略模式设计原则:
2015-12-16 15:23:36 1461
原创 JAVA设计模式之:适配器模式
适配器模式是把一个类的接口适配成用户所期待的,使得原本由于接口不兼容而不能一起工作的一些类可以在一起工作从而实现用户所期望的功能。 适配器模式的优势:通过适配器,客户端可以调用统一接口,操作简单直接,并且代码逻辑紧凑,使用起来方便。代码复用,适配器模式就是解决因为环境要求不相同 的问题,通过适配实现代码复用。将目标类和适配器类解耦,通过新建一个适配器类来重用现在的类,不用再去重复修改原有代码,
2015-12-16 10:36:52 1395
原创 JAVA设计模式之:模板方法模式
我们在生活中,很多事情都包含特定的一些步骤。如去银行办理业务,通常步骤的次序是:取号 –> 填单 –> 等待叫号–>办理业务。这几个步骤中,有的是不变的,比如取号,每个人都要取,但有的是要变的,比如都有填单,但是根据不同的业务,填写的单据不同。又比如我们外出吃饭,一般的步骤是:点餐–>等待–>吃饭–>付钱,也能发现同样的规律。这样的事情数不胜数。 项目开发中,也可能遇到这样的情况,多
2015-12-14 14:16:19 1566
原创 JAVA设计模式之:单例模式
在我们的项目中,有的对象我们有且只需要一个就可以了,如项目配置文件,操作数据库,操作文件等的工具类,线程池,缓存文件操作等。此时,我们就可以应用单例模式实现这些需求。单例模式分为两种 ,一种是我们俗称的饿汉模式,一种是我们俗称的懒汉模式。 首先我们看懒汉模式的实现方式:/** * 单例模式之懒汉模式: * @description: */ public class LazierPa
2015-12-14 12:00:36 680
原创 Android实现刮刮卡抽奖(上)
自定义View实现刮刮卡界面: import android.annotation.SuppressLint; import android.content.Context; import android.graphics.Bitmap; import android.graphics.Bitmap.Config; import android.graphics.Canvas; impo
2015-12-08 09:30:13 1483
原创 AndroidStudio中使用DDMS工具
DDMS(Dalvik Debug Monitor Service),在 Android 开发环境中的Dalvik虚拟机调试监控服务。可以进行的操作有:为测试设备截屏,查看特定行程中正在运行的线程以及堆信息、Logcat、广播状态信息、模拟电话呼叫、接收SMS、虚拟地理坐标等,功能强大,对我开发者来说是一个非常好的工具。 AndroidStudio开发工具中,打开DDMS的方式如图:
2015-12-07 16:54:11 9214
原创 Android实现简单刮刮卡效果
目前在很多购物类APP上都可以看到一些转盘抽奖或是刮刮卡刮奖的功能,主要是在增加APP功能和体验的同时,吸引更多的用户使用相应的APP。这两天也在学习相关的资料,其实实现起来不难,首先我们来点简单的,就是实现刮奖效果,结果就是用手指刮屏幕后,会显示一张图片,这个图片是根据自己需要来设置的。public class ScratchCardView extends View {private
2015-12-04 10:44:28 793
原创 AndroidStudio工具常用设置
现在终于把Android开发工具从Eclipse变成AndroidStudio啦,AndroidStudio可是Google的亲儿子,我们用它作为开发工具是势在必行。不过从Eclipse转变到AndroidStudio中,刚开始还真有些不习惯,不仅仅是项目的结构(AndroidStudio中Module对应Eclipse中的Project,AndroidStudio中的project对应Eclips
2015-12-03 17:07:35 4963
原创 Android绘图基础--简易写字板
/** * 自定义一个写字板 * @description:自定义一个控件,实现一个可以手写的效果,后期是要实现刮刮卡抽奖效果,待续…. */ @SuppressLint(“DrawAllocation”) public class WriteView extends View { private Paint mPaint;// 画笔 private Path m
2015-12-03 10:09:28 1264
原创 把Eclipse项目迁移到AndroidStudio
现在决定把现有在Eclipse环境下开发的项目都迁移到AndroidStudio中去,这是大势所趋,我们不能够不紧跟大流。从Eclipse中把项目弄到AndroidStudio中并不难,主要就是以下几步: 1,在Eclipse中选择要导出的项目,鼠标右键,选择Android下的Generate Gradle build files如图:2,点击上图中Next>,进入到项目选择页面
2015-12-02 16:54:41 1438 1
原创 开源控件ExpandableTextView的使用
前几天在项目开发中,要求实现一个文字折叠显示功能:比如在TextView中如果文字量小于3行,则直接全部显示出来,如果超过3行,就在文字下方增加一个点击展开的箭头,点击则展开文字,文字展开后展开箭头变成收缩箭头,点击就收缩起来。最开始是考虑自己通过TextView+ImageButon两个控件来实现的,后来在网上一查,有直接的开源控件,果断拿来用了。做了简单地修改(主要是修改了展开图标),就顺利完
2015-12-01 14:05:13 3854
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人