- 博客(147)
- 资源 (30)
- 问答 (1)
- 收藏
- 关注
原创 SurfaceView绘制触摸轨迹时的闪烁问题
今天在处理触屏轨迹的绘制时,用到了SurfaceView,建立Path对象,在点击时开始设置Path对象,滑动过程中记录触摸点,离开后重新设置Path对象,因不能阻塞主线程,所以新建了一个子线程来不断刷新屏幕,也就是将path不断绘制。但是,接着就出现了一个问题:屏幕中每条轨迹线的终点都会有一小段直线段不断闪烁。猜测可能是lockCanvas()获取的对象区域不一样,就试着使用了lockCanva
2012-12-05 18:24:48 20525 1
原创 Android线程通信
在第一次启动一个Android程序时,Android会自动创建一个称为主线程的线程,即UI线程。该线程主要是负责控制UI界面的显示、更新和控件交互。例如,在屏幕上按下一个按钮后,UI线程会把这个事件分发给被按按钮,接着按钮设置它自身为被按下状态并向事件队列发送一个无效请求。UI线程会把这个请求移出事件队列并通知按钮在屏幕上重新绘制自身。 在开发Android应用程序时必须遵守单线程模型的原则
2012-12-05 18:24:45 18931
原创 KWIC系统之事件架构实现(输出模块,单词统计类,单词存储类)
package kwic.es;//打印函数包装类//类中包装了两个公有方法:打印经拆分器和排序器处理后的字符串集,以及打印统计后的单词集public class Output{ //打印经过拆分器和排序器处理后的字符串结果集 //传入参数为要打印的LineStorageWrapper类的对象 public void print(LineStorageWrapper shift_storage)
2012-12-05 18:24:43 19998
原创 KWIC系统之事件架构实现(行存储类,行存储包装类,行存储改变事件)
package kwic.es;import java.util.ArrayList;@SuppressWarnings("unchecked")public class LineStorage{//存储的是ArrayList类的对象,每个对象又封装了一个ArrayList对象,存储一个字符串中的单词序列//存储格式:行、单词、字母三级结构,即字符串序号,单词序号,字母序号三级读写结构privat
2012-12-05 18:24:41 19711
原创 KWIC系统之事件架构实现(排序模块,拆分模块,输入模块)
package kwic.es;import java.util.Observable;import java.util.Observer;//排序器,将所有字符串按照字典序排序//监听拆解后字符串集public class Alphabetizer implements Observer{ public void update(Observable observable, Object arg
2012-12-05 18:24:39 20261
原创 KWIC系统之事件架构实现(主程序)
用事件体系结构实现KWIC系统,要求有交互功能,从控制台用键盘输入命令。 主程序如下:package kwic.es;//进程总控制器,初始化资源并触发用户输入监听管理public class KWIC{ public void execute(){ //定义两个字符串容器 //lines存储用户已经输入的字符串,也就是原始字符串 //shifts存储已经处理好了的字符串,
2012-12-05 18:24:37 22480
原创 关于Java中的流
Java2中定义了两种类型的流:字节流和字符流。 字节流为处理字节的输入输出提供了方便的方法。字符流为字符的输入输出处理提供了方便。它们采用了统一的编码标准,因而可以实现国际化。但是在最底层,所有的输入输出都是字节形式的。基于字符的流只为处理字符提供方便的方法。 字节流在底层有两个抽象类InputStream和OutputStream,每个抽象类都有多个具体的子类,这些子类对不同的
2012-12-05 18:24:28 18716
原创 数据的底层存储
数据在硬件底层的存储格式为补码存储。 整数的补码为其原码,而负数的补码为其原码逐位求反(符号位)除外后加1。 程序在运行时,存储或者提取数据,底层硬件都会将其按照指定的格式转化。而运算都是利用补码执行相应的运算后再转化提交。 以下为一个实验:package com.test.codetest;public class NumTest { public static void main(St
2012-12-05 18:24:25 19073
原创 类中的成员以及块
Java语言中的变量定义中有类变量和实例变量之分。 类变量用static修饰符修饰,没有用static修饰的是实例变量。 类变量属于类,而实例变量则是属于每个创建了的实例的。 类变量在类装入时建立并初始化,类变量属于类,不论基于这个类创建了多少个实例(或没有实例),类变量在内存中只保持一份。而实例变量是属于实例的,在实例创建时建立和初始化,每一个实例都会在内存中保持一份属于自己的实例变量。 虽然
2012-12-05 18:24:21 18501
原创 关于Java中的编码
Java中使用的是Unicode编码,所以,字符串都是以Unicode码的方式存储的,而代码的识别也是以Unicode解码方式,所以有时利用输入法输入时可能会产生编译时系统不能解码的错误(比如全角的标点符号)。 Java中的String类提供通过字节数组创建字符串的构造器,这里字节数组内的数据被看作字符的码值。但是同一个码值用不同的解码方式解码会产生不同的结果。所以在利用字节数组创建字符
2012-12-05 18:24:19 18662
原创 关于类的成员与继承的一些思考
在定义类时,类体中除了可以包含变量与方法之外,还可以包含静态初始化块、实例初始化块和构造方法。其中变量和方法称为类的成员。类的成员可以通过类或者类的实例访问或调用,而静态初始化块、实例初始化块和构造方法只能在类装入或者实例创建是由系统隐含调用。 一个类除了自己在类体中定义的成员外,还能够从其直接超类和直接超接口中继承一些成员。 超类中声明为private的成员不会被子类继承。若超类和子类不在同一
2012-12-05 18:24:17 18850
原创 一些实用的电脑小技巧
87.关闭windows的文件保护 默认状态下是无法删除windows系统和程序文件的,所以警告!!!!!!!!!!!!!!!! 注册表:HKEY_LOCAL_MACHINE \SOFTWARE\Microsoft\WindowsNT\Curren tVersion \winlogon 中的“SFCDisable”将它的值改为“ffffff9d” 88.windowsXP的内存优化!!!!!!!
2012-12-05 18:24:13 18731
原创 一些实用的电脑小技巧(1)
电脑高手的140个电脑小技巧1. 重装Windows XP不需再激活 如果你需要重装Windows XP,通常必须重新激活。事实上只要在第一次激活时,备份好Windows\System32目录中的Wpa.dbl文件,就不用再进行激活的工作了。在重装Windows XP后,只需要复制该文件到上面的目录即可。 2. 如何知道自己的Windows XP是否已激活 打开开始→运行,在弹出的对话
2012-12-05 18:24:11 19187
原创 一些实用的快捷键
winkey+d : 这是高手最常用的第一快捷组合键。这个快捷键组合可以将桌面上的所有窗口瞬间最小化,无论是聊天的窗口还是游戏的窗口……只要再次按下这个组合键,刚才的所有窗口都回来了,而且激活的也正是你最小化之前在使用的窗口! winkey+f : 不用再去移动鼠标点“开始→搜索→文件和文件夹”了,在任何状态下,只要一按winkey+f就会弹出搜索窗口。 winkey+r : 在我
2012-12-05 18:24:06 18409
原创 ASCII码表
Bin Dec Hex 缩写/字符 解释 0000 0000 0 00 NUL (null) 空字符 0000 0001 1 01 SO
2012-12-05 18:24:04 18464
原创 qriority_queue应用
#include #include #includeusing namespace std;class student{ private: int score; int finance; public: void set(int x,int y
2012-12-05 18:23:52 18817
原创 gcc对于大数的溢出截断
gcc编译器对于大整数常数的溢出截断操作,视为此大整数在更大类型上的补码截断为当前类型。 test.c void test(){ unsigned char a=257; char b=-129; char c=130; char d=255;}D:\>gcc -S test.c -o test.s > test.txttest.c: 在函数‘
2012-12-02 16:10:31 22316
原创 计算机底层数据的处理方式
编程语言是怎么实现类型转换的,而计算机底层又是怎样处理各种类型数据的呢,好吧,源码说明一切。 code.cint test(){ unsigned char a=129; char b=130; char c=a; int h=a; char d=-2; unsigned char e=d; int i=d; int j=a+d; int k=-3; int l
2012-11-30 22:48:14 23334
原创 顺序表实现
sqlist.h#ifndef SQLIST#define SQLIST#define NOT_FOUND -1#define ERROR_LIST_FULL -2#define ERROR_LIST_OVERSTEP -3#define ERROR_LIST_ILLEGALNUM -4#define null
2012-11-16 22:28:00 18893
原创 gnu/gcc目录结构
头文件目录: gnuroot/include gnuroot/lib/gcc/mingw32/4.6.2/include
2012-11-13 23:17:21 19622
原创 gcc嵌入汇编
具有输入和输出参数的嵌入汇编语句的基本格式为: asm( "汇编语句“ :输出寄存器列表 :输入寄存器列表 :会被修改的寄存器列表 ); asm是嵌入汇编的关键字,“汇编语句”是写汇编指令的地方,“输出寄存器”是指这段嵌入汇编执行完之后,哪些寄存器用于存放输出数据,这些寄存会会分别对应一C语言表达式值或一个内存地址;“输入寄存器
2012-09-26 00:20:26 19828
原创 引用类型--来自C++的扩展
很久没用C,今天复习了下数据结构,用gcc编译,结果出现一堆错误,几乎都是由引用类型引起的,查阅了下资料,才知道C是没有引用类型的,引用类型是来自C++的扩展的。 引用类型相当于是变量的别名,可以利用此别名指向特定变量,引用不会在内存中占用储存变量值的空间。 引用类型不是指针,指针是变量在内存中的地址,而引用只是其它变量的别名而已。
2012-09-25 22:59:01 18658
转载 Shell配置文件与Shell Script
1. /etc/profie 这是系统中最主要的Shell配置文件,也是系统登录时系统最先检查的文件。系统最主要的环境变量都定义在此。在文件的最后,它会检查并执行/etc/profile.d/*.sh的Script。 2.~/.bash_profile 这个文件是每位用户的bash环境配置文件,它存在于用户的主目录中。当系统执行/etc/profile后,就会接着读取
2012-09-14 13:30:03 19177
原创 Android实现远程控制PC(Android[客户端]+Qt[服务器端])
由于本人没有无线路由器,因此用Win7自带的虚拟wifi让手机上网:Win7虚拟wifi 但是,电脑不在我的房间,因此每天晚上在床上玩完手机还要下床去关电脑,让很懒很懒的本人很不爽,因此自己尝试着做了一个远程控制。 软件客户端运行在Android设备上(我的手机是Android的),服务器端运行在我的Win7本本上。客户端用的是Android平台应用编程,服务器端用的是Qt编写
2012-07-24 15:39:45 30036 10
原创 网络设备通过win7的虚拟wifi连接internet
windows7可以创建虚拟wifi来共享网络连接,过程为: 1.一管理员身份运行cmd 2.创建wlan共享:netsh wlan set hostednetwork mode=allow ssid=mywifi key=tobacco ssid为共享网络连接名称,key为密码 3.打开目前的网络连接,设置共享 4.打开创建的共享网络连接:nets
2012-07-18 09:11:53 19872
原创 用nasm重写linux0.00
linux0.00由两个文件组成:boot.s(引导代码),head.s(运行代码)。程序最终在屏幕上不断打印A(任务1)和B(任务2)以及C(系统中断处理)。 boot.s代码:bootseg equ 0x07c0sysseg equ 0x1000syslen equ 17start: jmp bootseg:gogo: mov ax,cs mov ds,ax mo
2012-07-17 21:32:31 20054 1
原创 Android手机通过socket与pc通信
在Android中可以直接利用java中的Socket与ServerSocket构建socket通信。 代码的运行环境: pc端:普通pc,作为服务器,已经设置有域名(通过动态域名软件设置),在5648端口进行监听。 Android手机客户端:android2.3设备。 代码运行一切正常,客户端发送的文字将在服务器端接收并显示,服务器每接收到客户端的
2012-07-12 23:30:13 55212 30
转载 Linux下Android开发手机设备不可用问题
原文出处:原文 如果你没有安装驱动的话,在eclipse的DDMS下看到的是一串的问好,通过命令查看显示如下:List of devices attached ???????????? no permissions我这里用的系统是Debian 6.0.5。一、首先查看你的手机是否正常链接了电脑:在Linux下通过lsusb命令查看,结果如下:
2012-07-06 11:47:21 22264 5
原创 回溯小记
论坛上看到一个回溯算法题,这里小记一下。 原题:在3×3个方格的方阵中要填入数字1到N(N≥10)内的某9个数字,每个方格填一个整数,似的所有相邻两个方格内的两个整数之和为质数。试求出所有满足这个要求的各种数字填法。 为了简化代码突出回溯思想,程序中有很多简化了的东西。 代码:#include #include using namespace std;
2012-07-04 13:02:56 19127
原创 Java中用内存映射处理大文件
在处理大文件时,如果利用普通的FileInputStream 或者FileOutputStream 抑或RandomAccessFile 来进行频繁的读写操作,都将导致进程因频繁读写外存而降低速度.如下为一个对比实验。package test;import java.io.BufferedInputStream;import java.io.FileInputStream;import
2012-06-20 11:49:33 35390 7
原创 C++:成员函数实现在类定义中与在类定义外的区别
在上篇文章《inline的另一用处》中,提到函数实现在类定义中与类定义外的区别。 现在先看个实验: a.cpp: #ifndef TEST_H#define TEST_Hclass A{ public: int fun(int x){ return (x*x+1000);}};#endifvoid tt(){}
2012-06-11 10:06:05 37384 4
原创 C++中内联函数inline的另一作用
内联函数不是在调用时发生控制转移,而是在编译时将函数体嵌入在每一个调用处。 今天在coding时遇到多次定义一个函数而使ld返回错误的情况。大致过程如下: 首先,在一个头文件中定义了一个类及其实现: test.h:#ifndef TEST_H#define TEST_Hclass A{ public: void fun();};void A::fun(
2012-06-11 03:00:42 21183 5
原创 C++继承:同名隐藏、覆盖,虚函数
不同作用域声明的标识符的可见性原则: 如果存在两个或多个具有包含关系的作用域,外层声明了一个标识符,而内层没有再次声明同名标识符,那么外层标识符在内层依然可见,如果在内层声明了同名标识符,则外层标识符在内层不可见,这时称内层标识符隐藏了外层同名标识符,这种现象称为隐藏规则。 在类的派生层次结构中,基类的成员和派生类新增的成员都具有类作用域。二者的作用范围不同,是相互包含的两个层
2012-06-10 16:12:12 29859
原创 C++中的explicit关键字
explicit用来防止由构造函数定义的隐式转换。 隐式转换:可以由单个实参来调用的构造函数定义了一个从形参类型到该类类型的隐式转换。 例如: #includeusing namespace std;class Test{ private: int a; int b; public: Test(int x){ a=x; } in
2012-06-10 01:31:43 19790 3
原创 初学C++:继承与内嵌类
对书本上继承与派生部分的描述一直看得不是很明白,做个小实验,增进理解:#includeusing namespace std;class A{ protected: //这里本来是private int m; public: A(int x); int get();};class Test:public A{ private: int a;
2012-06-09 19:14:36 21228
原创 C++中的const
声明对象时可以用const进行修饰,称为常对象。常对象的数据成员值在对象的整个生存期间内不能被改变。常对象必须进行初始化,而且不能更新。 还可以用const修饰类成员,如下: 1.常成员函数 使用const关键字修饰的函数为常成员函数,常成员函数声明的格式为: 类型说明符 函数名(参数表) const ; const是函数类型的一个组
2012-06-09 15:08:08 19059
原创 Java中以指定编码方式读取字符流
Java中可以以指定的编码方式读取字符流,比如utf-8,utf-16,utf-32和gbk等,也可以自己制定解码算法。 这里涉及的一个class就是InputStreamReader,它用于在字节流上建立字符流。 构造方式有: public InputStreamReader(InputStream in) public InputStreamReader
2012-06-08 23:11:21 24171
原创 查看gcc的搜索目录
gcc中有查看搜索目录的选项,先利用gcc --help查看所有选项: 可以看到有几个print选项。 查看编译c++文件使用的头文件目录的命令为: `gcc -print-prog-name=cc1plus` -v 如下: 查看编译c文件的头文件搜索目录的命令为 `gcc -print-prog-name=cc1` -v
2012-06-06 22:56:19 19649
原创 用Jdbc连接MySql数据库
用Jdbc连接MySql服务器还是很方便的。 首先,将jdbc导入工程,或者将jdbc放到ClassPath里,这里我利用Eclipse直接导入jdbc jar文件,不罗嗦了。 然后,制定DriverManager,利用最简单的方法,Class类的froName直接完成,代码: Class.forName("com.mysql.jdbc.Driver").newIns
2012-06-02 15:16:13 24487
原创 Linux下开启/关闭MySql Server
要开启/关闭/重启MySql Server,首先登录为root账户,或者在一下命令前加sudo前缀。 如果你用的是RedHat/Fedora,那么就可以用这些命令: 开启: /etc/init.d/mysqld start 关闭: /etc/init.d/mysqld stop 重启: /etc/init.d/mys
2012-06-02 01:14:14 29314
Python搭建的web接口聊天机器人
2016-01-25
Qt写的Windows下屏幕录制程序源码
2014-05-30
Qt实现的Windows远程控制软件(服务器端+客户端)
2014-04-30
java学习资源-经典java小程序代码合集
2012-05-15
HexDump源码
2012-05-15
C++ Windows程序设计入门
2012-04-04
Java编写的MVC模式小系统
2012-04-04
SUN公司Java培训教材(中文版)
2012-04-03
Java程序员应该具备的技能
2012-03-21
TA创建的收藏夹 TA关注的收藏夹
TA关注的人