代码改变世界

你所需要知道的一些git 的使用命令:历史

2013-04-15 16:49 by Terry_龙, 4361 阅读, 2 推荐, 收藏, 编辑
摘要:== 关于历史 ==Git分布式本性使得历史可以轻易编辑。但你若篡改过去,需要小心:只重写你独自拥有的那部分。正如民族间会无休止的争论谁犯下了什么暴行一样,如果在另一个人的克隆里,历史版本与你的不同,当你们的树互操作时,你会遇到一致性方面的问题。一些开发人员强烈地感觉历史应该永远不变,不好的部分也不变所有都不变。另一些觉得代码树在向外发布之前,应该整得漂漂亮亮的。Git同时支持两者的观点。像克隆,分支和合并一样,重写历史只是Git给你的另一强大功能,至于如何明智地使用它,那是你的事了。=== 我认错 ===刚提交,但你期望你输入的是一条不同的信息?那么键入:$ git commit --ame 阅读全文

android 自定义TextView支持微博功能后在ListView占用了Item点击的解决办法

2013-04-02 09:36 by Terry_龙, 6157 阅读, 2 推荐, 收藏, 编辑
摘要:使用setMovementMethod才能使TextView里面的元素自动拥有点击功能,支持ClickSpan。但是加上这个方法会造成ListView的每个项无的文本会占用ListView的ItemClick,解决这个办法需要重写一个setMovementMethod方法,详见代码如下:public class TextViewFixTouchConsume extends TextView {boolean dontConsumeNonUrlClicks = true;boolean linkHit;public TextViewFixTouchConsume(Context context 阅读全文

你所需要知道的一些git 的使用命令:Git大师

2013-03-19 15:31 by Terry_龙, 10570 阅读, 2 推荐, 收藏, 编辑
摘要:=== 源码发布 ===就我的项目而言,Git完全跟踪了我想打包并发布给用户的文件。创建一个源码包,我运行:$ git archive --format=tar --prefix=proj-1.2.3/ HEAD=== 提交变更 ===对特定项目而言,告诉Git你增加,删除和重命名了一些文件很麻烦。而键入如下命令会容易的多:$ git add .$ git add -uGit将查找当前目录的文件并自己算出具体的情况。除了用第二个add命令,如果你也打算这时提交,可以运行`git commit -a`。关于如何指定应被忽略的文件,参见 *githelp ignore* 。你也可以用一行命令完成以 阅读全文

你所需要知道的一些git 的使用命令:Git的缺点

2013-03-18 13:14 by Terry_龙, 3552 阅读, 3 推荐, 收藏, 编辑
摘要:=== SHA1 的弱点 ===随着时间的推移,密码学家发现越来越多的SHA1的弱点。已经发现对对资源雄厚的组织哈希冲撞是可能的。在几年内,或许甚至一个一般的PC也将有足够计算能力悄悄摧毁一个Git仓库。希望在进一步研究摧毁SHA1之前,Git能迁移到一个更好的哈希算法。=== 微软 Windows ===Git在微软Windows上可能有些繁琐:- http://cygwin.com/[Cygwin] ,, 一个Windows下的类Linux的环境,包含一个 http://cygwin.com/packages/git/[ 一个Git在Windows下的移植].- http://code.g 阅读全文

你所需要知道的一些git 的使用命令:克隆

2013-03-13 10:44 by Terry_龙, 13536 阅读, 1 推荐, 收藏, 编辑
摘要:在较老一代的版本控制系统里,checkout是获取文件的标准操作。你将获得一组特定保存状态的文件。在Git和其他分布式版本控制系统里,克隆是标准的操作。通过创建整个仓库的克隆来获得文件。或者说,你实际上把整个中心服务器做了个镜像。凡是主仓库上能做的事,你都能做。=== 计算机间同步 ===我可以忍受制作tar包或利用rsync来作备份和基本同步。但我有时在我笔记本上编辑,其他时间在台式机上,而且这俩之间也许并不交互。在一个机器上初始化一个Git仓库并提交你的文件。然后转到另一台机器上:$ git clone other.computer:/path/to/files以创建这些文件和Git仓库的 阅读全文

android 简单的两步实现Play上的文本伸缩功能

2013-03-12 17:46 by Terry_龙, 3345 阅读, 1 推荐, 收藏, 编辑
摘要:经常上google play下载软件,看到它的伸缩式的软件介绍很感兴趣。功能截图如下:点击文本会下拉更多详细介绍,实现这一功能很简单,废话不多说,直接上代码 private boolean isExpanded = false; private int lastHeight = 0; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_expan... 阅读全文

你所需要知道的一些git 的使用命令:分支

2013-03-11 15:38 by Terry_龙, 5396 阅读, 1 推荐, 收藏, 编辑
摘要:即时分支合并是Git最给力的杀手锏。*问题* :外部因素要求必须切换场景。在发布版本中突然蹦出个严重缺陷。某个特性完成的截至日期就要来临。在项目关键部分可以提供帮助的一个开发正打算离职。所有情况逼迫你停下所有手头工作,全力扑到到这个完全不同的任务上。打断思维的连续性会使你的生产力大大降低,并且切换上下文也更麻烦,更大的损失。使用中心版本控制我们必须从中心服务器下载一个新的工作拷贝。分布式系统的情况就好多了,因为我们能够在本地克隆所需要的版本。但是克隆仍然需要拷贝整个工作目录,还有直到给定点的整个历史记录。尽管Git使用文件共享和硬链接减少了花费,项目文件自身还是必须在新的工作目录里重建。*方案 阅读全文

你所需要知道的一些git 的使用命令:基本技巧

2013-03-08 14:34 by Terry_龙, 4020 阅读, 4 推荐, 收藏, 编辑
摘要:与其一头扎进Git命令的海洋中,不如来点基本的例子试试手。它们简单而且实用。实际上,在开始使用Git的头几个月,我所用的从来没超出本章介绍的内容。=== 保存状态 ===要不来点猛的?在做之前,先为当前目录所有文件做个快照,使用:$ git init$ git add .$ git commit -m "My first backup"现在如果你的编辑乱了套,恢复之前的版本:$ git reset --hard再次保存状态:$ git commit -a -m "Another backup"=== 添加、删除、重命名 ===以上命令将只跟踪你第一次运行 阅读全文

cocos2d-x for android:士兵听我的命令移动

2012-11-11 20:49 by Terry_龙, 8500 阅读, 0 推荐, 收藏, 编辑
摘要:上一篇文章讲述了利用cocos2d-x构建精灵的动画效果,今天打算以此为引子,创建一个在移动时同时指挥角色到我手指触摸的移动地点,那么就开始吧。开始本篇要点 角色(Sprite)缓存 动画(Animation)缓存 触摸(Touch)精灵到我指定的移动地点 动作(Action)移动和切换涉及到的要学的学习点: 角色移动点击由此进入-->cocos2d-x for android:SimpleGame分析 播放动画点击由此进入-->cocos2d-x for android:CCSprite 精灵动画­角色缓存角色缓存使用CCSprite... 阅读全文

cocos2d-x for android:CCSprite 精灵动画

2012-11-07 21:55 by Terry_龙, 16972 阅读, 2 推荐, 收藏, 编辑
摘要:记得以前学习XNA游戏开发的时候,操作精灵角色的攻击或者行走动作都是给出特定的几张序列图或者一张长序列图然后通过切割来作一帧一帧的切片动画播放。开始关于精灵sprite我从网上摘录了一段话如下说白一点,精灵就是将图形资源加载到内存中,并根据游戏需要将其显示到屏幕中的工具,游戏中大到背景、UI,小到NPC、道具,只要是用图片展示的,都是精灵或它的子类。从技术上讲,精灵是一个可以不断变化的图片,这些变化包括:位置移动、旋转、缩放、换帧(就是像动画片一样播放几张连续的图片,每帧换一张,形成一个动画效果)在cocos2d-x 中精灵的关系如下图该图来源于:http://www.xuanyusong.c 阅读全文

cocos2d-x for android:SimpleGame分析

2012-10-30 13:18 by Terry_龙, 8944 阅读, 5 推荐, 收藏, 编辑
摘要:作为cocos2d-x的标配DEMO,SimpleGame可算是给入门学cocos2d-x的俺们这些新手门学习的对象了,那么来分析分析,把几个关键的代码记录下来。设置游戏读取资源的目录CCFileUtils::sharedFileUtils()->setResourceDirectory("sd");默认路径是Resource目录设置游戏的分辨率大小CCEGLView::sharedOpenGLView()->setDesignResolutionSize(480, 320, kResolutionNoBorder);也可以不设置,自动去获取创建精灵CCSpri 阅读全文

cocos2d-x for android:HelloWorld 解读

2012-10-28 09:01 by Terry_龙, 10549 阅读, 5 推荐, 收藏, 编辑
摘要:上一篇文章说到,执行create-android-project.sh脚本会生成一个android 项目。该android 项目会有三个目录分别为cocos2d-x 生成的项目列表proj.android:上文说过,是android 运行的项目工程Classes:是上面android 工程运行时的NDK库,所有可以跨平台的以C++编写的代码都放在该目录,然后以NDK的方式编译成SO动态库,供android 项目调用,原生编译出来的工程有四个文件Resources:是存放so动态库需要的资源文件比如图片、音频等cocos2d-x的makefile文件要清楚的知道它是如何把Classes文件编译成 阅读全文

cocos2d-x for android:ubuntu 环境搭建

2012-10-27 15:02 by Terry_龙, 12593 阅读, 1 推荐, 收藏, 编辑
摘要:自从体验了vim 的强大之后,好像一开发程序都不自觉的离不开这货了,也倾向在ubuntu 下开发应用。周末闲来无事,看了一下cocos2d,盘算着我也进军游戏界得了。于是乎,装之。cocos2d-x 引擎下载点击跳转下载 或 git://github.com/cocos2d/cocos2d-x.git下载完成后,解压,得到如下的目录安装第一步打开create-android-project.sh脚本,将NDK_ROOT_LOCAL 和ANDROID_SDK_ROOT_LOCAL改成你系统对应的NDK目录和SDK目录,如下图改完后保存。执行create-android-project.sh 脚本 阅读全文

android 电视盒下XBMC源码功能的简单分析

2012-10-08 15:43 by Terry_龙, 11375 阅读, 3 推荐, 收藏, 编辑
摘要:XBMC是一个优秀的自由和开源的(GPL)媒体中心软件。XBMC最初为Xbox而开发,现在可以运行在Linux、OSX、Windows系统。 2003年,一些兴趣相投的程序员创建了这个项目。XBMC是一个非盈利的项目,由遍布世界各地的自愿者开发维护。超过50名软件开发人员为XBMC作出贡献,还有超过100名翻译人员努力扩大它的应用范围,使它支持超过30种语言。 由于XBMC一开始设计就是倾向于遥控输入,自身的框架极其强大,容易扩展,用在电视盒上面刚好可以补充小公司在内容不足时的替代品。值得庆幸的是,XBMC的android 源码也开源了,android 电视盒的开发者可以学习或者拿过来改造了. 阅读全文

关于Ubuntu 下新开发板adb 无法识别的问题

2012-08-14 10:12 by Terry_龙, 3730 阅读, 1 推荐, 收藏, 编辑
摘要:一般开发公司都开发员都有同时处理不同开发板,因为项目迭代需要。但是不同的开发板的USB并不同,导致adb无法识别。下面给出解决方法。步骤一:打开终端,输入lsusb上面的2207:0006就是我们新的开发板的USB的ID,不知道如何识别的同学 ,可以通过反复的插拔查找哪个是变化值。我们需要复制:前缀的2207,新增到配置文件里面。步骤二:修改51-android.ruls 配置文件在终端上输入:sudo vim /etc/udev/rules.d/51-android.rules,可以看到下面的数据将这两行数据,复制拷备,重新换一行。然后修改SYSFS{idVendor}这个值的数据,将其改成 阅读全文

关于下载xbmc后打开Android 源码时的一个思考问题?兼各平台安装xbmc 的中文显示

2012-07-27 15:13 by Terry_龙, 5552 阅读, 1 推荐, 收藏, 编辑
摘要:XBMC是一个优秀的自由和开源的(GPL)媒体中心软件。XBMC最初为Xbox而开发,现在可以运行在Linux、OSX、Windows、android、IOS系统。 2003年,一些兴趣相投的程序员创建了这个项目。XBMC是一个非盈利的项目,由遍布世界各地的自愿者开发维护。超过50名软件开发人员为XBMC作出贡献,还有超过100名翻译人员努力扩大它的应用范围,使它支持超过30种语言(当然也包括咱们的中文)。 作为一个标准的媒体中心软件,XBMC表现良好,因为它的开发目标就是要成为你的HTPC的最佳伴侣。支持几乎所有摇控器,整合了华丽且功能强劲的皮肤引擎,XBMC自然成为你客厅家庭影院系统的理. 阅读全文

Android 关于图片文件夹后缀错误,使应用在源码下编译通过却无法运行的错误

2012-07-18 16:31 by Terry_龙, 5632 阅读, 0 推荐, 收藏, 编辑
摘要:问题描述:同事在处理一个应用,之前一直在Eclipse 下编译,并运行到开发板上调试,一切正常,相安无事。后来需要在源码下编编译使一些动态库取得系统权限,源码下编译也是很顺利的,但一跑到开发板上就出错无法运行,直接force stop.相关出错的Logcat :E/AndroidRuntime(1969):FATALEXCEPTION:mainE/AndroidRuntime(1969):java.lang.RuntimeException:UnabletostartactivityComponentInfo{com.android.xuzhitech.xfree/com.android.xu 阅读全文

Android 解决不同进程发送KeyEvent 的问题

2012-06-07 10:14 by Terry_龙, 27611 阅读, 3 推荐, 收藏, 编辑
摘要:最近在做有关于Remote Controller 的功能,该功能把手机做成TV的遥控器来处理。在手机的客户端发送消息到TV的android 服务端,服务端接收到客户端的请求消息,模拟KeyEvent命令,发送Key值。最简单的发送命令为如下代码:publicstaticvoidsimulateKeystroke(finalintKeyCode){newThread(newRunnable(){publicvoidrun(){//TODOAuto-generatedmethodstubtry{Instrumentationinst=newInstrumentation();inst.sendKe 阅读全文

Android 框架层为IMountService 增加新接口

2012-04-20 10:10 by Terry_龙, 10790 阅读, 6 推荐, 收藏, 编辑
摘要:在为Android 增加多分区的支持时,可能会需要获得当前 USB 连接的挂载口,可能标准的Android 框架并未提供这样的接口给开发者,这时就需要我们自己为它提供接口了。先来看一下上层(应用)如何得到一个IMountService 的。privatesynchronizedIMountServicegetMountService(){if(mMountService==null){IBinderservice=ServiceManager.getService("mount");if(service!=null){mMountService=IMountService. 阅读全文

Android SDCard Mount 流程分析(二)

2012-04-12 10:09 by Terry_龙, 15097 阅读, 3 推荐, 收藏, 编辑
摘要:上一篇关于Mount的分析,分析了main的作用和一些挂载系统的分析。下面深入分析Mount的流程走法。Mount流程分为两个部分 主动挂载(插入SDCARD或者USB硬盘时系统自动挂载) 手动挂载(卸载SDCARD或者USB硬盘后,再点击加载设备的手动挂载)不同挂载走的流程并不相同,比如手动挂载是由上层发命令给vold 执行挂动作,而主动挂载是由kernel 分命令给vold 再由vold 发挂载消息给上层,上层得到挂载消息和状态后再发命令给vold 执行挂载。主动挂载较之复杂些。不过虽然流程不一样,但最终还是要调用Volume的挂载函数,下面将详细介绍两者的行走的流程。由于... 阅读全文