`
砺雪凝霜
  • 浏览: 152027 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
1 概念       观察者设计模式是对象的行为模式,又叫做发布-订阅模式、模型-视图模式,源-监听器模式或从属者模式      观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象,这个主题对象在状态上发生变化时,会通知所有观察者对象,使他们能够自动更新自己。 2 观察者模式的结构      抽象主题(Subject)角色:主题角色把所有观察者对象的引用保存在一个聚集(比如Vector对象)里,每个主题都可以有任何数量的观察者。抽象主题提供:所有观察者的集合(observers),增加(attach)和删除(detach)观察者方法、通知观察者(notifyO ...
android开源项目总结 android开源  Android开源项目分类汇总 转自:http://hunankeda110.iteye.com/blog/2103569  
         前段时间写了一篇关于android夜间模式的博客地址是:http://1029457926.iteye.com/blog/2202106,原理是在Activity的启动之前判断是否是黑夜模式,然后调用setTheme方法来设置相应的布局。下面讲讲如何用代码来实现:         原理都差不多都是根据当前app是否是模式(白天和黑夜),然后去改变控件的属性。      步骤如下:       1 为View准备白天和黑夜的2种不同的属性布局     一个线性布局可能白天的背景和黑夜的背景都是不同,还有一个TextView的字体颜色白天和黑夜也可能不同。所以我们要 ...
    上一篇博客(http://1029457926.iteye.com/blog/2203653)详细的讲了Volley的原理及用法,在实际开发中可能并不那么实用,下面来总结我们项目中是如何封装使用的。  1  Volley是用来请求网络数据的,首先我们要准备好要传递的URL参数   HashMap<String, String> params = new HashMap<String, String>(); params.put("user_id", userId); params.put(&quo ...
1 Volley的介绍     Volley从服务器端请求字符串数据,图片数据,和JSON格式数据。Volley可以写出标准化的模板代码,并让我们更加关注于我们的业务逻辑,这对于我们的App来说是非常重要的。   Volley的优势:    自动的调度网络请求  多并发的网络请求   可以缓存http请求  支持请求的优先级  支持取消请求的API,可以取消单个请求,可以设置取消请求的范围域。  代码标准化,使开发者更容易专注于我们的业务的逻辑处理  更容易给UI填充来自网络请求的数据  Volley可以是作为调试和跟踪的工具
                                       android夜间模式的实现       项目中要用到夜间模式,今天我就来总结,我是怎么实现的吧       实现原理:我们把当前的主题存放在sp中,每当activity启动之前调用setTheme方法设置相应的主题,setTheme方法一定要在super.onCreate()方法之前执行。       (1)在values文件夹下, 分别写一套夜间模式下的布局(theme_dark.xml) 和白天模式下的布局(theme_light.xml),  theme_dark.xml:   <?xml ...
                                        利用synchronized关键字解决线程安全问题        1.线程安全问题            当多条语句在操作同一个线程共享数据时,一个线程对多条语句操作的时候     还没有执行完,另一个线程就参与进来执行,导致共享数据的错误。  2.解决方案       方法一: synchronized(object)       {                                    同步代码块       }        方法二:把操作共享数据的代码封装成一个函数,并用syn ...
目前,有很多初学开发者对理解JSP代码的执行顺序上还比较混乱,经常有同事不清楚为什么有些js要写在下面。 首先,你要了解JSP的执行过程。 所有的JSP都会在客户端发出请求后被容器转译成servlet的源代码(java),然后再将源码(java)编译成servlet的类(class),放入到内存里面。   下面列举几个容易让人混淆的问题:      1、JSP中onload,或者jquery的document.ready,或者简写的$(function),是不是就相当于servlet中的初始化init()方法;            答案肯定是否定的,所有的jsp中的代码都是在s ...
 特效要求:          1.  右边导航楼层是随着滚动条的滚动位置是不动的          2.  当滚动条滚动时,导航的div页面在我们页面的上方位置时(视野最明显的位置),对应的右边导航               的楼层的样式,会发生相应的变化。          3.  点击右边导航楼层的顶部或者底部,楼层会消失,显示。          4.  楼层下方置顶功能。          5.  只有当滚动条滚动到特定的高度时,右边导航的楼层才会出现,如果滚动条滚动的高度小于这个               临界值的时候,楼层是不会显示的。    特效原 ...
jquery解析一般json对象的方法,网上太多了,而解析类型为list的json数据的方法却很少,先在特意总结出来与给位分享。 思路如下: (1)前台通过ajax向后台请求json数据 (2)struts2把list数据封装成json数据传到前台 (3)前台通过回调函数解析后台发过来的json数据 (4)显示json数据 代码太长了,我就不贴出来,要的直接去下载吧
这个插件的原型来自金典的my97datePicker日期插件,通过看该插件的API我把它改成了现在的订房日期插件。 该日期插件有以下特点: 1、入住日期默认是今天的时间,退房日期默认是明天的时间。 2、选入住日期时,比今天小的日期是不能被选的,退房日期比入住日期小的话,也是不能被选的。 3、订房的天数不能超过10天。 4、选中日期后,会显示今天是星期几,如果是日期是今天的话,会显示今天;如果日期是明 天的话会显示明天。[color=red][/color]
通知:     由于感觉在iteye上写作太麻烦,经常碰到各种格式问题,现在打算把博客搬迁至csdn
            git如何在特定的commit上打tag      默认标签是打在最新提交的commit上的。有时候,如果忘了打标签,比如,现在已经是周五了,但应该在周一打的标签没有打,怎么办?方法是找到历史提交的commit hash值,然后打上就可以了:    (1)利用git log命令查看要特定commit的hash值 $ git log --pretty=oneline --abbrev-commit   (2)使用 git tag命令打tag       没有tag信息说明方式: $ git tag v0.9 xxxx     含有tag信息说明 ...
If-Modified-Since & If-None-MatchIf-Modified-Since,和 Last-Modified 一样都是用于记录页面最后修改时间的 HTTP 头信息,只是 Last-Modified 是由服务器往客户端发送的 HTTP 头,而 If-Modified-Since 则是由客户端往服务器发送的头,可 以看到,再 ...
    /**  使用场景: 恢复某个错误提交的commit */ git reset --hard log号                       回撤本地分支某个commit     /**  使用场景: git分支管理 */    git fetch                                    # 把远程分支代码拉下来     git branch -r                                # 查看远程分支
Global site tag (gtag.js) - Google Analytics