2012年01月20日星期五

Android IMF给输入软件的编写给出的规范,也提供了很多的方便。这里从例子程序SoftKeyboard来认识。

1、软键盘界面的设计,可以用XML文件来做,这真是很方便。

android.inputmethodservice.Keyboard Class能把XML键盘文件,转换成视图。

android.inputmethodservice.KeyboardView 感知用户触键,发送出事件信息,根据需要改换键面的显示。

2、Android 输入法程序都要继承InputMethodService类,这个类定义了输入程序的全部活动,如:

onCreate()

onInitializeInterface()

onCreateInputView() 生成键盘界面

onCreateCandidatesView() 生成候选框界面

onStartInput()

onFinishInput()

onUpdateSelection()

onKey()这里你得到输入键的信息,根据输入键与前面保留的输入状态,生成候选字词。

onKeyDown(), onKeyUp()

commitTyped() 完成输入一个字词。

等等。这些输入过程在微软与苹果上都是一样的。我在做iPhone/iPad上的独立输入程序时,所有这些过程都是自己分析设计的。

Android把输入过程中要考虑的事件都为定义在Class里,大大地方便了输入软件编程。

3、CandidateView

CandidateView         只是android.view 它在InputMethodService的onCreateCandidatesView()生成。依照Android IMF做出的输入法,能与Android系统中的应用程序,以及系统输入管理中心协调工作了。

在Mac OS X的IMKit中,CandidateView(候选框)是输入管理中心给的,输入法程序不需要做这部分的程序。

2012年01月21日

今天通过“Beginning Android Application Development” (Wrox Programmer to Programmer)         by Wei Meng         Lee这本书,继续了解Android平台所提供的功能,学习Android上的编程方法。书中介绍的Android平台的多数技术内容,我都或多或少知道,如:

Layout, Screen Orientation,

View, List View, Picture, Menu

SQLite, Saving and Loading User Preferences, Content Providers

Messageing, Networking, Service

等等,这些不同的平台(微软与苹果)都有相似的内容,差别不大。

有两个概念我是第一次在Android中见到:Activity,和Intent,这是Android平台编程的基本概念,是其它平台没有的概念。我在Java语言中没有找到这两个概念,这应该是Android的创新了。

Activity是application中定义有特定功能的一个图形界面,用户可以触摸来完成一定的功能。特别的是这个Activity可以被Android系统的其它Application调用。

这就是说每个Application安装到Android系统后,其中包括的Activity都要登记到Android系统中,这样才能让别的Application调用。

Intent:Application是通过Intent来调用Activity的,Intent就是代表Android系统来运行Activity的。

为了方便Intent找到Activity, 因此在定义Activity时,除了要给Activity名称外,还有

intent-filter应用用于Activity的归类,查找。

这两个概念要认真地理解。

Android还有个别出心裁的地方:在Android的multi-user Linux system中,每个application是一个different         user. 以下摘自网页:http://developer.android.com/guide/topics/fundamentals.html

Application Fundamentals:

Once installed on a device, each Android application lives in its own security         sandbox:

The Android operating system is a multi-user Linux system in which each         application is a different user.

By default, the system assigns each application a unique Linux user ID (the ID         is used only by the system and is unknown to the application). The system sets         permissions for all the files in an application so that only the user ID         assigned to that application can access them.

Each process has its own virtual machine (VM), so an application's code runs in         isolation from other applications.

By default, every application runs in its own Linux process. Android starts the         process when any of the application's components need to be executed, then shuts         down the process when it's no longer needed or when the system must recover         memory for other applications.

2012年01月22日(星期日)

上午看了2012央视春节晚会网上直播4个多小时,同祖国与世界华人一起欢欢乐乐地辞旧岁迎新年。

祝愿祖国风调雨顺,国泰民安!

祝愿全世界的华人新年快乐,吉祥如意!

