- 博客(55)
- 资源 (16)
- 收藏
- 关注
原创 CentOS 6.5 配置hadoop 2.6.0伪分布式
操作系统:CentOS 6.5 32位Java环境:jdk 1.7.0_71 hadoop下载地址:http://apache.fayea.com/hadoop/common/stable/hadoop-2.6.0.tar.gz1.创建用户组和用户使用su命令切换用户为rootgroupadd hadoopuseradd hadoop hadooppassw
2015-01-17 18:20:19
1693
原创 Cocos2d-x笔记(六)—使用TexturePacker对图片进行打包、加密
Cocos2d-x是以2的n次方的内存来加载图片资源的,也就是说如果加载一张80*80的图片,将会消耗128*128的内存,这样会浪费很多内存。这时候就需要一个工具将多张图片拼接成一张大图。TexturePacker就是这样一款工具。下载地址:https://www.codeandweb.com/texturepackerData Format:选择导出游戏引擎支持的数据类型,直接使用默认
2014-03-30 19:09:43
2218
原创 CentOS 英文版安装中文环境与中文输入法
安装了英文版的CentOS,发现没中文的日子真是太难熬了(文件乱码,无法使用中文注释)。被虐后决定还是把中文安环境安装上。1.安装ibus,如果使用的CentOS 6 可以跳过,CentOS 6 已经默认安装了; #yum install ibus 2将ibusz中的中文文件拷贝到英文环境下;#cp /usr/share/locale/zh_CN/LC_MESSAGES/i
2014-03-04 12:14:11
1915
原创 MySQL 彻底卸载与安装
今天MYSQL抽风,不知道怎么的就无法连接了总是报Can't connect to local MySQL server through socket ' /var/lib/mysql/mysql.sock'的错误,查询了很多资料都无法解决我的问题。只要好重装MySQL,想不到重装也不太顺利。使用sudo apt-get install mysql-server 安装,也报错
2014-01-09 19:23:58
2547
原创 MYSQL中文乱码
MySQL的默认是不支持中文编码,想要支持中文编码设置编码格式为utf8或者GBK。修改MYSQL的默认编码:一、Windows环境1、在MySQL的安装目录下找到my.ini,如果没有就把my-medium.ini复制为一个my.ini即可;2、打开my.ini以后,在[client]和[mysqld]下面均加上default-character-set=utf8,保存并
2014-01-05 12:47:27
1059
转载 Cocos2d-x笔记(五)自适应多种分辨率
cocos2d-x 2.0 提供一个极有价值的新特征: setDesignResolutionSize() 。这个函数用于指定一个 OpenGL 视图,然后将这个视图映射到设备屏幕上。根据不同的设定,视图会自动缩放显示内容,为 cocos2d-x 自适应多种分辨率提供了基本支持。不过要真正实现自适应分辨率,从场景设计、美术制作到程序编写,都需要遵循一套规范,才能极大减少工作量。
2013-11-13 09:24:00
928
转载 Ubuntu 安装Eclipse
1. 先下载eclipse-SDK-3.7.1-linux-gtk.tar.gz http://eclipse.org/downloads2.解压eclipse-SDK-3.7.1-linux-gtk.tar.gz 到 安装目录 /usr/local/tar -zxvf eclipse-SDK-3.7.1-linux-gtk.tar.gz /usr/local
2013-10-29 12:07:55
814
原创 Ubuntu 安装Java
以前在Windows下用习惯来Eclipse,Ubuntu还是选择继续使用Eclipse。安装Eclipse必然需要安装Java在安装前,系统没有任何jdk软件,也就是说在终端执行 java -version将会输出如下内容:****@***:~# java -version程序 'java' 已包含在下列软件包中: * default-jre * gcj-4.6-jre
2013-10-29 11:31:53
998
转载 游戏地图拼接与战争迷雾的实现
在开发游戏的过程中,特别是地图编辑器中,需要利用最少的资源,实现最丰富的地形地貌。虽然现在众多的RPG开始使用整图,但是我们偶尔还是需要能够让玩家自己编辑地图,或者其他需要自动进行地图构建的功能。另外,就是在一些策略类游戏里经常用到的战争迷雾,我试过自己编写Pixel Bender自己来编写过滤器而实现战争迷雾。不过效果不是很理想(速度太慢)。后来想到,可以利用地图拼接的原理来进行战争迷雾的实
2013-10-22 14:27:29
4268
原创 Cocos2d-x笔记(四)CCHttpCleint网络请求
网络传输方式常用的有socket、Http可以使用。使用socket需要处理很多细节,因此需要在socket传输之上再根据需求包装一层,以降低使用复杂度。Http则隐藏了细节,采用主从式、非对等的的传输方式。Cocos2d-x推荐使用的网络传输库是CURL,它支持FTP、HTTP、LDAP等传输方式,还可以跨平台使用。CURL提供了阻塞传输(curl_easy_)和(非阻塞传输)curl_mutl
2013-10-21 10:17:39
1589
原创 Cocos2d-x笔记(三)Sqlite数据库封装
为方便使用,简单的封装了一下Sqlite数据库的操作。头文件如下:class SqliteUtil{private: sqlite3* pDB; char* errMsg; SqliteUtil(void); ~SqliteUtil(void);public: /**获取实例 */ static SqliteUtil* getInstance(); /*
2013-10-19 14:26:05
1726
原创 Cocos2d-x笔记(二)Sqlite数据库基本操作
简单的数据可以使用文件方式存储,CCUserDefault、CCFileUtil等类都可以完成文件的存储。如数据量比较大、或涉及增删改比较多,就需要考虑使用数据库。以前一直做android开发,一想到数据库肯定是Sqlite。 Sqlite数据库本身就是C语言编写的,官方也已经提供了Sqlite的API,这样工作就轻松多了。1.先到Sqlite官网上下载源码ht
2013-10-08 14:47:14
1943
原创 Android解析Json数据(二)—使用反射机制
网络传输中很多时候都会使用到JSon数据,每次都要更具key去解析实在是太繁琐、而且容易出错。这个可以通过java中的反射机制来解决,写一个公用的解析类而一劳永逸。
2013-10-06 09:48:04
2034
转载 生产者/消费者模式 (六) 环形缓冲区的实现
◇判断“空”和“满” 上述的操作并不复杂,不过有一个小小的麻烦:空环和满环的时候,R和W都指向同一个位置!这样就无法判断到底是“空”还是“满”。大体上有两种方法可以解决该问题。 办法1:始终保持一个元素不用 当空环的时候,R和W重叠。当W比R跑得快,追到距离R还有一个元素间隔的时候,就认为环已经满。当环内元素占用的存储空间较大的时候,这种办法显得很土(浪费空间)。
2013-10-04 13:33:00
1722
转载 生产者/消费者模式(五)环形缓冲区
[3]:环形缓冲区 前一个帖子提及了队列缓冲区可能存在的性能问题及解决方法:环形缓冲区。今天就专门来描述一下这个话题。 为了防止有人给咱扣上“过度设计”的大帽子,事先声明一下:只有当存储空间的分配/释放非常频繁并且确实产生了明显的影响,你才应该考虑环形缓冲区的使 用。否则的话,还是老老实实用最基本、最简单的队列缓冲区吧。还有一点需要说明一下:本文所提及的“存储空间”,不仅包括内存
2013-10-04 13:31:29
2380
转载 生产者/消费者模式 (四)注意事项
顺便补充几个注意事项,大伙儿留意一下: 1、对stdio进行读写操作是以阻塞方式进行。比如管道中没有数据,消费者进程的读操作就会一直停在哪儿,直到管道中重新有数据。 2、由于stdio内部带有自己的缓冲区(这缓冲区和管道缓冲区是两码事),有时会导致一些不太爽的现象(比如生产者进程输出了数据,但消费者进程没有立即读到)。具体的细节,大伙儿可以看"这里"。 ◇SOCKET
2013-10-04 13:30:46
1187
转载 生产者/消费者模式(三)队列缓冲区
[2]:队列缓冲区 经过前面两个帖子的铺垫,今天终于开始聊一些具体的编程技术了。由于不同的缓冲区类型、不同的并发场景对于具体的技术实现有较大的影响。为了深入浅出、便 于大伙儿理解,咱们先来介绍最传统、最常见的方式。也就是单个生产者对应单个消费者,当中用队列(FIFO)作缓冲。 关于并发的场景,在之前的帖子“进程还线程?是一个问题!”中,已经专门论述了进程和线程各自的优缺点,两者皆
2013-10-04 13:29:57
2096
转载 生产者/消费者模式(二)如何确定数据单元
另外,为了方便阅读,把本系列帖子的目录整理如下: 1、如何确定数据单元 2、队列缓冲区 3、队列缓冲区 4、双缓冲区 [1]:如何确定数据单元? 既然前一个帖子已经搞过扫盲了,那接下来应该开始聊一些具体的编程技术问题了。不过在进入具体的技术细节之前,咱们先要搞明白一个问题:如何确定数据单元?只有把数据单元分析清楚,后面的技术设计才好搞。
2013-10-04 13:28:50
917
转载 生产者/消费者模式 (一)“生产者/消费者模式”介绍
★简介 在实际的软件开发过程中,经常会碰到如下场景:某个模块负责产生数据,这些数据由另一个模块来负责处理(此处的模块是广义的,可以是类、函数、线程、进程等)。产生数据的模块,就形象地称为生产者;而处理数据的模块,就称为消费者。 单单抽象出生产者和消费者,还够不上是生产者/消费者模式。该模式还需要有一个缓冲区处于生产者和消费者之间,作为一个中介。生产者把数据放入缓冲区,而消费者从
2013-10-04 13:27:19
1640
原创 android触摸事件的分发机制、冒泡机制、消费机制
android的触摸事件包括OnTouchEvent()、onInterceptTouchEvent(MotionEvent ev)以及dispathTouchEvent(MotionEvent ev)。响应这些事件的控件有Activity、View、VewGroup。控件与事件的响应关系,如下图:1.分发机制:android会从root view(根控件)开始向其子控件分发触摸事件,让其子控
2013-09-22 11:08:38
1984
原创 百度地图只能有一个BMapManager实例
当程序中存在多个BMapManager的时候,可能会导致can not add new layer错误。可以通过单例的方式来解决该问题。为了及时释放资源,最好加一个引用计数,当BMapManager没有被引用的时候及时调用BMapManager.destroy()释放。
2013-09-07 16:47:45
2041
原创 cocos2d-x笔记(一)2.1.4版本安装
环境:win7+VS2012+cocos2d-x-2.1.4cocos2d-x从2.1.4版本开始就没有template/msvc,自然也没有该目录下的InstallWizard201X.js文件。在2.1.4中无法靠点击install-templates-msvc.bat自动安装模板到vs中。在2.1.4中需要使用python 来运行.\cocos2d-x-2.1.4\tools\p
2013-08-05 22:57:38
1990
原创 ScrollView监听停止滑动,判断是否滑到底部
监听停止滑动本以为ScrollView和ListView一样有setOnScrollListener方法。想不到ScrollView竟然没有。那就只能通过手势触摸事件来判断了。当手离开屏幕时,开始往handler中不断发生消息,直至滑动停止。判动是否滑到底部在滑动停止的时候,通过ScrollView和Linearlayout(scrollview的子控件)的高度以及滑动的距离来判断。
2013-07-29 21:59:24
6363
原创 ListView中点击事件无法响应
当ListView的Item中包含Button、ImageButto等控件时,会导致item无法获取焦点,从而无法响应点击事件。这时候需要设置所有子控件无法焦点:可以使用android:focusable="false"或在item layout文件中设置android:descendantFocusability="blocksDescendants"这样item就可
2013-06-20 16:40:41
2272
原创 ADB server didn't ACK,failed to start daemon
原因一:adb使用的端口被占用(也有可能是adb本身占用了),导致无法启动。解决方法:1.在任务管理器中将adb.exe进程杀死;2.重启eclipse。原因二:安装了豌豆夹,所导致的。解决方法:在任务管理器中杀死wandoujia_daemon.exe、wandoujia_helper.exe两个进程原因三:adb_us
2013-06-18 10:07:46
1060
原创 Nat的类型——Cone Nat、Symmetic Nat
Nat共分为四种类型:1.Full Cone Nat2.Restriced Cone Nat 3.Port Restriced Cone Nat4.Symmetric NatSymmetric Nat 与 Cone Nat的区别1.三种Cone Nat同一主机,同一端口会被映射为相同的公网IP和端口2.Symmetric Nat只有来自同一主机,同一端口发送
2013-05-10 16:15:07
7412
原创 查看android程序的CPU和内存消耗情况
查看CPU 消耗1.进入adb shell2.输入top -m 10 -s cpu 可查看占用cpu最高的前10个程序(-t 显示进程名称,-s 按指定行排序,-n 在退出前刷新几次,-d 刷新间隔,-m 显示最大数量)参数含义:PID:progress identification,应用程序IDS: 进程的状态,其中S表示休眠,R表示正在运行,Z表示僵死状态,N表示该
2013-04-28 10:35:55
21855
原创 Android 手机CPU 占用率过高
写了一个小程序(将定位数据发送到服务器),程序运行一小会儿,手机就很烫。开始以为是GPS长时间运转的,电池发烫。将GPS改成半个小时定一次位,情况还是没有彻底解决,依旧很烫。这时才想起了查看CPU的消耗情况(如何查看资源消耗),一看吓一跳,这么个小程序都耗了50%-60%d CPU 。 写了个测试程序测试线程空转会消耗多少CPU,当我在开启一个线程(只执行简单的打印)时,差不多消耗了
2013-04-28 09:42:54
7359
原创 UI线程、handler、service间的关系
在主界面中启动了一个service,service需要进行一些耗时操作(如图一)。结果发现UI界面会有停顿的现象。仔细查看资料后发现,原来service和也在UI线程中,而handler和调用它的线程在同一线程中,所以service在运转时会阻塞UI线程。找到阻塞的原因就好办了。 解决方法一:将service设置成remote。设置成remote后又有产生了一个问题—
2013-04-28 09:05:56
1470
转载 android 解析json数据(一)
json数据格式解析我自己分为两种;一种是普通的,一种是带有数组形式的;普通形式的:服务器端返回的json数据格式如下:{"userbean":{"Uid":"100196","Showname":"\u75af\u72c2\u7684\u7334\u5b50","Avtar":null,"State":1}}分析代码如下:// TODO
2013-03-30 14:41:34
742
原创 Android 与蓝牙串口通讯
google提供的demo——Bluetooth Chat已实现和手机蓝牙模块的通讯,但不能和单片机上的蓝牙模块的进行通讯,原因在于它们使用的UUID不同,只需要将Bluetooth Chat中的UUID改为"00001101-0000-1000-8000-00805F9B34FB"就可以连接上并实现通讯。不过很快出现了两个问题: 1.手 机端可以将一段数据(如0x68
2013-03-25 20:59:26
2481
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人