• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
Dancefire 的技术博客
Stay Hungry, Stay Foolish. - Steve Jobs
博客园 首页 新随笔 联系 订阅 订阅 管理

2013年1月2日

为什么调用 FragmentPagerAdapter.notifyDataSetChanged() 并不能更新其 Fragment?
摘要: 在一个 Android 应用中,我使用 FragmentPagerAdapter 来处理多 Fragment 页面的横向滑动。不过我碰到了一个问题,即当 Fragment 对应的数据集发生改变时,我希望能够通过调用 mAdapter.notifyDataSetChanged() 来触发 Fragment 页面使用新的数据调整或重新生成其内容,可是当我调用 notifyDataSetChanged() 后,发现什么都没发生。 搜索之后发现不止我一个人碰到这个问题,大家给出的解决办法五花八门,有些确实解决了问题,但是我总感觉问题没搞清楚。于是我决定搞明白这个问题到底是怎么回事,以及正确的用法到底如何。要搞明白这个问题,仅仅阅读文档并不足够,还需要阅读相关几个类的相关方法的实现,搞懂其设计意图。下面就是通过阅读源代码搞明白的内容。 阅读全文
posted @ 2013-01-02 18:18 Dancefire 阅读(27010) 评论(11) 推荐(7)
 
 

2012年12月31日

将来的手机,我心中的手机 【十年前的一篇随笔】
摘要: 马上 2012 年就将过去,于此交替之际,我在整理自己陈旧的文档时,发现了一篇整整10年前发出的一篇帖子,看后感触颇深。那是2002年的12月30日,我当时正在闭关学英语,闲暇之际用手机颇多。受 Windows CE .Net 启发,感觉手机不应该是当时的样子。于是写了一篇文章,畅想一下我心中的手机应该是什么样子。当时发出这个帖子后,随手复制了一份在机器上,没想到今天还能再看到它。当我再次到网上试图找到发这篇文章的网站时,卻发现已经找不到了,真幸运我当时能够复制一份在本地。10年之后的今天,在 iPhone、Android、以及 Windows Phone 全面占领市场的今天,当我再次重读这篇文章时,发现,大多数设想都成了现实。没有 Steve Jobs,这一天恐怕需要更久才能到来。谢谢你,Steve。将此文章于整整十年后的今天,再次发送于此,以示纪念。 阅读全文
posted @ 2012-12-31 20:22 Dancefire 阅读(2321) 评论(6) 推荐(3)
 
 

2011年10月22日

【翻译】Stephen Wolfram 对 Steve Jobs 的点滴回忆
摘要: 译者:从小时候 Steve Jobs 就通过他的 Macintosh 影响到了我的生活,让我意识到计算机不一定就是我们见到的白不白、黑不黑方盒子上面堆一个显示器,而且软驱竟然可以这么设计。长大后,虽然我一直使用 Windows 系统,后来是 Linux;虽然我是 Android 的 fans;但是,Steve Jobs 带领 Apple 所创造的每一个辉煌,依旧深深的影响到了我身边的每一个人,从iPod、iPhone,到 iPad、MacBook Air。Bill Gates 是我学生时代的偶像,而 Steve Jobs 则是随后几年中成为了我的偶像。虽然他很 aggressive,虽然 apple 有各种各样的问题,但是这一点都不影响他的个人魅力。不想,仅在 iPhone 4S 发布一天后,就惊闻 Steve Jobs 的辞世。当时我正在 Jervis Bay 美丽的海滩上休假,雪白的沙滩,碧蓝的海天以及周围所有美丽的东西,瞬间失去了色彩,我拿着手机看着这个新闻,愣在了那里,迟迟不敢相信。直到我最后看到了 apple.com 上 Steve Jobs 的头像,我才明白,Steve J 阅读全文
posted @ 2011-10-22 12:34 Dancefire 阅读(1545) 评论(2) 推荐(2)
 
 

2011年10月21日

Android 源代码服务器终于又上线了
摘要: 过去的3年里,android的源代码一直托管在 android.git.kernel.org 上,而自从今年8月底Linux kernel.org被黑了,android 的源代码就没有发布了。只有github.com上的一个镜像还可以使用。9月份kernel.org虽然恢复了,但是 android的源代码库一直没有上线。据一个开发人员说,这次kernel.org被黑与android源代码托管到kernel.org也有关系,他们在想办法避免此类事情再次发生,所以一直没有上线。今天终于又上线了。 阅读全文
posted @ 2011-10-21 02:04 Dancefire 阅读(2838) 评论(2) 推荐(1)
 
