摘要:
一、通讯录应用介绍 通讯录应用是Android自带的应用程序,我们看到此应用的时候,可能只认为这是一个应用,用数据库存储数据,但是实际上不是这样的。通讯录是ContentProvider的应用,通讯录由两部分组成:(1)com.android.providers.contacts的ContentProvider:真正存储数据的ContentProvider(2)com.android.contacts:运用ContentResolver获取数据的图形用户界面;二、获取ContactProvider的源代码Android源代码: http://my.oschina.net/zhanglubing 阅读全文
摘要:
转载请注明出处:http://blog.csdn.net/qinjuning前言: 工作中,需要开启一个线程大量的查询某个数据库值发送了变化,导致的开销很大,后来在老大的指点下,利用了ContentObserver完美的解决了该问题,感到很兴奋,做完之后自己也对ContentObserver做下总结。ContentObserver——内容观察者,目的是观察(捕捉)特定Uri引起的数据库的变化,继而做一些相应的处理,它类似于数据库技术中的触发器(Trigger),当ContentObserver所观察的Uri发生变化时,便会触发它。触发器分为表触发器、行触发器,相应地ContentObserve 阅读全文
摘要:
比如说int吧,是值类型,是个struct,是这样声明的public struct Int32 : IComparable, IFormattable, IConvertible, IComparable<int>, IEquatable<int>哪能看出来继承自ValueType?? 再说struct不是不能继承吗?为什么说继承自ValueType??不解。。。。回答:ValueType的确是类类型,但是他的子类却是值类型,这是因为CLR对他的子类经过了特殊的处理.CLR若判断某类继承自ValueType,那么会在内存分配方面使它具有值类型的特征(例如直接分配在栈上) 阅读全文
摘要:
符号表在编译程序工作的过程中需要不断收集、记录和使用源程序中一些语法符号的类型和特征等相关信息。这些信息一般以表格形式存储于系统中。如常数表、变量名表、数组名表、过程名表、标号表等等,统称为符号表。对于符号表组织、构造和管理方法的好坏会直接影响编译系统的运行效率。举个例子:struct a{};a只是个结构标记,作为标识符它要登记到符号表中,但它只是一个类型标识符,因此没有地址分配的问题。看一段代码:publicvoidTest(inti,intj){intk=10;constintt=100;}变量名表:NameInformationi形式参数,整型,值参数j形式参数,整型,引用参数k整型. 阅读全文
摘要:
一、获取当前文件的路径1. System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName获取模块的完整路径,包括文件名。2. System.Environment.CurrentDirectory获取和设置当前目录(该进程从中启动的目录)的完全限定目录。3. System.IO.Directory.GetCurrentDirectory() 获取应用程序的当前工作目录。这个不一定是程序从中启动的目录啊,有可能程序放在C:\www里,这个函数有可能返回C:\Documents and Settings\ZYB\,或者C:\P 阅读全文
摘要:
有经验的开发人员都知道在开发.NET应用时可以利用配置文件保存一些常用并且有可能变化的信息,例如日志文件的保存路径、数据库连接信息等等,这样即使生产环境中的参数信息与开发环境不一致也只需要更改配置文件而不用改动源代码再重新编译,极其方便。并且我们一般还约定,在<appSettings>节点保存应用程序的配置信息,在<connectionStrings>中保存数据库连接字符串信息(详见本博客《ASP.NET夜话之十一》)。上面的这些方法和约定足以让我们在大部分开发中获得方便,但是在有些情况下有些配置信息可以按组分类存放,如果采用上面的方法不仅不直观,而且读取起来也不是太方 阅读全文
摘要:
//英文单词:根据正则获取privatestaticintGetWordCountByRegular(stringstr){//统计英文单词个数Regexre=newRegex(@"\b\w+\b");MatchCollectionma=re.Matches(str);returnma.Count;}//数字publicstaticintGetNumberCount(stringstr){intcount=0;for(inti=0;i<str.Length;i++){if(str[i]!='\0'){if(str[i]>='0'& 阅读全文
摘要:
换了win7系统后,突然发现VC++6.0不兼容了,我听说有的同学的行,反正我是不行.那就用VS2010呗。。。。我们来看看怎么用:打开文件->新建->项目,新建一个项目选择win32控制台(注意不要选错,我在这栽了不少跟头),在下面随便输入一个文件的名字就行,根本不用像网上说的要改什么文件的后缀,然后点击下一步,出现对话框,在空项目前面打勾,单击完成。出现一个空白的页面,在左侧的一栏空白处单击右键,选择添加——>新建项,打开看到的页面是不是很熟悉?VC++6.0的页面,下面你该会了吧?选择C++文件(.cpp),然后下面别忘了写名称哈看到下面这个页面的话你就成功了在这编写的 阅读全文
摘要:
汉字机内码在计算机的表达方式的描述是,使用二个字节,每个字节最高位一位为1.计算机中,补码第一位是符号位,1 表示为负数,所以 汉字机内码的每个字节表示的十进制数都是负数 所以这题也就可以简化为输入字符串判断其中字符转化为十进制数是否小于零.注意:汉字是有两个小于零的字符组成,所以在统计结果的时候就要将count除以2了.#include<stdio.h>intmain(void){intcount;charc;while(1){count=0;while((c=getchar())!='\n')//逐个判断字符,汉字的是两个字符{if(c<0)count++ 阅读全文
摘要:
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><htmlxmlns="http://www.w3.org/1999/xhtml"><head><metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/> 阅读全文