onCreateOptionsMenu只会在启动时调用一次,而onCreateContextMenu则每次都会调用,这是因为onCreateContextMenu需要为所有的View控件的上下文菜单服务,可能会在存在多个控件都绑定了上下文的情况,针对每个控件的上下文菜单事件都需要即时处理,但Android设计应该有个可以持久化的方案,从而避免每次都需要重新加载菜单项. main.xml <?xml version="1.0" encoding="utf-8"?…
上一讲我们讲解了android中在代码或者xml文件中定义菜单,这一讲我们继续来讲解一下定义菜单的其他方式:创建上下文的菜单.查看API文档 Menus :Creating Contextual Menus 模块 上下文菜单主要是给特定的选项或者UI中的上下文框架提供一个动作,这种创建上下文菜单的方式可以用在任何视图控件中,一般用在 ListView 和 GridView 这种控件中.     有两种方式提供上下文菜单的动作: 1. 悬浮的窗口的形式,类似于对话框,当用户长按选项时候触发事件.…
Android提供了两种创建菜单的方式,一种是在Java代码中创建,一种使用XML资源文件定义.上面的实例都是在Java代码中创建菜单,在Java代码中创建菜单存在如下不足. 在Java代码中定义菜单.菜单项,必然导致代码臃肿. 需要程序员采用硬编码的方式为每个菜单项分配ID.为每个菜单组分配ID,这种方式导致应用可扩展性.可维护性降低. 一般推荐使用XML资源文件来定义菜单,这种方式可以提高更好的解耦. 菜单资源文件通常应该放在/res/menu目录下,菜单资源的根元素通常是<menu.../…
版权声明:未经博主允许不得转载 在Android中我们常常用到很多UI控件,如TextView,EditText,ImageView,Button,ImageButton,ToggleButton,CheckBox,RadioButton等等这些可以自己多用就会了. 也会学到一些布局如:LinearLayout 线性布局,RelativeLayout 相对布局,FrameLayout 帧布局,AbsoluteLayout绝对布局,TableLayout 表格布局,GridLayout 网格布局,…
onCreateOptionsMenu----只在Activity创建时调用一次!之后不会再被调用! onPrepareOptionsMenu----每次display menu之前,都會调用该方法, 只要按一次menu按鍵,就會调用一次. 所以你會發現每次只要按一次menu按鍵, menu選單就會多兩個(因為我們預設是兩個) 你可以利用onPrepareOptionsMenu來做update menu狀態的動作 所以如果在menu创建之后,想对menu进行动态的修改,那么就不能再对onCrea…
ROLAP和MOLAP的概念和差别OLAP(on-Line Analysis Processing)是使分析人员.管理人员或执行人员能够从多角度对信息进行快速.一致.交互地存取,从而获得对数据的更深入了解的一类软件技术. OLAP的目标是满足决策支持或者满足在多维环境下特定的查询和报表需求,它的技术核心是"维"这个概念.    “维”(dimension)是人们观察客观世界的角度,是一种高层次的类型划分.“维”一般包含着层次关系,这种层次关系有时会相当复杂.通过把一个实体的多项重要的属…
apt-get upgarde和dist-upgrade的差别 apt-get upgarde和dist-upgrade的差别   Debian/Ubuntu Linux都使用apt,升级时都是:    www.2cto.com   apt-get update  apt-get upgrade  apt-get dist-upgrade    但是常常有人会问,  upgrade和dist-upgrade有何不同,仔细查查,似乎大家对upgrade和dist-upgrade的解释都有点不同,在…
1.引用文件差别 Ruby:同一目录下的文件,如/usr/local/ruby/foo.rb与/usr/local/ruby/bar.rb两个文件.如果直接在foo.rb中 require 'bar' 执行时会报找不到bar.rb错误.这是因为运行 /home/oldsong$ ruby /usr/local/ruby/foo.rb 时会在ruby安装的lib目录和/home/oldsong/目录下查找bar.rb.而不会去rb文件的目录/usr/local/ruby/下查找.所以除引用系统rb…
为了做ajax的代理,研究了下服务器端的xmlhttp和客户端ajax中的xmlhttp,做了个比较 由于我一直使用JavaScript作为Asp的教本语言,所以比较起来更清楚.服务器端的xmlhttp经常用于asp小偷程序, 1.在服务器端的xmlhttp.Open("GET",url,false)异步必须是关闭的,而客户端的异步是打开的因为服务器返回的代码要求一次性完成,若把异步打开 不等数据没有抓举完毕就返回给客户端了 2.在服务器端的xmlhttp.Responsebody 这…
我的ORM索引 支持最好的是SqlServer2005,Sqlserver2008,SqlServer2012 ,后续将支持:MySql,Sqlite,Oracle. 1.分页差别 MsSql 2005,2008分页采用了 RowNumber MsSql 2012分页使用 Offset {skip} Fetch Next {take} Rows Only; MySql分页使用 Limit {skip},{take} Oracle 分页使用  RowNum MsSql 2000 , Sqlite…
唯一差别: 在没提交事务情况下 save会产生insert语句,然后因为没提交事务进行回滚. 而这种情况,persist是连insert语句都不会产生.…
近日,在编译C#项目时经常发现有些时候明明代码没错,但就是编译不过,只有选择重新编译或者清理再编译才会不出错,本着求学的态度,搜罗了下VS2008IDE中生成操作的种类以及差别,整理如下:   内容(Content) - 不编译该文件,但将其包含在“内容”(Content) 输出组中.编译(Compile) - 将该文件编译到生成输出中.此设置用于代码文件,说白了就是CS文件,需要编译过程. 嵌入资源(Embedded Resource) - 将该文件作为 DLL 或可执行文件嵌入主项目生成输出…
现在在用ng1.5.8做一个项目,ng的优点和特性我就不用多说了,ng1在陆续更新到1.5/1.6后就没再推出新版本了,ng2已经面世测试很久了,如同很多系统和框架一样,每个大的版本更新都会有新特性加入进来,虽然还没有用ng2做过企业级项目,平时也了解了很多ng2的改进的地方,下面就来梳理一下ng1和ng2之间一些差异: Angular2不是从Angular1升级过来的,Angular2是重写的,所以他们之间的差别比较大,不是你用过1就能直接上手2的,计划可以认为是一个新的框架: Angular…
网一代,我们先称为PC互联网,这大约可以从2010年作为分界,然后就是基于手机,及可穿戴的移动互联网. 在PC时代,软件都很庞大复杂,甚至客端端和网页混合,比如常见的桌面软件,Office及Photoshop,及开发工具这些,还有复杂网站,比如新闻类网站. PC时代,因为大量使用键盘,鼠标,信息的获取及输入主要是以文本为主,操作以鼠标为主. 但在移动互联网时代,手机输入是个问题,屏幕太小,操作不方便,当然也有厉害的一指禅的,但总体来说,输入不会象PC一样方便.但手机基本都有拍照功能.图片的输入反…
MyBatis mapper文件中的变量引用方式#{}与${}的差别 #{},和 ${}传参的区别如下:使用#传入参数是,sql语句解析是会加上"",当成字符串来解析,这样相比于$的好处是比较明显对的吧,#{}传参能防止sql注入,如果你传入的参数为 单引号',那么如果使用${},这种方式 那么是会报错的另外一种场景是,如果要做动态的排序,比如 order by column,这个时候务必要用${}select * from table order by 'name' ,这样是没用目前…
典型的,提供大量静态文件访问的web服务器,缓存服务器(如squid), 均要注意这个问题 网上的教程,大约只是简单说明了如何设置ulimit和file-max, 但并没有说清楚这两者之间的差别,让人一头雾水 1. file-max的含义 man proc,可得到file-max的描述: /proc/sys/fs/file-max              This  file defines a system-wide limit on the number of open files for…
CSS 在IE6, IE7 和IE8中的差别 关于浏览器的最离奇的统计结果之一就是Internet Explorer 版本6,7和8共存.截至本文,Internet Explorer各个版本总共占据了大约65%的市场份额.在网站开发社区,这个数字要小很多,统计显示大概只有40%.   这些统计中比较有趣的部分是,IE6.IE7.IE8之间的数值很接近,这防止了单个Microsoft的浏览器占居统治地位——与过去的情况相反.根据这些令人遗憾的统计结果,在为客户开发网站的时候开发人员对所有当前使用的…
struct内存对齐:gcc与VC的差别 内存对齐是编译器为了便于CPU快速访问而采用的一项技术,对于不同的编译器有不同的处理方法. Win32平台下的微软VC编译器在默认情况下采用如下的对齐规则: 任何基本数据类型T的对齐模数就是T的大小,即sizeof(T).比如对于double类型(8字节),就要求该类型数据的地址总是8的倍数,而char类型数据(1字节)则可以从任何一个地址开始.Linux下的GCC奉行的是另外一套规则:任何2字节大小的数据类型(比如short)的对齐模数是2,而其它所有…
http://my.oschina.net/wangwu91/blog/340721 net.sf.json.JSONObject 和org.json.JSONObject  的差别. 一.创建json对象 String str = "{\"code\":\"0000\", \"msg\":{\"availableBalance\":31503079.02}} org.json.JSONObject: JSONObj…
1. join 有 left join,right join,inner join 这三种,对两个表做了笛卡尔积,然后再对结果集进行选取操作,选取满足条件的部分为结果. JOIN(内联接): 如果表中有至少一个匹配,则返回行(注释:INNER JOIN 与 JOIN 是相同的.) LEFT JOIN(左外联接:): 即使右表中没有匹配,也从左表返回所有的行(注释:在某些数据库中, LEFT JOIN 称为 LEFT OUTER JOIN.) RIGHT JOIN(右外联接): 即使左表中没有匹配…
spring中@param /** * 查询指定用户和企业关联有没有配置角色 * @param businessId memberId * @return */ int selectRoleCount(@Param("businessId") Integer businessId,@Param("memberId") Long memberId); mybatis中的param /** * 查询指定用户和企业关联有没有配置角色 * @param businessId…
InnoDB和MyISAM是在使用MySQL最常用的两个表类型,各有优缺点,视具体应用而定.基本的差别为:MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持.MyISAM类型的表强调的是性能,其执行数度比InnoDB类型更快,但是不提供事务支持,而InnoDB提供事务支持已经外部键等高级数据库功能. MyIASM是IASM表的新版本,有如下扩展: 1. 二进制层次的可移植性. 2. NULL列索引. 3. 对变长行比ISAM表有更少的碎片. 4. 支持大文件. 5. 更好的索引压缩…
0.其实常规的逻辑判断结构.工具类.文件读写.控制台读写这些的关系都不大,熟悉之后,这些都是灵活运用的问题. 学习c/c++需要预先知道的一个前提就是,虽然有ANSI C标准,但是每个c/c++编译器的实现在不少实用特性(除了标准库外)上存在着很大的差异,所以最好的方法是先针对某种实现(可参考标准)去,而不是针对ANSI C或者C99或者C11标准去学.比如,vc对c99的标准支持就比较奇葩.比如说,在vc++中,内置的布尔类型或者别名就包括BOOL.bool._Bool,如下所示: BOOL…
最近要涉及对接现有应用visual c++开发的tcp客户端,花时间了解了下windows下tcp开发和linux的差别,从开发的角度而言,最大的差别是头文件(早期为了推广尽可能兼容,后面越来越扩展,2.0之后更是如此).从实现的角度来说,跟c/c++开发一样,windows和Linux就是两大阵营,除了标准c/c++部分外,有着各自大量的扩展特性.这个例子比较有点像是关系型数据库,标准都是ISO SQL,但是实现机制.性能.API等,每个数据库厂家都不同,比如oracle/mysql/post…
Android一共有三种形式的菜单:            1.选项菜单(optinosMenu)            2.上下文菜单(ContextMenu)            3.子菜单(subMenu)其中最常用的就是选项菜单(optionsMenu), 该菜单在点击 menu 按键 后会在对应的Activity底部显示出来. 1.Activity菜单机制 (与dialog类似)Activity有一套机制来实现对菜单的管理,方法如下: 1.public boolean onCreat…
因见到有人求助批量设置工作簿中的超链接,尝试写了一段代码: Sub AddHyperlinks() Dim strName As String, source As String, target As String Dim i As Integer i = source = "目录!a1" Do While Cells(i, "d") <> "" strName = Cells(i, "d").Text targe…
MySql与SqlServer的一些常用用法的差别 本文为转载 本文将主要列出MySql与SqlServer不同的地方,且以常用的存储过程的相关内容为主. 1. 标识符限定符 SqlServer [] MySql `` 2. 字符串相加 SqlServer 直接用 + MySql concat() 3. isnull() SqlServer isnull() MySql ifnull()注意:MySql也有isnull()函数,但意义不一样 4. getdate() SqlServer getd…
Android一共有三种形式的菜单:            1.选项菜单(optinosMenu)            2.上下文菜单(ContextMenu)            3.子菜单(subMenu)其中最常用的就是选项菜单(optionsMenu), 该菜单在点击 menu 按键 后会在对应的Activity底部显示出来. 1.Activity菜单机制 (与dialog类似)Activity有一套机制来实现对菜单的管理,方法如下: 1.public boolean onCreat…
笔者在根据nginx的accesslog中$request_time进行程序优化时,发现有个接口,直接返回数据,平均的$request_time也比较大.原来$request_time包含了(服务器)接收用户数据的时间,而真正程序的响应时间应该用$upstream_response_time. 下面介绍下2者的差别: 1.request_time官网描述:request processing time in seconds with a milliseconds resolution; time…
block extends include三者的差别跟用法 一.定义基础模板,在html内容中定义多个block块,block由子模板引用同名block块,来决定是否替换这些部分{% block title %}一些内容,这里可不填{% endblock %}{% block content %}一些内容,这里可不填{% endblock %}{% block footer %}一些内容,这里可不填{% endblock %} 这里 title content footer 不是变量,名字自定义…