Category: 计算机技术

中国水系Android第一个版本

写这个例子的目的是供同事和开发Android的朋友学习借鉴。 这个版本不是凭空冒出来的,就像爱因斯坦做手工的故事(不知道的见这里)一样,还有更丑的“小凳子”,它们是: 简单使用SimpleCursorAdapter 在视图显示中使用Style 在视图显示中使用Theme android 1.6下使用Loader示例 参考它们可以了解版本的演进过程。可能降低学习曲线。 这个版本的首页: 点击条目,会弹出带图片的详细信息界面: 这里的图片是从维基百科直接下载的,并会缓存在本地。 另外,就是对横竖屏使用了不同的布局:    发送文章为PDF   

星期四 三月 31st, 2011 in 计算机技术 | 5 Comments »

android 1.6下使用Loader示例

android 3.0 sdk,引入了很多新api,比如Loader。和Fragment类似(编写兼容android1.6的fragment),该api也可在android 1.6以上版本执行。 以下介绍如何编写Loader,实现对ListView的异步加载。效果如图: 示例中有一个后台线程每隔3秒更新数据库的长江记录,将记录改为“长江”或“Long River”。ListView无需监控数据库变化,基于Loader,会自动更新。实际上这里面是观察者模式,无非是系统自带了,只需调用即可,无需自己构造观察者。 这个示例也是完整的sqlite+content provider+cursor adapter+listview+loader组合示例。 日志引用中国水系Android第一个版本    发送文章为PDF   

星期二 三月 29th, 2011 in 计算机技术 | 1 Comment »

在视图显示中使用Theme

在在视图显示中使用Style中,使用的是针对一个视图指定元素的样式。如果要针对整个Activity,对它的背景颜色和字体等做统一的样式约定,就需要使用另外一个技术,theme。 以下示例就是在在视图显示中使用Style基础上增加了theme。 日志引用中国水系Android第一个版本android 1.6下使用Loader示例    发送文章为PDF   

星期一 三月 28th, 2011 in 计算机技术 | No Comments »

在视图显示中使用Style

如果视图界面风格需要统一的规划,就需要使用android视图技术中的style。这类似HTML技术和CSS技术的关系。 示例改编自简单使用SimpleCursorAdapter。示例截图如下: 日志引用中国水系Android第一个版本在视图显示中使用Theme    发送文章为PDF   

星期一 三月 28th, 2011 in 计算机技术 | 1 Comment »

简单使用SimpleCursorAdapter

如果使用Sqlite,建议和ContentProvider结合使用。这样数据库的生命周期就不用自己管了。然后,如果要在比如ListView中显示,可以使用CursorAdapter。简化的办法是使用子类SimpleCursorAdapter。 以下就介绍一下使用sqlite+content provider+cursor adapter的最简单实现示例。太简单了,示例如图: 日志引用中国水系Android第一个版本在视图显示中使用Style    发送文章为PDF   

星期一 三月 28th, 2011 in 计算机技术 | No Comments »

编写兼容android1.6的fragment

在通过声明方式在Android 3.0上使用Fragment中写的例子只能用在android3.0以上的版本。之前也测试过兼容1.6的方式,见编写最简单的Fragment。现在修改了android3.0的示例,可以兼容1.6版本了。 这是在nexus one 2.3.3下的截屏。项目本身使用的sdk是1.6。 日志引用android 1.6下使用Loader示例    发送文章为PDF   

星期五 三月 25th, 2011 in 计算机技术 | No Comments »

编写简单的AppleScript脚本

Mac环境下有一个强大的自然语言脚本工具,AppleScript。用它能干什么? 看看我写的简单脚本: say "Marshal is a programmer. You can visit his blog" tell application "Google Chrome"     set URL of active tab of window 1 to "http://marshal.easymorse.com"     activate end tell 运行脚本,系统会先朗读第一行。随后打开google chrome浏览器,将当前的tab页面加载为我的博客首页。如果没有启动google chrome,则启动并创建新的tab。    发送文章为PDF   

星期五 三月 25th, 2011 in 计算机技术 | No Comments »

通过声明方式在Android 3.0上使用Fragment

在编写最简单的Fragment中使用的环境是1.6到2.3的。为了比较正式的学习一下Fragment的使用,在Android 3.0平板模拟器上开发了一个示例: 使用Fragment可以有两种方式,即: 通过布局xml文件,将fragment声明到布局里,这样fragment生命周期和Activity是绑定的 通过编程方式,自己可以灵活处理在Activity内的fragment生命周期,缺点是可能因为复杂的生命周期管理带来不可预期的效果,比如[cref 4096]示例 日志引用编写兼容android1.6的fragment    发送文章为PDF   

星期四 三月 24th, 2011 in 计算机技术 | No Comments »

Android布局优化的要点

以下翻译自《Professional Android 2 Application Development》第四章Create user interfaces的Optimizing Layouts部分。 通过inflate在Activity中布局是个有性能消耗的过程。每增加一个嵌套的布局和视图都会对应用的性能造成很大的影响。 总之,好的实践是尽量保持布局尽可能简单,尤其是要避免嵌套inflate操作整个新的布局,这是为更新已经存在布局的小变化。 以下几点是包含在Android最佳实践指导原则里的,当然并不绝对: 避免不必要的嵌套:不要把一个布局放置在其他布局里,除非是必要的。 避免使用太多视图:在一个布局中每增加一个新的视图,都会在inflate操作时耗时和消耗资源。任何时候都不要在一个布局中包含超过80个视图,否则,消耗在inflate操作上的时间会很大。 避免深度嵌套:布局可以任意嵌套,这极易于创建复杂和深度嵌套的布局层次。如果没有硬性限制,将嵌套限制在10层以下是好的实践。 优化布局层次,比如减少没效率的或者不必要的嵌套布局,是十分重要的。 Android SDK包含了layoutopt,一个命令行工具,来辅助这个优化工作。运行该命令,参数是布局文件或者布局文件的目录,将分析并给出改善的建议。    发送文章为PDF   

星期二 三月 15th, 2011 in 计算机技术 | No Comments »

编写最简单的Fragment

3月3日,Android发布了《Fragment For All》,标明Android为兼容各个低版本(最低1.6)做出了实质性的行动。 Fragment API类似iOS的Split View。另外,看过Fragment API以后,觉得应该也可以实现iOS的Popover。split view可见这里。popover可见简单的popover。 在Android 2.3.2上测试了Fragment的简单使用。效果如下: 模拟了split view的使用。 日志引用编写兼容android1.6的fragment通过声明方式在Android 3.0上使用Fragment    发送文章为PDF   

星期二 三月 8th, 2011 in 计算机技术 | 2 Comments »