android输入法开发软件,开发安卓系统Android和码输入法软件的全过程(二)相关推荐

  1. 安卓系统android使用C# .NET Xamarin框架调用相机拍照

    安卓系统android使用C# .NET Xamarin框架调用相机拍照 引言 一.用到的软件.包 二.创建Android应用(Xamarin), 三.增加Nuget中库Xam.Plugin.Medi ...

  2. JS判断是苹果系统(ios)还是安卓系统(Android)或者PC端

    前言 今天看到一道面试题,JS判断是否是苹果系统(ios)和安卓系统(Android)客户端,一下就涉及到自己的知识盲区,赶紧亡羊补牢一下.顺便在拓展一下是pc还是移动端?pc端的话,又是在什么浏览器 ...

  3. php异业联盟平台源码,基于ThinkPHP5.1框架开发的B2C在线商城系统PHP源码

    会员优惠 会员优惠 月费会员8折.年费会员5折.永久会员2折 源码介绍 基于ThinkPHP5.1框架开发的B2C在线商城系统PHP源码,支持WAP手机端+微信小程序+支付宝小程序+多种支付方式! 这 ...

  4. 最新好看的自适应手机版软件APP下载类网站源码,游戏软件应用网站源码,自适应手机端Pbootcms模板

    自适应手机软件APP下载类网站源码/游戏软件应用网站源码/自适应手机端 Pbootcms模板 测试环境:Linux  nginx1.18  PHP7.3 下载地址:自适应手机端软件APP下载网站源码 ...

  5. android 4.4官方下载,安卓系统电脑版-android x86 4.4 iso下载官方最新版【pc版】-西西软件下载...

    Android-X86是由Beyounn和Cwhuang主持设计的.提供了一套完整的可行源代码树,配套文档以及Live CD与Live USB.Android系统主要应用在智能手机以及平板电脑设备上. ...

  6. 麒麟 android os,国内不再需要安卓系统? 麒麟OS摆脱依赖

    原标题:国内不再需要安卓系统? 麒麟OS摆脱依赖 小米MIUI.华为EMUI,魅族Flyme OS等这些系统都是国内手机声明为自己的系统,然而,这些所谓的"系统"只是基于Andro ...

  7. android平板刷成windows,安卓系统的平板电脑可以刷成windows系统吗?

    安卓系统的平板电脑可以刷成windows系统吗?以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 安卓系统的平板电脑可以刷 ...

  8. android智能电视使用方法,安卓系统智能电视使用方法

    安卓系统智能电视使用方法 导语:现在电视机的种类有很多,智能电视时现在最普遍的一种,使用智能电视观看影视我们能够享受到更大的节目源.使用安卓系统智能电视,我们能够在电视上下载我们需要的软件,非常的简单 ...

  9. android代码获取deviceid,获取安卓系统的设备id用getDeviceId()函数

    来源:网络 | 2012-12-18 | (有12829人读过) 贴段具体例子代码,用来说明,安卓系统下,如何获取设备id的一段小例子供大家参考: 在计算机上,我们习惯用MAC地址来标志一台计算机.在 ...

  10. android ps2 模拟器,手机目前安卓系统PS2模拟器最好用的是一款叫做呆萌PS2模拟器的APP!这一款竟然是国产的!...

    原标题:手机目前安卓系统PS2模拟器最好用的是一款叫做呆萌PS2模拟器的APP!这一款竟然是国产的! 手机目前安卓系统是有PS2模拟器的,最好用的是一款叫做呆萌PS2模拟器的APP,而且这一款还是国人 ...

最新文章

  1. [转]linux下fms2流媒体服务器搭建之五-----flv播放器制作篇
  2. SAP MM 外部采购退货的ARM功能实在是鸡肋?
  3. 三极管的发射极与集电极之间的关系
  4. JVM史上最最最完整深入解析,不看后悔一百次!
  5. Oracle 查询字段在什么表
  6. 四、CI框架之通过URL路径访问C中的函数
  7. Java高并发编程详解系列-线程生命周期观察者
  8. Linux 安装和卸载JDK
  9. Java学习博客第一篇
  10. 基于ssh的会议室管理系统(源码免费下载)
  11. 刀塔自走棋上线不到十分钟就被功击,几十万玩家登录不上
  12. 【CCPC】2022年绵阳站部分题解(ACGM)
  13. 阿里云服务器运行环境配置教程
  14. H265框架编码流程(一),网易Android面试必问
  15. Bert 源码(pytorch)超详细的解读
  16. android通用ui库设计规范,难查的ANDROID APPUI设计规范总览
  17. 数据结构——迪杰斯特拉(Dijkstra)算法
  18. msi True Color在系统升级后失效的解决方案
  19. 商标的商品和服务分类有45个
  20. 在使用Repeater、DataList 或 DataGrid 的模板列表时,根据不同状态,显示不同颜色

热门文章

  1. 数据结构 散列表 除留余数法 线性探测法解决冲突
  2. 有哪些大数据书籍推荐 如何系统掌握大数据
  3. 时间复杂度(算法的渐进时间复杂度)
  4. 上传excel文件到服务器,excel怎么上传到云服务器
  5. java调用shell脚本,解决传参和权限问题
  6. C++ QT开发人机象棋(剪枝算法)
  7. 2013年3月TIOBE编程语言排行榜,Ruby超越Perl
  8. python 将目下的excel全部转xml文件到指定的目录
  9. SpringBoot后台管理系统框架
  10. SQL Server错误代码大全及解释(留着备用)