AppMobi今天发布了一个新的工具PhoneGap Mobile App
XDK,可以让开发人员创建、模拟和测试PhoneGap项目。该工具是一个集成开发环境(IDE),提供了用于创建HTML5和PhoneGap应用的
全套开发工具。AppMobi称,新的XDK为PhoneGap项目开发提供了一个直观的开发环境。
AppMobi 致力于移动和Web开发,它们不断推出一些框架或Web应用替代方案。同时,AppMobi 希望在其自己的移动平台上推进 HTML5 的发展。它的开发工具XDK,使开发者可以使用HTML5构建网络和移动平台的应用程序。
PhoneGap是一个开源的开发框架,用来构建跨平台的使用HTML、CSS和JavaScript的移动应用程序。使用它可以做到一次开发,
然后部署到六大平台:iOS、Android、BlackBerry、WebOS、Bada和塞班等,堪称移动开发界的瑞士军刀。
AppMobi 称,PhoneGap XDK是一个完整的开发环境,也可以和其他代码编辑器一起使用,如Dreamweave
5.5或NotePad++等。因此,开发者并不需要学习一种全新的编辑器。该框架的目标是帮助开发者减少编码和调试周期。PhoneGap
XDK允许用于测试、模拟PhoneGap代码,以看该应用能否在iOS或Android设备上运行。
下载地址:http://www.appmobi.com/?q=node/153
(官网不是很稳定,多试几次)
VIA readwriteweb.com
《设计原本:计算机科学巨匠Frederick P.Brooks的思考(评注版)(Design of Design名作精读)》
基本信息
作者: (美)布鲁克斯(Brooks, F. P.) [作译者介绍]
译者: 郭耀
出版社:电子工业出版社
ISBN:9787121178276
上架时间:2012-9-3
出版日期:2012 年9月
开本:16开
页码:440
版次:1-1
所属分类: 计算机 > 软件工程及软件方法学 > 软件方法/软件工程
更多关于 》》》《设计原本:计算机科学巨匠Frederick P.Brooks的思考(评注版)(Design of Design名作精读)》
内容简介
书籍
计算机书籍
《设计原本:计算机科学巨匠frederick p.brooks的思考》从原理的角度阐述了面向对象程序设计的6大原则;讲解和剖析了23种常见的设计模式,并进行了扩展,通俗易懂、趣味性极强而又紧扣设计模式的核心;对各种相关联的设计模式进行了深入分析和比较,旨在阐明各种设计模式比较理想的应用场景和它们之间的区别;探讨了设计模式的混编,讲解了如何在实际开发中将各种设计模式混合起来使用,以发挥设计模式的最大效用。全书结合设计实例,从面向对象设计案例中精心选择了一些设计模式,总结了面向对象设计中最有价值的经验,并将其用简洁、可复用的形式表达出来。
《设计原本:计算机科学巨匠frederick p.brooks的思考》适合大学计算机专业的学生、研究生及相关人员参考。
《设计原本:计算机科学巨匠frederick p.brooks的思考》是the design of design一书的评注版,力邀国内资深专家执笔,在英文原著的基础上增加了中文点评和注释,旨在融合二者之长,既保留经典的原创文字与味道,又以先行者的学研心得与实践感悟,对读者的阅读和学习加以点拨,指明捷径。
目录
《设计原本:计算机科学巨匠frederick p.brooks的思考》
i models of designing 1
chapter 1 the design question(新增评注19条) 3
chapter 2 how engineers think of design—the rational model(新增评注10条) 13
chapter 3 what’s wrong with this model?(新增评注29条) 21
chapter 4 requirements, sin, and contracts(新增评注12条) 39
chapter 5 what are better design process models?(新增评注13条) 51
ii collaboration and telecollaboration(新增评注1条) 61
chapter 6 collaboration in design(新增评注42条) 63
chapter 7 telecollaboration(新增评注16条) 89
iii design perspectives 103
chapter 8 rationalism versus empiricism in design(新增评注11条) 105
chapter 9 user models—better wrong than vague(新增评注8条) 113
chapter 10 inches, ounces, bits, dollars—the budgeted resource(新增评注10条) 119
chapter 11 constraints are friends(新增评注16条) 127
chapter 12 esthetics and style in technical design(新增评注26条) 139
chapter 13 exemplars in design(新增评注26条) 153
chapter 14 how expert designers go wrong(新增评注18条) 167
chapter 15 the divorce of design(新增评注13条) 175
chapter 16 representing designs’ trajectories and rationales(新增评注28条) 185
iv a computer scientist’s dream system for designing houses 201
chapter 17 a computer scientist’s dream system for designing houses—mind to machine(新增评注35条) 203
chapter 18 a computer scientist’s dream system for designing houses—machine to mind(新增评注17条) 219
v great designers 229
chapter 19 great designs come from great designers(新增评注27条) 231
chapter 20 where do great designers come from?(新增评注28条) 243
vi trips through design spaces: case studies(新增评注1条) 257
chapter 21 case study: beach house “view/360”(新增评注19条) 259
chapter 22 case study: house wing addition(新增评注14条) 279
chapter 23 case study: kitchen remodeling(新增评注10条) 297
chapter 24 case study: system/360 architecture(新增评注18条) 313
chapter 25 case study: ibm operating system/360(新增评注14条) 331
chapter 26 case study: book design of computer architecture: concepts and evolution(新增评注7条) 347
chapter 27 case study: a joint computer center organization: triangle universities computation center(新增评注11条) 355
chapter 28 recommended reading(新增评注8条) 367
acknowledgments 371
bibliography 375
people index 393
subject index 401
本图书信息来源于:中国互动出版网
在设计app的输入界面时,假如假如智能提示,给用户带来的不只是方便,有时候还会是惊喜。通过实践研究,发现要实现android的个性化智能提示,实在非难事。
在Android中提供了两种智能输入框控件分是:MultiAutoCompleteTextView 和 AutoCompleteTextView 。
MultiAutoCompleteTextView 继承自AutoCompleteTextView的可编辑的文本视图,能够对用户键入的文本进行有效地扩充提示,而不需要用户输入整个内容。(用户输入一部分内容,剩下的部分系统就会给予提示)。用户必须提供一个 MultiAutoCompleteTextView.Tokenizer 用来区分不同的子串。使用方法如下:
MultiAutoCompleteTextView m_mutil = (MultiAutoCompleteTextView) findViewById(R.id.m_autobyname); m_mutil.setAdapter(adapter); m_mutil.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer()); //用户正在输入时,tokenizer设置用于确定文本相关范围内
既然 MultiAutoCompleteTextView 是 AutoCompleteTextView 的子类,那么MultiAutoCompleteTextView 的基本功能,我们都可以通过定制AutoCompleteTextView来实现了。
AutoCompleteTextView 基本使用方法如下:
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_dropdown_item_1line, autoString); //autoString为一静态的字符数组 AutoCompleteTextView m_auto =(AutoCompleteTextView) findViewById(R.id.antobyname); m_auto.setAdapter(adapter); //为智能输入框设置适配器 m_auto.setThreshold(1); //更改触发提示的字符长度,default=2
熟悉android列表开发的话,对于Adapter应该非常熟悉,上面的实例代码,使用了android提供的ArrayAdapter,给予AutoCompleteTextView 绑定数据与视图,我们要定制,首先从这里开始。
和其他Adaper一样,ArrayAdapter的基类也是BaseAdapter,我们可以定制自己的Adapter了。
可是一运行,木有反应,没有一点提示?
的确,我们的视图与数据是绑定了,可是AutoCompleteTextView 却不能根据我们的Adapter获取到合适的数据,因为adapter不符合要求!
我们反过来再研究一下ArrayAdapter,它除了是BaseAdapter的子类,它还实现了 Filterable 接口!
我们在AutoAdapter中,实现该接口,并返回一个自定义的 Filter
那个AutoMailFilter又是一个什么样子的类呢?
先细细想想 AutoCompleteTextView 是怎样工作的,对,它只是对我们所输入的一些字符,进行过滤、索引,并组成相应的视图反馈给我们的用户,以提高我们的输入效率!
那接下来就是构建核心过滤器的时候了,AutoCompleteTextView 只会接收过滤后的数据,所以我们的数据源会多出一份拷贝,一份是原始的,一份则是过滤后的:
在AutoMailFilter里面,由于继承了,我们必须实现两个重要的方法:
protected FilterResults performFiltering(CharSequence prefix)
在这个方法里面定制过滤策略,根据输入的prefix对数据进行过滤,并组装成FilterResults 结果返回;
protected void publishResults(CharSequence constraint, FilterResults results)
这个方法则是发布结果用的,把上面方法的结果按照一定的要求进行处理后,通知Adapter进行数据视图的刷新
总结:
按照 AutoCompleteTextView 的工作流程,它依赖两个组件,Adapter 和 Filter,一个是视图的处理,一个是数据过滤处理,对这两个组件进行深度定制,我们就可以随心所欲了。