摘要: 问题描述: 如果我想让一个 sprite 显示3秒钟然后消失,应该怎么做?解决:使用 CCDelayTime 和 CCCallFuncCCSprite *sprite = [CCSprite spriteWithFile:@"blabla.png"];[layer addChild:sprite];CCDelayTime* waitAction = [CCDelayTime actionWithDuration:3]; //等待3秒CCCallFunc* vanishAction = [CCCallFunc actionWithTarget:self selector:@s 阅读全文
posted @ 2011-06-12 17:21 木乃猫 阅读(952) 评论(0) 推荐(0) 编辑
摘要: 最近做一个iPhone程序,需要用数据库,懒得学Core Data了,所以干脆用sqlite数据库了。我用 Lita (http://www.dehats.com/drupal/?q=node/58)创建了一个数据库,然后用 NSFileManager 把工程里的数据库复制到设备中该程序沙盒里的 Document 目录,结果发现沙盒里的数据库与我原来的数据库大小不一样!之前发过的一篇帖子([Android]如何导入已有的外部数据库)里也有人回复说导入的数据库大小有问题 。所以我觉得有可能是数据库有问题,但是我费了好大劲都把数据库建好了,怎么办呢?1. 点击 Export DB,把数据库导出成s 阅读全文
posted @ 2011-06-04 13:27 木乃猫 阅读(5249) 评论(4) 推荐(1) 编辑
摘要: 成功装上Mac之后发现输入法不能保存,每次开机只有一个US English,还要手动添加中文输入法,甚是麻烦。今天终于找到解决办法了,原来保存输入法需要UUID.步骤:1. 打开 /Application/Utilities 里面的Disk Utility2. 选中 Mac 的分区,点Info,复制下它的UUID3. 在 BootThink 安装的 Darwin 里找 ./Darwin/System/LibrarySL/Extensions/PlatformUUID.kext修改里面的 info.plist ,把38行的值替换成刚才复制的值 阅读全文
posted @ 2011-04-11 16:19 木乃猫 阅读(2544) 评论(1) 推荐(1) 编辑
摘要: 大家是否有过这样的经历,在命令行里输入adb shell,然后使用命令操作你的手机或模拟器,但是那些命令都是常见Linux命令的阉割缩水版,用起来很不爽。是否想过在Android上使用较完整的shell呢?用BusyBox吧。不论使用adb连接设备使用命令行还是在手机上直接用terminal emulator都可以。一、什么是BusyBox ?BusyBox 是标准 Linux 工具的一个单个可执行实现。BusyBox 包含了一些简单的工具,例如 cat 和 echo,还包含了一些更大、更复杂的工具,例如 grep、find、mount 以及 telnet。有些人将 BusyBox 称为 Li 阅读全文
posted @ 2011-03-12 16:05 木乃猫 阅读(161653) 评论(13) 推荐(10) 编辑
摘要: Android中使用ImageButton的话,程序里按下那个ImageButton时感觉不到任何按下的效果。网上有2中经典的解决方案,一种是使用xml,一种是写在代码里。这里我想要介绍另一种方法,使ImageButton有按下的特效,只需要准备一张普通的图片,不需要按下效果的图片。直接看示例代码,创建 TouchLight 和 TouchDark 这两个 OnTouchListener,然后给 ImageButton 设置OnTouchListener就行了,如果使用TouchLight,则按下效果是按键变亮;另一个就是变暗。代码里的两个 float 数组里存的东西是颜色矩阵,不了解颜色矩阵 阅读全文
posted @ 2011-02-04 19:31 木乃猫 阅读(10726) 评论(1) 推荐(1) 编辑
摘要: To summarize (and clarify), in Eclipse, go to "Debug Configurations". You can find that in the drop-down under the "debug" icon. Select "target", and select a preferred emulator target to launch. Then under "additional emulator command line options," add this:-partition-size 1024Then CLOSE the emula 阅读全文
posted @ 2011-01-27 22:16 木乃猫 阅读(2414) 评论(0) 推荐(0) 编辑
摘要: 如何获取一个能唯一标识每台Android设备的序号?这个问题有很多答案,但是他们中的大部分只在某些情况下有效。根据测试:所有的设备都可以返回一个TelephonyManager.getDeviceId()所有的GSM设备 (测试设备都装载有SIM卡)可以返回一个TelephonyManager.getSimSerialNumber()所有的CDMA 设备对于getSimSerialNumber()却返回一个空值!所有添加有谷歌账户的设备可以返回一个ANDROID_ID所有的CDMA设备对于ANDROID_ID和TelephonyManager.getDeviceId()返回相同的值(只要在设置 阅读全文
posted @ 2011-01-11 18:09 木乃猫 阅读(81796) 评论(0) 推荐(6) 编辑
摘要: 我们平时见到的android数据库操作一般都是在程序开始时创建一个空的数据库,然后再进行相关操作。如果我们需要使用一个已有数据的数据库怎么办呢?我们都知道android系统下数据库应该存放在 /data/data/com.*.*(package name)/ 目录下,所以我们需要做的是把已有的数据库传入那个目录下。操作方法是用FileInputStream读取原数据库,再用FileOutputStream把读取到的东西写入到那个目录。操作方法:1. 把原数据库包括在项目源码的 res/raw 目录下,然后建立一个DBManager类,代码如下:package com.android.Impor 阅读全文
posted @ 2011-01-03 22:09 木乃猫 阅读(43174) 评论(20) 推荐(7) 编辑
摘要: 动画效果写在xml里,在按键的onClickListener里如果写成这样那么Intent和animation是同时执行的,看不到动画效果,应该这样写——加入一个AnimationListener 阅读全文
posted @ 2010-12-14 13:08 木乃猫 阅读(7971) 评论(0) 推荐(0) 编辑
摘要: ListView 和 Adapter 的基础工作原理:ListView 针对List中每个item,要求 adapter “给我一个视图” (getView)。一个新的视图被返回并显示如果我们有上亿个项目要显示怎么办?为每个项目创建一个新视图?NO!这不可能!实际上Android为你缓存了视图。Android中有个叫做Recycler的构件,下图是他的工作原理:如果你有10亿个项目(item),其中只有可见的项目存在内存中,其他的在Recycler中。ListView先请求一个type1视图(getView)然后请求其他可见的项目。convertView在getView中是空(null)的。当 阅读全文
posted @ 2010-12-08 19:30 木乃猫 阅读(125684) 评论(24) 推荐(25) 编辑