Android 4.0 Ice Cream Sandwich Tablet 平板全方位屏幕截图
摘要: Google 发布 Android 4.0 后,很快就发布了SDK。虽然在发布会上只字未提平板电脑的事情,但是之前提过这次发布是合并了平板和手机两个分支。因此我非常好奇在平板上 Android 4.0 到底是什么样子的?和3.x Honeycomb 有多大差别? 更新了SDK后,建立一个Tablet的虚拟机,启动后就看到了 Android 4.0 的界面,和 Honeycomb 相比变化不大,但是还是有些细节有变化。废话不多说了,看截图,基本上把看到的东西都截图下来了 阅读全文
posted @ 2011-10-21 01:21 Dancefire 阅读(3021) 评论(6) 推荐(1)
 
 

2011年3月30日

如何避免 VPN 连接后会降低本地网络访问速度的问题
摘要: 上回说到了通过 VPN 进行加速,有不少朋友已经体会到了 VPN 的好处,许多网站从缓慢到无法访问,变得可以流畅的访问了。但是,我们经常面临一个问题,VPN 拨通后,所有流量都会流经 VPN,导致本地的网络访问可能会很不顺畅,有的速度非常缓慢,有的甚至不能访问。特别是对于那些在使用 VPN 同时还在进行本地下载的用户,这个问题更加明显。对于那些收费的 VPN 而言,因为它们速度较快,所以感觉问题不大。但是,对于那些免费的、速度比较缓慢、甚至限制流量的 VPN 来说,这就是一个比较严重的问题了。很多人不得不同时只干一件事情,要使用 VPN 就停止本地网络的访问,要访问本地网络就需要断开 VPN。那么,可不可以只有访问镇外的流量走 VPN,而本地网络依旧使用本地连接呢?答案自然是可以的。 阅读全文
posted @ 2011-03-30 13:35 Dancefire 阅读(10652) 评论(29) 推荐(5)
 
 

2011年3月15日

在Ubuntu上启用apache worker模式和php
摘要: Ubuntu默认安装的apache的mpm是prefork,也就是说是多进程模式。这是比较稳定的模式。但是由于每个并发连接需要使用一个完整的进程,内存消耗较大,性能上也较差。Apache有很多mpm,我们可以使用worker模式,这是多进程/多线程模式。允许一个进程启用多个线程来接受并发连接,这大大提高了响应速度和降低了内存使用。 对于php而言,默认的prefork模式使用的是mod_php,这在多进程环境下是性能较好的方式。但是对于多线程模式而言,mod_php就有问题了,它不支持多线程环境。因此对于我们要使用的mpm-worker而言,需要使用mod_fcgid来访问php-cgi,这样就可以使用php了。 具体操作如下: 阅读全文
posted @ 2011-03-15 13:55 Dancefire 阅读(1264) 评论(0) 推荐(1)
 
 

2011年3月9日

记一次 superblock 损坏导致服务器无法启动的故障修复
摘要: 前几天接到朋友联系,说他的服务器坏了,启动不起来了。这是一个RHEL 4的服务器,而且是那种盗版RHEL 4,也就是说没有售后服务的,联系我问问能不能帮帮忙。我也很久没有弄过Linux系统上的东西了。只好尝试一下,庆幸的是,修好了,并帮朋友维护了一段时间,在此记录一些修复和维护中碰到的问题。修复 superblock 本身并不复杂,我觉得值得记录的是修复过程中的思考过程,和修复所需要注意的问题。 阅读全文
posted @ 2011-03-09 07:11 Dancefire 阅读(21119) 评论(1) 推荐(2)
 
 

2009年2月4日

也谈表达式分析和计算
摘要: 昨天看到 王博炜 Blog中《五进制》这篇文章。其中关于5进制到10进制的转换自然没有什么意思,这篇文章给的代码主要是讨论如何进行表达式分析和计算的。作者自制了一个Stack,并且用其形成了两个堆栈分别用于存储数值和运算符。比较典型的表达式处理的方法。从实现上看,代码有些臃肿,而且必要的优化很少,另外就是没有充分利用标准提供的便利。比如那个Stack完全没有必要自制,STL提供的std::stack<T>可以很好的完成任务。而今天我要做的是,使用boost::spirit来实现同样的表达式分析和计算。众所周知,boost是C++中质量很高的库,被称为准标准库,因为其存在的一个很重要 阅读全文
posted @ 2009-02-04 12:24 Dancefire 阅读(409) 评论(0) 推荐(0)
 
 

2007年12月8日

