摘要:
对话框滚动条及滚动效果实现,用的api主要有: ScrollWindow, SetScrollInfo, GetScrollInfo, SetWindowOrgEx。涉及的数据结构为SCROLLINFO。 实现的原理为:设置窗口显示的滚动条;响应滚动条的消息,在其中记录窗口原点的x和y坐标,并滚动窗 阅读全文
摘要:
组合框控件 -- CComboBox 组合框其实就是把一个编辑框和一个列表框组合到了一起,分为三种:简易(Simple)组合框、下拉式(Dropdown)组合框和下拉列表式(Drop List)组合框。Properties面板中设置type属性。在动态创建时,BOOL Create( DWORD d 阅读全文
摘要:
要让Android应用使用Root权限,首先Android设备必须已经获得Root权限。之后可以通过下面的代码取得process对象。 Process process = Runtime.getRuntime().exec("su"); Process对象包含可以取得输入输出流及错误流对象,使用Ou 阅读全文
摘要:
快速排序 快速排序的时间复杂度为O(n2),但其平均性能很好,其期望复杂度为O(nlog2n),并且其中隐含的常数因子很小。 对输入数组A[p..r],将其划分为两个子数组A[p..q-1]和A[q+1..r],其中A[q]满足,A[q]大于等于任意一个属于A[p..q-1]的元素,小于等于任意一个 阅读全文
摘要:
1.归并排序 归并排序利用分治的思想实现,其操作方式为:(1)分解待排序的n个元素的序列成各具n/2个元素的两个子序列.(2)使用归并排序递归地排序两个子序列.(3)合并两个已排序的子序列以产生已排序的序列.归并排序的时间复杂度是O(n*log2n)。算法处理过程中,需要一个大小为n的临时存储空间用 阅读全文
摘要:
1.直接插入排序 插入排序就是每一步都将一个待排数据按其大小插入到已经排序的数据中的适当位置,直到全部插入完毕。插入排序的工作方式像玩扑克牌时顺序放牌一样。开始时,左手为空并且桌子上的牌面向下。然后,每次从桌上拿一张牌并将它插入左手中正确的位置。为了找到正确的位置,我们从右到左将它与已在手中的每张牌 阅读全文
摘要:
堆排序 堆排序时间复杂度为O(nlgn),且具有空间原址性,只需要常数个额外的元素空间存储临时数据。但堆排序是不稳定的算法,即对相等的两个元素,排序后不能保证他们的顺序与原始数据的顺序相同。 1.堆 堆是一个数组,可以把它看成一个近似的完全二叉树。树上的每一个结点对应数组中的一个元素,除最底层外,该 阅读全文
摘要:
取得定位数据 1.取得LocationManager private LocationManager mLocationManager; mLocationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);2 阅读全文
摘要:
OOM异常 堆内存用于存储实例对象,当程序不断创建对象,并且对象都有引用指向,那么垃圾回收机制就不会清理这些对象,当对象多到挤满堆内存的上限后,就产生OOM异常。Android系统为每个应用程序使用的内存设置了一个上限。这个上限值可以用下面的方法取得: long maxSize = Runtime. 阅读全文
摘要:
aidl支持的文件类型 1. Java 编程语言中的基本类型, 如 int、long、boolean 等, 不需要 import. 2. String、List、Map 和 CharSequence, 不需要 import. 3. AIDL 生成的 interface, 需要 import, 同一个 阅读全文