1. PV与SC
解决View难以测试最好的办法就是让他无须测试。如果View不需要测试,其先决条件就是让它尽可能不涉及UI处理逻辑,这就是PV模式的目的所在。
如果我们纯粹的采用PV模式来设计View意味着我们需要将View中的UI元素通过属性的形式暴露出来。具体来说,当我们为View定义接口的时候,需要定义基于UI元素的属...
分类:
Web开发 时间:
2015-05-10 18:58:59
收藏:
0 评论:
0 赞:
0 阅读:
128
Android5.0新增了一个重启后可恢复Task功能。在正常的Activity切换使用过程中AMS会将Task和对应截图进行保存,重启后会将Task和截图恢复到最近任务栏中。开机恢复Task没什么好说的,我们重点研究下Task和截图的保存逻辑,如下。
我们重点分析下screenshotApplications()、notifyTaskPersisterLocked()、LazyTaskWr...
分类:
移动平台 时间:
2015-05-10 18:58:39
收藏:
0 评论:
0 赞:
0 阅读:
396
2. View和Presenter交互的规则(针对SC模式)
View和Presenter之间的交互是整个MVP的核心,能否正确地应用MVP模式来架构我们的应用,主要取决于能否正确的处理View和Presenter两者之间的关系。在由Model、Presenter和View组成的三角关系中,核心元素不是View而是Presenter,Presenter不是View调...
分类:
Web开发 时间:
2015-05-10 18:58:29
收藏:
0 评论:
0 赞:
0 阅读:
358
执行Maven Install打包的时候,出现以下错误信息:[INFO] proguard jar: E:\maven\mvnRespo\net\sf\proguard\proguard-base\5.2\proguard-base-5.2.jar
[proguard] ProGuard, version 5.2
[proguard] java.io.IOException: The same...
分类:
编程语言 时间:
2015-05-10 18:58:19
收藏:
0 评论:
0 赞:
0 阅读:
1455
实例演示:SC模式的应用
为了对SC模式下的MVP,尤其是该模式下的View和Presenter之间的交互方式有一个深刻的认识,我们现在来做一个实例演示。我们采用员工查询的场景,用ASP.NET Web Forms来建立这个简单的应用。
我们先来定义员工的数据类型,Employee来表示一个员工,有5个属性:ID、姓名、性别、出生日期和部门。
public class Emplo...
分类:
Web开发 时间:
2015-05-10 18:58:09
收藏:
0 评论:
0 赞:
0 阅读:
208
public class TimeThread extends Thread
{
private long start;
public volatile boolean exit = false;
public TimeThread(long start)
{
this.start = start;
}
public void run()
{
while(!exit...
分类:
编程语言 时间:
2015-05-10 18:58:00
收藏:
0 评论:
0 赞:
0 阅读:
280
python实战-字典使用使用字典统计字符出现次数#! /usr/bin/env python
#coding:utf-8
#定义一个函数,接收字符串,统计出每个字符的出现次数
#实现思路:字典实现,看字符是否在字典中,在则+1,否则计入字典。
def histogram(str):
dic = dict()
for s in str:
if s not in dic...
分类:
编程语言 时间:
2015-05-10 18:57:59
收藏:
0 评论:
0 赞:
0 阅读:
206
1.2.1 MVP
MVP是一种UI架构模式,适用于基于事件驱动的应用框架。MVP中的M和V分别对应MVC的Model和View,而P(Presenter)代替了Controller。
在MVP模式中,能够与Model直接进行交互的仅限于Presenter,View只能通过Presenter间接地调用Model。Model的...
分类:
Web开发 时间:
2015-05-10 18:57:39
收藏:
0 评论:
0 赞:
0 阅读:
276
记得有位高人说过,成功在于细节。同样,一份代码质量如何,同样也在于对细节的处理上。考虑的情况越多,则出现问题的概率也就越低。
Cache之前也写过,但看了Volley的Cache之后,真心觉得差距大了。不废话了,还是上大餐吧public static class Entry {
/** The data returned from cache. */
public...
分类:
Web开发 时间:
2015-05-10 18:57:29
收藏:
0 评论:
0 赞:
0 阅读:
295
题目链接:点击打开链接
cdq入门资料:点击打开链接
思路:首先根据上面的ppt可知cdq分治:
solve(l, mid);
计算[l,mid] 对 [mid+1, r] 区间的影响
solve(mid+1, r);
计算影响部分,把询问拆成2个,对x排序后搞搞即可。
#include
#include
#include
#include
#include
#in...
分类:
编程语言 时间:
2015-05-10 18:57:19
收藏:
0 评论:
0 赞:
0 阅读:
175
执行Maven Install打包的时候,出现以下错误信息:[proguard] ProGuard, version 4.4
[proguard] Reading input...
[proguard] Reading program war [F:\Workspaces\pro-test\target\pro-test-0.0.1-SNAPSHOT.war] (filtered)
[prog...
分类:
编程语言 时间:
2015-05-10 18:57:09
收藏:
0 评论:
0 赞:
0 阅读:
1511
1617: Itself is Itself
Time Limit: 6 Sec Memory Limit: 128 MB
Submit: 21 Solved: 4
[Submit][Status][Web
Board]
Description
Zuosige always has bad luck. Recently, he is in hospital becau...
分类:
其他 时间:
2015-05-10 18:56:59
收藏:
0 评论:
0 赞:
0 阅读:
153
1、假设字段数据为空,则不管改为什么字段类型,可以直接执行:
alter table tb modify (name nvarchar2(20));
2、假设字段有数据,则改为nvarchar2(20)可以直接执行:
alter table tb modify (name nvarchar2(20));
3、假设字段有数据,则改为varchar2(40)执行时会弹出:“ORA-01...
分类:
数据库技术 时间:
2015-05-10 18:56:49
收藏:
0 评论:
0 赞:
0 阅读:
274
《1》TreeView树的基本操作
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Ta...
分类:
其他 时间:
2015-05-10 18:56:39
收藏:
0 评论:
0 赞:
0 阅读:
184
基于 TCP 的网络编程开发分为服务器端和客户端两部分,常见的核心步骤和流程如下:
connect()函数
对于客户端的 connect() 函数,该函数的功能为客户端主动连接服务器,建立连接是通过三次握手(这个后面再做介绍),而这个连接的过程是由内核完成,不是这个函数完成的,这个函数的作用仅仅是通知
Linux 内核,让 Linux 内核自动完成 TCP 3次握手连接,最后把连接...
分类:
其他 时间:
2015-05-10 18:56:29
收藏:
0 评论:
0 赞:
0 阅读:
145
linux卸载mysql
卸载mysql
1、查找以前是否装有mysql
命令:rpm -qa|grep -i mysql
可以看到mysql的两个包:
mysql-4.1.12-3.RHEL4.1
mysqlclient10-3.23.58-4.RHEL4.1
2、删除mysql
删除命令:rpm -e --nodeps 包名
( rpm -ev mysql-4.1.12-3...
分类:
数据库技术 时间:
2015-05-10 18:56:19
收藏:
0 评论:
0 赞:
0 阅读:
266
printf()的参数分为两大部分,分别是控制字符串和参数列表,二者用逗号隔开,而且参数之间也要用逗号隔开。其中控制字符串是字符串常量,如果不需要其他参数的话,双引号里面的文字将被原原本本的打印到屏幕。通俗的讲,双引号里面是什么,输出的就是什么,包括转义字符。
但是,这样以来,我们无论想要打印什么,都只能手动的写在双引号内部,从而无法实现自动化打印。比如,怎样输出程序中变量的值?总不能变量的值变一次我们就手动改写...
分类:
编程语言 时间:
2015-05-10 18:56:09
收藏:
0 评论:
0 赞:
0 阅读:
281
方式一:将字符串反向输出来,不改变内存(递归实现)
void reverse_string(char *str)
{
/*遇到'\0'什么也不做,函数结束*/
if(*str == '\0')
;
else
{
/*输出下一个*/
reverse_string(str + 1);
cout<<*str;
}
}方式二:改变内存(交换法)
/*非递归实现:操作内存*/...
分类:
其他 时间:
2015-05-10 18:55:59
收藏:
0 评论:
0 赞:
0 阅读:
102
1. 关于广播监听第一次使用是在Android中,broadcast。主要用在2个activity之间进行传递数据,发出一个广播,对这个广播有兴趣的就去监听它,做出相应的回应即可。主要是传递数据,触发机制比较好,跟全局变量或者单例有点像,但是使用场合有区别,比如2个activity之间传递数据,activity这种有生命周期的弄成全局变量和单例就不合适了。2.Android的广播发送广播: Int...
分类:
移动平台 时间:
2015-05-10 18:55:50
收藏:
0 评论:
0 赞:
0 阅读:
116
android 控制listview 的滑动速度...
分类:
移动平台 时间:
2015-05-10 18:55:39
收藏:
0 评论:
0 赞:
1 阅读:
3102