APP下载

基于Android平台的手写输入法框架的研究

2013-03-28西安欧亚学院信息工程学院宋园方

电子世界 2013年1期
关键词:输入法字体应用程序

西安欧亚学院信息工程学院 宋园方

一、引言

根据Gartner市场研究部的调查结果,谷歌的Android操作系统目前已成为世界上第三大手机系统。据Gartner估计,在2010年第二季度,Android手机在全球卖出了1060万部,相比之下iPhone手机只卖出了870万部。这样算起来,Android已占据了智能手机17%的市场份额,而苹果只有14%。

二、Android平台

Android是开放手机联盟基于Linux开发的开源手机操作系统。它包括操作系统、中间件和电话工作所需的应用程序,而且不存在版权问题。开放手机联盟由Google主导,包括中国移动、摩托罗拉、高通、HTC和T-Mobile在内的30多家技术和无线应用的领军企业组成。google通过与开发商、设备制造商、运营商和其他有关各方结成深层次的合作关系,希望借此建立标准式、开放式的移动系统,在移动产业内形成一个开放式的生态系统。

Android平台的研发队伍阵容强大,包括Google、HTC(宏达电)、T-Mobile、高通、摩托罗拉、三星、LG以及中国移动在内的34家企业都将基于该平台开发手机的新型业务,应用之间的通用性和互联性将在最大程度上得到保持。“开放手机联盟”表示,Android平台可以促使移动设备的创新,让用户体验到最优越的移动服务,同时,开发商也将得到一个新的开放级别,更方便的进行协同合作,从而保障新型移动设备的研发速度。

Android输入法是android平台中的重要的应用,谷歌在发布android平台时,中文输入法只发布了谷歌拼音,其他中文输入法需要手机厂商自己开发。国内的输入法公司也推出了Android平台的相应的输入法,如搜狗输入法、汉王的马蹄莲手写输入法。因为中文输入法的特殊性,故有多种输入形式,如拼音、手写、全键盘输入法、9键输入法、笔画输入法、五笔输入法等。将这些不同输入方式的输入法整合到一起,是各个商家的重点研究对象。

在android平台中,输入法不再像Windows下简单的输入工具,他与应用的编辑框有效结合起来,输入法的软键盘提示按钮随编辑框属性不同而发生提示变化,更方便的提升了用户的操作体验。所以,输入法如何更好的提升用户体验,也是我们此次研究的内容之一。

三、研究意义

今年应用android平台研发的的智能手机越来越热门,谷歌的Android手机平台也引起了越来越多开发者的兴趣,一方面相比iPhone来说,Android采取了完全开放的政策。另一方面中国移动将在Android平台基础上推出自主的手机开放平台OMS,这无疑又增加了Android的吸引力。在巨大的市场潜力面前,一场关于智能手机的暗战正在展开。所以本项目的研究切合当前实际,具有很好研究的前景。

在Android的输入法框架基础上进行深度开发,搭建手写输入法子框架,完善Android平台输入法框架。

四、Android开发环境搭建

应用程序:以Java为编程语言,使Android从接口到功能,都有层出不穷的变化,其中Activity等同于J2ME的MIDlet,View等同于Displayable,还有Image等同于BitMap。

中间件:操作系统与应用程序的沟通桥梁,并用分为两层:函数层(Library)和虚拟机(Virtual Machine)。

操作系统:控制包括安全(Security),存储器管理(Memory Managemeat),程序管理(Process Management),网络堆栈(Network Stack),驱动程序模型(Driver Model)等。

1.软件下载

a.JDK 1.6(目前最新:Java SE 6 Update 27)

b.Android SDK下载器(用来下载Android SDK,目前最新:android-sdk_r12-windows.zip)

c.Eclipse IDE(目前最新:Eclipse Classic 3.7)

2.安装及配置Java环境

a.安装JDK

b.设置环境变量

3.安装Android SDK

Android SDK可以通过SDK下载器自动下载和配置,适合网络好的朋友;也可以借助工具下载SDK文件,手工配置,适合下载速度慢的朋友。

4.Eclipse集成开发环境(IDE)的搭建

同Android SDK一样,分为在线安装和手动安装两种方式。

5.Eclipse ADT配置

6.配置Android SDK

这里介绍下新建AVD。所谓AVD,即Android Virtual Devices,Android虚拟设备,亦即嵌入式开发中常用的模拟器。

五、Android严格验证手机号码正则表达式

关键代码:

Paint mTextPaint = new Paint(Paint.ANTI_ALIAS_FLAG)

mTextPaint.setColor(Color.WHITE);

//Define the string.

String displayText = "手写输入法";

//Measure the width of the text string.

float textWidth = mTextPaint.measureText(displayText);

六、android Activity生命的周期

手机的硬件世界,是一个十分严格的多任务作业(multithread)世界。意思是,在任何时候,你的程序都会受到不能抵抗的中断(interrupt),例如,当你的程序正在制造动画效果的时候,或正在运算一个game子弹的射击,突然手机收到来电了,你的程序被退后,切换到接来电的接口。使用者必须得到非常稳定的来电中断并顺利在短时间内完成,让使用者可以接听来电。你的程序,不管正在进行甚么,都要停下来。并且,安全地停下来。

因此,android的app,使用了Activity的设计,来代表每一个生命的周期。简单说,你的app是一个Activity。(extends了它的class)

Activity将会遇到各种状况,包括了:protected void onCreate();

protected void onStart();

protected void onRestart();

protected void onResume();

protected void onPause();

protected void onStop();

protected void onDestroy();从名字便可以知道它的意思,例如当你的app第一次开动的时候,便会运行onCreate了。

七、Android TextView中的字体修改

在开发中会涉及到对于组件的字体或文本的字体的修改,可以通过Spannable来进行修改字体:

TextView tv = new TextView(this);

tv.setText("手机字体大小设置”);

//创建Spannable对象

Spannable span = new Spannable-String(tv.getText());

/*通过setSpan(Object,int start,int end,int flag)对特定的内容进行设置

其中AbsoluteSizeSpan是决定字体大小

*/

span.setSpan(new AbsoluteSizeSpan(11),0,2,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE)

span.setSpan(new AbsoluteSizeSpan(21),3,6,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE)

tv.setText(span);

[1]Android手机安裝、解除安裝APK教[OL].http://www.and-machine.com/viewthread.php?tid=74.

[2]昭佑.天翔:Android Emulator变更显示语系[OL].http://tomkuo139.blogspot.com/2009/07/androidemulator_5723.html.

[3]http://www.android-study.com.

猜你喜欢

输入法字体应用程序
要命的输入法
字体的产生
删除Win10中自带的应用程序
百度被诉侵犯商标权和不正当竞争
组合字体
iOS中为什么找不到安装的第三方输入法
关闭应用程序更新提醒
我们需要怎样的输入法?
三星电子将开设应用程序下载商店
微软软件商店开始接受应用程序