我们都知道在有涉及数据库的应用中,查找的操作是必不可少的。android 的SQLiteDatabase
类有自带的query方法,很好用。现在我就写一写记录一下。
之前对android数据库的操作是比较担忧的。也说不出什么所以然来,原因可能就是自己之前没有在项目中实际的操作过数据库(android的数据库),对它的Sql语句怎么写,怎么操作是比较朦胧的,所以心里上就有点没底(不知彼,心没底,就害怕)。后来在自己实际操作之后发现,它的Sql语句没有什么特殊的,很简单,只是帮我们略写了whereClause语句(记住,你不用去写where这个关键字,而只要写出你的逻辑判断语句)。另一个就是判断的参数whereArgs
.它是一个数组,这里的设计是很巧妙的。String whereArgs[]
,即我们可以传多个判断因子给它。它是和whereClause语句中的“?”相匹配的。
我们来看下实例:
在Linux中,管道是一种使用非常频繁的通信机制。从本质上说,管道也是一种文件,但它又和一般的文件有所不同,管道可以克服使用文件进行通信的两个问题,具体表现为:
· 限制管道的大小。实际上,管道是一个固定大小的缓冲区。在Linux中
flag,这东西真的很好用,在编程中,写逻辑常常要用到,比如我们执行一段代码,在遇到我们设定的条件时,我们就设置一下flag,如把flag=true的改flag=false,然后运用这个标签(当然,这个标签可以是全局变量也可以是局布变量)去控制代码的运行。
我今天要说的呢也是flag,是我们老大教给我的,呵呵,也就是我的经理啦。这是他多年的经验啊,觉得这样处理真的很好。
看例子:
现在要做这样一个事:
if(页数>1)
则不显示分页
else
显示分页
而分页(headview and footview)是动态加载进来的,且一个列表只能有一个headview 和
footview . 所以当我判断页数大于1时,headview and footview is added to listview
.当我点击下一页时,它又会去加headview和footview 。我们要避免它重复的去加载。我们要怎么做呢?
我们可以设置一个标签去判断是否已经有headview 和 footview 了。
看代码:
private int mPage ;
private boolean flag =false;
if(flag ==false
&& mPage
在一篇TIN建网的文章中看到使用了扫描线算法(Sweep
Algorithm)来计算线段交点,顺便复习了一下扫描线算法,扫描线算法在快速求大量复杂线段之间交点具有快速,精确的特点,并且算法本身不是太复杂,但是理解起来还是比较化精力的,这里我找到了两篇相关的文献,详细介绍了扫描线算法,并有网页动画展示扫描算法,非常好的资源,呵呵
(Sweep Algorithm)
http://www.lupinho.de/gishur/html/Sweeps.html
(Segment
Intersection)