让VS 2008支持Subversion
摘要: Visual Studio 2005 有一个开源的Subversion插件,Ankhsvn (http://ankhsvn.tigris.org/),安装后,VS 2005中将内置Subversion的支持,可以直接在VS里面提交修改。我经常用它和TortoiseSVN 配合来使用Subversion,十分方便。可是升级到Visual Studio 2008后,发现Ankhsvn没有集成进来,因为目前的Ankhsvn还不支持VS2008,据说下个版本才会支持VS 2008。不过这不影响我们在Visual Studio 2008中使用Ankhsvn,我们可以自己动手修改注册表,将Ankhsvn集 阅读全文
posted @ 2007-12-08 02:48 Dancefire 阅读(342) 评论(0) 推荐(0)
 
 

2007年12月2日

使用XmlWriter时请注意Encoding
摘要: 这两天用一个常用编辑的软件打开一个最近更新的xml配置文件时突然报编码错误,说不支持utf-16。看到这个错误,我愣了一下,这个软件不支持utf-16的xml我是知道的,但是这个xml配置文件可是用XmlSerializer序列化的一个class,一直都是使用utf-8编码的,怎么突然出utf-16了?用Notepad++打开这个xml,看了一下右下角的编码,显示的还是utf-8,看来文件输出没有错啊,等等,突然注意到第一行:<?xmlversion="1.0"encoding="utf-16"?>咦?文件明明是utf-8,可是xml dec 阅读全文
posted @ 2007-12-02 21:05 Dancefire 阅读(650) 评论(0) 推荐(0)
 
 

2007年11月27日

Visual Studio 2008 LINQ to SQL 的Beta 2测试版和RTM正式版的差异
摘要: Follow Scott Guthrie 的例子学习LINQ,结果找了半天也没有找到Table<TEntity>Add()这个函数,查了MSDN,也没看到,我还以为是static的Class Extension添加的方法呢,正郁闷着到底是少reference了哪个库。呵呵,结果进一步搜索才发现,原来RTM把Table<TEntity>Add()改名为 Table<TEntity>InsertOnSubmit()。这个改名语义更强了,改得确实对的,不然现在有很多人在论坛上问为什么Add()后数据库没变化。Scott Guthrie的Blog上似乎也没说啥,哎, 阅读全文
posted @ 2007-11-27 23:04 Dancefire 阅读(176) 评论(0) 推荐(0)
 
 

2007年11月25日

写了一个开源的ASP.Net的系统信息探针(适用于MS.Net 1.x/2.0和Mono 1.0/2.0)
摘要: 简介这两天由于需要一个ASP.Net的服务器信息探针。到网上找了找,似乎没有发现什么开源的ASP.Net的系统信息探针(探测器)。由于技术含量不是很高,于是干脆自己动手丰衣足食了。到网上找了一下各个ASP.Net系统信息探针,把功能总结了一下,基本上都实现出来了。既然实现了就别藏着掖着了,也没什么技术含量,拿出来开源好了。有谁有更好的想法可以告诉我,如果不费劲,我就加进去。我把这个放到Google code hosting上面了,需要的可以从上面下载:http://aspnetsysinfo.googlecode.com/我这个ASP.Net的系统信息探针与其它探针最大的不同处,是我这个探针除 阅读全文
posted @ 2007-11-25 12:26 Dancefire 阅读(440) 评论(0) 推荐(0)
 
 

2007年11月7日

C#匿名方法的应用二则–实现异常Retry机制和WinForm线程安全访问
摘要: 用C# 2.0的朋友可能会经常使用匿名方法(Anonymous Methods)和匿名委托(Anonymous Delegate)。在这里我说2个比较常用的应用环境。1、Retry机制C#和C++, Java一样拥有异常处理机制,我相信很多朋友和我一样,第一次接触异常的时候,都非常希望异常能够像内核捕获内存page fault异常一样类似的拥有Retry(重试)的机制,很可惜这些语言中都没有给我们提供Retry机制。当然原因有很多,比如如果重试,那么到底是重试哪部分代码呢?是try{}catch{}中的代码?还是发生异常那一行的代码?重试多少次?重试之间是不是要再等一会儿?如果再失败怎么处理? 阅读全文
posted @ 2007-11-07 23:16 Dancefire 阅读(300) 评论(0) 推荐(0)
 
 

2007年5月13日

中科院中文分词系统ICTCLAS之CSegment的GenerateWord()详细分析
摘要: 一、简介这次分析的是ICTCLAS中的//GenerateWordaccordingthesegmentationrouteboolCSegment::GenerateWord(int**nSegRoute,intnIndex)本来这个函数没有必要详细分析,但是我注意到中科院论文中并没有描述这个函数、而Sinboy和吕震宇也基本上跳过这个函数不讲了,所以这个函数还没有有人详细的分析过呢。在这里,我具体的分析一下这个函数,另外,也提出一些问题供打算重写ICTCLAS的朋友来考虑。二、功能介绍这个函数虽然叫做GenerateWord,但是事实上并不仅仅是生成词,准确说,它大部分的工作不是为了将已经 阅读全文
posted @ 2007-05-13 05:47 Dancefire 阅读(525) 评论(0) 推荐(0)
 
 
下一页

公告


博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3