摘要: 转载自: http://blog.163.com/ppy2790@126/blog/static/103242241201382210910473/开发自定义控件的步骤:1、了解View的工作原理 2、 编写继承自View的子类3、 为自定义View类增加属性 4、 绘制控件 5、 响应用户消息 6... 阅读全文
posted @ 2015-09-06 20:50 SongGe 阅读(123) 评论(0) 推荐(0) 编辑
摘要: 排序分为内部排序和外部排序两种。内部排序是指在排序时先把待排数据都放入内存在进行排序;外部排序是在待排数据量很大,内存无法全部存入的情况下,需要访问外存的排序方法。下面先来介绍内部排序: 内部排序主要有八大排序算法:冒泡排序,快速排序,直接插入排序,希尔排序,简单选择排序,堆排序,归... 阅读全文
posted @ 2015-08-25 10:02 SongGe 阅读(140) 评论(0) 推荐(0) 编辑
摘要: Fragment常用三个类:Fragment:定义Fragment本身。FragmentManager:管理Activity中的FragmentFragmentTrasaction:对Fragment进行各种具体操作,而且其操作具有原子性。操作完成必须调用commit()方法,统一执行。Fragme... 阅读全文
posted @ 2015-08-18 17:37 SongGe 阅读(349) 评论(0) 推荐(0) 编辑
摘要: Android中,为了实现UI线程和worker线程之间的通信,设计了两种方式:Handler机制和AsyncTask机制。AsyncTask:异步任务,它是一个多线程编程的框架。从字面上来说,就是在我们的UI主线程运行的时候,异步的完成一些操作。AsyncTask允许我们的执行一个异步的任务在后台... 阅读全文
posted @ 2015-08-11 20:02 SongGe 阅读(160) 评论(0) 推荐(0) 编辑
摘要: Android的菜单Android的菜单一共有三种:选项菜单(OptionsMenu)、上下文菜单(ContextMenu)和子菜单(SubMenu)。 选项菜单:当用户单击设备上的菜单按钮(Menu),触发事件弹出的菜单就是选项菜单。选项菜单最多只有六个,超过六个第六个就会自动显示 更多 选项来展... 阅读全文
posted @ 2015-08-08 17:45 SongGe 阅读(99) 评论(0) 推荐(0) 编辑
摘要: 后台程序基本上不和用户交互,优先级别稍微低一点;前台的程序和用户交互,需要较高的响应速度,优先级别稍微高一点。直接从后台手工启动一个进程用得比较少一些,除非是该进程甚为耗时,且用户也不急着需要结果的时候。假设用户要启动一个需要长时间运行的格式化文本文件的进程。为了不使整个shell在... 阅读全文
posted @ 2015-08-08 10:57 SongGe 阅读(251) 评论(0) 推荐(0) 编辑
摘要: sprintf:int sprintf( char *buffer, const char *format [, argument] … ); 功能:把格式化的数据写入buffer容器中(字符串),返回buffer的长度。这里s为一个buffer,类型为字符数组名或者字符指针(需要初始化)。spri... 阅读全文
posted @ 2015-04-29 16:13 SongGe 阅读(497) 评论(0) 推荐(0) 编辑
摘要: 一次 附加备份数据库的 mdf 文件 成功后 创建登陆用户 但是 无法映射该用户的 对应数据库 出现用户组或角色在当前数据库已存在 的问题首先介绍一下sql server中“登录”与“用户”的区别,“登录”用于用户身份验证,而数据库“用户”帐户用于数据库访问和权限验证。登录通过安全识别符 (SID)... 阅读全文
posted @ 2015-04-26 16:09 SongGe 阅读(7210) 评论(2) 推荐(2) 编辑
摘要: lib是windows的库文件,分动态库和静态库。静态lib把导出的声明和实现都放在lib中,编译后所有代码都嵌入宿主程序。动态lib则相当于一个.h文件,把导出的声明放在lib里,编译后只有声明嵌入了宿主程序,要配合.dll文件使用把lib文件导入vs的工程里有两种方法(首先保证你的lib文件在编... 阅读全文
posted @ 2015-04-19 21:05 SongGe 阅读(565) 评论(0) 推荐(0) 编辑