摘要:编写高效优质的代码一直是程序员所追求的目标之一,那么什么样的代码才叫优质呢?其中最重要的莫过于易维护、易修改。本文作者从面向对象和SOLID两大方面,非常详细地总结了如何编写出易修改的代码,绝对让你受益匪浅。在实际的开发中,编写出易维护和易接受变化的代码并非易事,想要实现可能更加困难重重:源码难于理解、依赖关系指向不明、耦合也很令人头疼。难道就真的就没有办法了吗?本文中我们一起探讨几个技术原则和一些编码理念,让你的代码跟着需求走,而且易维护易拓展。介
系统 2019-08-29 22:58:19 2182
其实要实现上图的在ListView右侧的拖动条很简单,只需在xml文件中定义ListView时加入一个属性就可以了。但是有时候会发现设置
系统 2019-08-29 22:55:46 2182
想找基于java的web开发书,原来选定的几本oreilly的书后来看看,版本都太老了,而且内容比较分散,不适合入门阶段上手。无意在书店翻了翻这本,看了一遍目录感觉还不错,但是基于以往的恶劣经验,我很久没有看国产技术书籍了,有些犹豫。又详细看了一两章,回家又考虑再三,最后在amazon.cn买了。花了4天时间,一口气看完,感觉挺不错。优点技术体系比较完整。关于javaweb开发基本的各方面技术都讲到了,重点是servlet/jsp及其在tomcat下的部署
系统 2019-08-29 22:48:24 2182
Inflater英文意思是膨胀,在Android中应该是扩展的意思吧。LayoutInflater的作用类似于findViewById(),不同点是LayoutInflater是用来找layout文件夹下的xml布局文件,并且实例化!而findViewById()是找具体某一个xml下的具体widget控件(如:Button,TextView等)。获取它的用法有3种:方法1:由LayoutInflater的静态函数:from(Contextcontext)
系统 2019-08-29 22:32:25 2182
androidCTS!Goodbyefails!Goodbyetimeout!✿为什么要进行cts测试Android兼容性测试(CTS)和连带的兼容性定义文档(CDD),是一个确保终端设备与特定版本Android兼容的自管理程序。CTS测试集包含大约24,000个在Android设备上运行的测试用例,这些用例分别针对电话、图形、相机、GPS、触摸屏、无线网等功能。Google针对每个主要Android版本公布了CDD文档,其中指出了对CTS中每类测试的具体
系统 2019-08-29 22:30:14 2182
HoneyComb3.0组件运用可以看这里:http://blog.csdn.net/mayingcai1987/article/category/786494了解Fragment生命周期看这里:http://www.open-open.com/lib/view/open1421734804296.htmlhttp://www.android123.com.cn/androidkaifa/772.htmlFragment是Androidhoneycomb3
系统 2019-08-29 22:24:17 2182
http://www.android123.com.cn/androidkaifa/777.htmlActionBar是android3.0一个重要的内容,ActionBar主要是用于代替传统的标题栏,对于Android平板设备来说屏幕更大它的标题使用ActionBar来设计可以展示更多丰富的内容,方便操控。ActionBar主要功能包含:1.显示选项菜单2.提供标签页的切换方式的导航功能,可以切换多个fragment.3.提供下拉的导航条目.4.提供交互
系统 2019-08-29 22:24:15 2182
http://www.moandroid.com/?p=918定义Theme的一个例子true14sp-
系统 2019-08-29 22:07:49 2182
代码1:packagescjp;publicclassDemo464{publicstaticvoidmain(Stringargs[]){System.out.println("BeforeTry");try{}catch(NullPointerExceptiont){System.out.println("InsideCatch");}System.out.println("AttheEnd");}}代码2:packagescjp;importjava
系统 2019-08-12 09:30:33 2182
由于多线程的内容比较多我会用几篇文章来讲解。多线程在我们日常开发过程中用的很多,上一篇“.NET简谈组件程序设计之(异步委托)”详细的讲解了基于委托的多线程使用,委托是基于后台线程池的原理,这篇文章将主要介绍直接使用Thread对象来实现多线程。当然使用Thread没有使用Delegate那么容易,毕竟多线程跟异步调用是两个相差很大的技术方向,我也是略懂点皮毛,在此献丑给大家,如有讲的不对的地方还请指出。[王清培版权所有,转载请给出署名]我们先来理解几个概
系统 2019-08-12 09:30:22 2182
packagecom;importjava.text.SimpleDateFormat;importjava.util.Calendar;importjava.util.GregorianCalendar;publicclassDateUtil{/***获取本月第一天*@return当前月第一天的日期*/publicstaticStringgetMonthFirstDay(){Calendarcal=Calendar.getInstance();Calen
系统 2019-08-12 09:30:18 2182
解惑spring嵌套事务/***@author王政*@date2006-11-24*@note转载请注明出处*/在所有使用spring的应用中,声明式事务管理可能是使用率最高的功能了,但是,从我观察到的情况看,绝大多数人并不能深刻理解事务声明中不同事务传播属性配置的的含义,让我们来看一下TransactionDefinition接口中的定义Java代码/***Supportacurrenttransaction,createanewoneifnoneexi
系统 2019-08-12 09:30:00 2182
注:本文翻译自Google官方的AndroidDevelopersTraining文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好。原文链接:http://developer.android.com/training/sync-adapters/creating-authenticator.html同步适配器框架假定你的同步适配器在同步数据时,设备存储会有一个账户,服务器存储端会有登录验证。因此,框架期望你提供一个叫做验证器的组件作为你
系统 2019-08-12 01:54:47 2182
EmpiricialRiskMinimization统计学习理论是整个机器学习到框架。试想我们学习的目的是什么呢?当然是为了具备用合理的方式处理问题的能力。统计学习理论要解决的问题就是基于数据找到一个预测函数。经验风险最小化(EmpiricialRiskMinimization,ERM)[2]是统计学习理论中准则之一,常用于给出学习算法(learningalgorithms)性能的理论边界。假定给定两个数据空间\(X\)和\(Y\),我们想学习到一个假设函
系统 2019-08-12 01:32:49 2182
HTTP暴力破解、撞库,有一些惯用的技巧,比如:1.在扫号人人网时,我遇到单个账号错误两次,强制要求输入验证码,而对方并未实施IP策略。我采用维护10万(用户名,密码)队列的方式来绕过验证码。具体的做法是,当某个用户名、密码组合遇到需要验证码,就把该破解序列挂起,放到队列尾部等待下次测试,继续破解其他账号密码。这样就可以保证2/3的时间都在进行正常破解和扫号。2.在破解美团网某系统账号时,我遇到了单个IP访问有一定限制,请求频率不可过快。于是我挂了72个H
系统 2019-09-27 17:56:03 2181