作为Android应用开发者,不得不面对一个尴尬的局面,就是自己辛辛苦苦开发的应用可以被别人很轻易的就反编译出来。Google似乎也发现了这个问题,从SDK2.3开始我们可以看到在android-sdk-windows\tools\下面多了一个proguard文件夹proguard是一个java代码混淆的工具,通过proguard,别人即使反编译你的apk包,也只会看到一些让人很难看懂的代码,从而达到保护代码的作用。下面具体说一说怎么样让SDK2.3下的p
系统 2019-08-12 09:30:09 2571
Employeee=DB.getEmployee("Bob");//判断雇员e是否应该今天发薪水,如果是,则发if(e!=null&&e.isTimeToPay(today))e.pay();如果Bob对象不存在,e就是一个null,然后&&的第一个表达式会被首先求值,而仅当第一个表达式为true时才会对第二个表达式求值。而在很多情况下我们会忘了对null进行检查判定。这种惯用方法虽然常见,但很丑陋。通过用DB抛出一个异常而不是返回null可以减少出错的可
系统 2019-08-12 09:30:07 2571
上篇说的二进制等之间的转换,而要完成这些转换,需要人为的定制一些规则,这就是第一篇提到的Ascii码,BCD码和国标码。1,Ascii码,即美国标准信息交换码(AmericanStandardCodeforInformationInterchanger),包括了32个通用字符,10个十进制数码,52个英文大小写字母和34个专用符号。这是没有拓展的,最常用的。图:2,BCD(Binary-CodedDecimal)码,又称为“二-十进制编码”专门解决用二进制
系统 2019-08-12 09:29:54 2571
20.1Linux启动流程分析Linux启动过程:按下开机电源后计算机硬件主动读取BIOS来加载硬件信息以及硬件系统的自我测试,之后系统会主动读取第一个可启动的设备(由BIOS设置),此时就可以读入引导加载程序(bootloader)了,引导加载程序指定使用那个内核文件来启动,并实际加载内核到内存中解压缩与执行,此时内核就能够在内存中活动,并检测所有硬件信息与加载适当的驱动程序来使主机运行,等内核检测硬件与加载驱动程序完毕后,就可以登录了。1)加载BIOS
系统 2019-08-12 09:27:29 2571
在VS2005里工具栏的启动调试按钮的右边有个下拉菜单,里面是Debug和Release选项,就表示编译调试版本和发布版本的程序的,实际上就是VS定义了DEBUG和RELEASE的两个编译器变量。你也可以自己添加比如说,你开发的软件有标准版和专业版,你就在“生成”菜单里的“配置管理器”来添加编译类,配置管理器窗口里的“活动解决方案配置”的下拉菜单里有新建,你可以用它来定义你自己的编译变量,如定义标准版变量为STAND,专业版是PROF,甚至你可以定义输出文
系统 2019-08-12 09:27:21 2571
我们的开源项目-暨开源力量公开课年度庆典活动大会介绍还记得2012年”我们的开源项目”活动么?2012年3月-7月,历时5个月,6个城市,近50位开源项目作者,60场演讲,600位与会者,7家支持单位(淘宝、华为、迅雷、盛大、拜服、天府软件园,锐道)。让我们一起来狠狠的回忆一下吧......一年又将过去,2013,即将结束,我们又有哪些新的项目涌现,哪些作者又取得了哪些突破?2013,越来越多的企业开源了自己原本封闭的产品,这是一次集中展现的机会。本次大会
系统 2019-08-12 09:26:59 2571
注:本文翻译自Google官方的AndroidDevelopersTraining文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好。原文链接:http://developer.android.com/training/cloudsync/gcm.html谷歌云消息(GCM)是一个用来给Android设备发送消息的免费服务。GCM消息可以极大地提升用户体验。你的应用可以一直保持更新的状态而不用在唤醒无线电和在没有更新的使用对服务器发起询问
系统 2019-08-12 01:54:48 2571
-------------参考----------------------------假设我们有如下数据表------菜系表--------------店名菜系--------澳门豆捞川菜--澳门豆捞粤菜--澳门豆捞闽菜--为民大酒店鲁菜--为民大酒店粤菜--为民大酒店川菜------------------------------执行如下语句select店名,菜系=STUFF((select','+ltrim(菜系)from菜系表where店名=t.店名
系统 2019-08-12 01:53:50 2571
前提:进行表空间传输需要用户有SYSDBA的系统权限,被移动的表空间是自包含的表空间,不应有依赖于表空间外部对象的对象存在。确定是否自包含可使用系统包DBMS_TTS中的TRANSPORT_SET_CHECK过程进行检查例如要对表空间OLTP进行传输,SQL>execdbms_tts.transport_set_check('OLTP',true,true);PL/SQLproceduresuccessfullycompleted.SQL>select*f
系统 2019-08-12 01:53:31 2571
有一张错误上报表,下面只将与本文相关的字段罗列如下:上报人(ReportPerson)、上报错误ID(ErrorID)、上报时间(ReportTime)、状态(State),其中值为0(未解决)、1(已处理)、2(已解决)。现在要做的是统计在某个时间段[beginTime,endTime](其中beginTime,endTime由前台进行传入)内,每个上报人上报错误点的总数以及已解决错误的总数。1selecta.ReportPerson,a.sumOfEr
系统 2019-08-12 01:53:10 2571