文章分类 - 技术历程
摘要:最近想尝试下使用libgdx游戏引擎在初次使用过程中出现的一些问题记录,方便以后查找网上大部分的教程都是雷同,参考https://github.com/libgdx/libgdx/wiki/Manual-project-setupandroid项目设定:1.新建一个android project,新建的过程就略过了。 将项目的启动Activity 改为继承AndroidApplication 将onCreate()方法修改为下面的: protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanc.
阅读全文
摘要:一.在AndroidManifest.xml中找到 可以看到应用程序的入口为FBReaderApplication找到FBReaderApplication的类,里面定义如下public class FBReaderApplication extends ZLAndroidApplication {}那么,我们只能看基类ZLAndroidApplication的实现public abstract class ZLAndroidApplication extends Application { public ZLAndroidApplicationWindow myMainWindo...
阅读全文
摘要:主要原理:将电子书分为3个内容层,叠放顺序如图.第一层为当前页面层,是现在正在显示的页面;第二层是随鼠标拖拽时卷起的页角,第三层是当页角卷起时,露出下一页的层。设置遮罩:当页边卷起时,层1仅显示四边形FBDE内部分,层2仅显示ABCD部分,层3仅显示BGHD部分.旋转:层2内的内容要随着鼠标运动而不停变换倾斜角度,其角度始终与AC边斜度一致.翻页:当页面完全翻过时,层1的当前页数=当前页数+1程序的核心在于如何获得四个点ABCD的坐标:我使用的是求垂直平分线的方法,既:点C是鼠标位置,点H是页角位置,BD即为此两点间的垂直平分线.由已知的C,H坐标求出直线BD的一次函数y=kx+b再求出直线B
阅读全文
摘要:1.Intent简介: Intent是一种消息机制,它翻译为意图,在Android中可以声明为执行某个动作的意图,并且通常和一组数据绑定在一起。 Intent支持Android设备上可用的任意两个应用程序组件之间的交互,不管他们是哪个应用程序的一部分都是如此。 Intent最常用的用法: 显式:指定要加载的类来启动一个新的活动 隐式:对某一组数据执行某个动作,来启动新的活动。 Intent也可以用来在系统范围内广播消息。在任何应用程序中都可以注册一个广播接收器来监听和响应这些广播的Intent。 Android使用广播Intent来公布系统事件,例如网络连接状态或者电池电量的变更。 2 Int
阅读全文
摘要:用java代码实现相对布局1:扫描指定文件夹下的所有图片,用一个ImageSwitcher显示出来。2:在ImageSwitcher的底部,添加相应的按钮,可以在各图片之间切换。package gto.ImageSwitchTest;import java.io.File;import java.io.FileReader;import android.R.drawable;import android.app.Activity;import android.graphics.drawable.Drawable;import android.os.Bundle;import android.o
阅读全文
摘要:二分查找又称折半查找,它是一种效率较高的查找方法。【二分查找要求】1.必须采用顺序存储结构 2.必须按关键字大小有序排列。【优缺点】折半查找法的优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。【算法思想】首先,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的 关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后一子表。重复以上过程,直到找到满足条件的记录,使查找成功,或直到子表不存在为 止,此时查找不成功。【算法
阅读全文
摘要:1 #pragma once 2 3 #include<cstdlib> 4 #include<cmath> 5 #include<cassert> 6 #include<iostream> 7 8 template<typename valueType> 9 class HashTable10 {11 //节点状态12 enum KindOfNode13 {14 Active, //活跃15 Empty, //空16 Deleted //已删除17 }; 18 public:19 //查找_key是否在表中,若在,返回0;否则返回-
阅读全文
摘要:google搜索到的头条:散列表(也叫哈希表),是根据关键码值直接进行访问的数据结构,也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。我觉得这个解释太含糊,想要整明白哈希表,那就得明白哈希表到底有什么样的优势。数据结构中,有个时间算法复杂度O(n)的概念来衡量某种算法在时间效率上的优劣。哈希表的理想算法复杂度为O(1),也就是说利用哈希表查找某个值,系统所使用的时间在理想情况下为定值,这就是它的优势。那么哈希表是如何做到这一点的呢?我们定义一个很大的有序数组,想要得到位于该数组第n个位置的值,它的算法复杂度为O(1)
阅读全文
摘要:对于可变参数函数获取其可变的参数,我们可以用下列宏来得到: #include voidva_start(va_listap,last); typeva_arg(va_listap,type); voidva_end(va_listap); voidva_copy(va_listdest,va_listsrc); 在没有深入理解实现原理的情况下,这些宏应该如何的使用总是很难记忆,因此有必要搞清楚可变参数函数实现基本原理。 voidvariable_argument_func(intarg1,intarg2,...) { //我们应该怎样获取,这些可变的参数呢? //首先我们要了解,他们是紧挨着.
阅读全文
摘要:据说在欧洲曾经有个男孩自幼酷爱数学,但无奈家贫中学就辍学,但他一直自己学习,后来他感到自己突然发现了一个重大理论,并以这个理论的无比完美而欣喜,直到有一天,一次进城在书店看书的时候,发现原来他发现的理论就是微积分,并且已经存在1百多年了,你可以想象这个男孩当时的心情,最后他自杀了。随着经历的软件越来越多,发现设计模式越来越重要,特别是当你绞尽脑汁为了解决一个问题构想出一个完美的解决方案之时,你感觉到自己欣喜若狂,甚至开始飘飘然的自我陶醉于自己的聪明才智,但是你突然看到你这种方案原来就是其中的一个前人早已总结好的模式时,你会不会变得非常懊恼呢!反正我是有过这样的经历。当然这里的模式没有微积分的历
阅读全文
摘要:1.const常量,如constintmax=100;优点:const常量有数据类型,而宏常量没有数据类型。编译器可以对前者进行类型安全检查,而对后者只进行字符替换,没有类型安全检查,并且在字符替换时可能会产生意料不到的错误。2.const修饰类的数据成员。const数据成员只在某个对象生存期内是常量,而对于整个类而言却是可变的。因为类可以创建多个对象,不同的对象其const数据成员的值可以不同。所以不能在类声明中初始化const数据成员,因为类的对象未被创建时,编译器不知道const数据成员的值是什么。const数据成员的初始化只能在类的构造函数的初始化表中进行。3.const修饰指针的情况
阅读全文
摘要:1.要使用CParser类,需要在mmp文件中添加XmlFramework.lib2.要使用CParser类,需要在mmp文件中添加hlplch.lib同步使用CParser很简单,自己在CXMLHandle中修改即可。CParser解析是基于sax解析方式,对xml文件结构查询极为不便,所以自己建立一棵树。代码如下:XMLHandle.h/* ============================================================================ Name : XmlHandle.h Author : pengjianhong Version
阅读全文
摘要:astyle是一个常用的开放源码工具。它可以方便的将程序代码格式化成自己想要的样式而不必人工修改。本来嘛,作为高等生物应该优先去做一些智慧的事情,而不是把时间消耗在机器可以完美完成的事情上。想要立刻开始?请先去主页http://sourceforge.net/projects/astyle下载最新版本。可以选择二进制版本,也可以下载源码自行编译。总之得到可执行文件后请将astyle放在Path(C:\Program Files\Microsoft Visual Studio 8\Common7\IDE)中,这样会方便很多。astyle是一个命令行工具,命令语法很简单: astyle [opti
阅读全文
摘要:[代码][代码][代码]
阅读全文
摘要:在Symbian OS中,有3中方法来处理内存泄露:捕获装置TRAP和TRAPD;清理栈(CleanupStack)和二阶构造。一.TRAP和TRAPD TRAP和TRAPD是两个预定义的宏,作用是捕获函数所产生的异常。程序:[代码] 在Symbian OS中,如果一个函数产生异常,系统会立即返回到它的上一级调用函数中。因此,如果函数CreateObjectL()函数中产生异常,这一异常将会被TRAP语句中所捕获。 TRAP需要两个参数,第一个TInt类型的参数,用于保存异常代码,如果没有出现异常,则err值为0或者KerrNone;如果有异常,则err将为一个代表一类异常的负数。第二个
阅读全文
摘要:同步的就不说了,网上和MSDN上有代码。 对于异步的处理,贴上源代码。参考MSDN上面的代码和网上一些前辈的代码。 加上了我自己的一些理解和注释,方便后来学习者学习或直接使用。HttpSession.h[代码]HttpSession.cpp:
阅读全文

浙公网安备 33010602011771号