Android系统的语言更新方法及装置的制造方法_2

文档序号:9810287阅读:来源:国知局
4,在当前语言环境发生改变后,发出语言切换广播至应用,以使所述应用根据所述语言切换广播调用回调函数更新所述显示页面的语言。
[0044]该步骤中,预先注册广播接收器,用于接收系统发出的语言切换广播。此外,预先申明一个回调处理类,用于在接收到语言切换广播时处理回调更新页面。具体地,所有的DialogUI均实现回调处理类的回调更新接口方法cal IbackRefreshLanguage。(根据里氏替换原则,只需在所有Dai 1gUI 中调用registerDialogInstance(DialogUI dialogUI)方法将当前类实例注册到广播接收器,即可实现一个接收器类管理所有DialogUI刷新)。
[0045]本发明第一实施例中,接收service启动指令后,创建显示页面的实例,显示所述显示页面的实例对应的显示页面,当判断出当前语言环境发生改变时,发出语言切换广播至应用,以使所述应用根据所述语言切换广播调用回调函数更新所述显示页面的语言。由于采用service和显示页面的弹出框式设置,以及通过回调函数实现显示页面的语言的更新,而上述更新方式不会出现两个Activity同时为前台模式,因此,在当前语言环境发生变化时,无需重启当前的显示页面也能够及时更新当前的显示页面的语言,并防止由于重启当前的显示页面而导致的原来的变量值丢失,从而提高提高了用户的良好体验。
[0046]应理解,在本发明实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
[0047]实施例二:
[0048]图2示出了本发明第一实施例提供的一种Android系统的语言更新方法的流程图,本实施例主要从应用侧进行描述,这里的应用包括播放视频的应用等,详述如下:
[0049]步骤S21,在当前语言环境发生改变后,接收系统发出的语言切换广播。该步骤中,由于DialogUI不属于Activity的生命周期,因此,当应用接收到系统发出的语言切换广播时,不能直接通知系统更新Activity的界面显示,而需要拦截并接收语言切换广播。
[0050]步骤S22,根据所述语言切换广播调用回调函数更新所述显示页面的语言。
[0051]具体地,根据所述语言切换广播调用回调函数,以使所述回调函数根据所述显示页面的资源的唯一标识查找对应的控件,并采用所述控件更新所述显示页面的语言,所述控件存储更新的语言信息。在该步骤中,通过显示页面的资源的唯一标识查找对应的控件,再根据控件存储的用于更新的语言信息替换原有的语言信息,以实现显示页面的语言的更新。
[0052]本发明第二实施例中,在当前语言环境发生改变后,接收系统发出的语言切换广播,再根据所述语言切换广播调用回调函数更新所述显示页面的语言。由于通过回调函数实现显示页面的语言的更新,而上述更新方式不会出现两个Activity同时为前台模式,因此,在当前语言环境发生变化时,无需重启当前的显示页面也能够及时更新当前的显示页面的语言,并防止由于重启当前的显示页面而导致的原来的变量值丢失,从而提高提高了用户的良好体验。
[0053]实施例三:
[0054]图3示出了本发明第三实施例提供的一种Android系统的语言更新装置的结构图,该Android系统的语言更新装置可应用于智能终端中,该智能终端包括经无线接入网RAN与一个或多个核心网进行通信的用户设备,该用户设备可以是移动电话(或称为“蜂窝”电话)、具有移动设备的计算机等,例如,用户设备还可以是便携式、袖珍式、手持式、计算机内置的或者车载的移动装置,它们与无线接入网交换语音和/或数据。又例如,该移动设备可以包括智能手机、平板电脑、个人数字助理TOA、销售终端POS或车载电脑等。为了便于说明,仅不出了与本发明实施例相关的部分。
[°°55]该Android系统的语言更新装置包括:
[0056]启动指令接收单元31,用于接收service启动指令后,仓Il建显示页面的实例。
[0057]具体地,若接收到用户输入的service启动指令,比如,接收到“onCreate”这一service启动指令后,启动service,并创建显示页面(DialogUI)的实例。
[0058]显示页面显示单元32,用于显示所述显示页面的实例对应的显示页面。
[0059]具体地,将DialogUI以视图(View)的形式添加到WindowManager中。
[0060]可选地,所述显示页面显示单元32包括:
[0061]页面元素初始化模块,用于根据所述显示页面的实例初始化页面元素。
[0062]显示页面的实例替换模块,用于替换将原有的Activity实例采用所述显示页面的实例替换,以显示所述显示页面的实例对应的显示页面。
[0063]上述页面元素初始化模块和显示页面的实例替换模块中,继承DialogUI或View后,在构造函数中初始化页面元素,再将原有的所有需要Activity实例的地方采用显示页面的实例(即service的实例)替换,以显示所述显示页面的实例对应的显示页面。
[0064]当前语言环境判断单元33,用于判断当前语言环境是否发生改变。
[0065]可选地,所述当前语言环境判断单元33包括:
[0066]语言选择指令检测模块,用于检测是否接收到语言选择指令。具体地,实时或定时(如每隔3秒,或4秒等)检测系统是否接收到用户输入的语言选择指令。其中,语言选择指令包括选择的语言的种类的信息。
[0067]语言比较模块,用于在接收到语言选择指令时,判断选择的语言与当前语言是否相同。
[0068]当前语言环境改变判断模块,用于在选择的语言与当前语言不相同时,判定当前语言环境发生改变。具体地,当选择的语言的种类的信息与当前语言的种类的信息不同时,判定当前语言环境发生改变,否则,判定当前语言环境没有发生改变。
[0069]语言切换广播发出单元34,用于在当前语言环境发生改变后,发出语言切换广播至应用,以使所述应用根据所述语言切换广播调用回调函数更新所述显示页面的语言。
[0070]具体地,所有的D i a I ο g U I均实现回调处理类的回调更新接口方法calIbackRefreshLanguage。
[0071]本发明第三实施例中,由于采用service和显示页面的弹出框式设置,以及通过回调函数实现显示页面的语言的更新,而上述更新方式不会出现两个Activity同时为前台模式,因此,在当前语言环境发生变化时,无需重启当前的显示页面也能够及时更新当前的显示页面的语言,并防止由于重启当前的显示页面而导致的原来的变量值丢失,从而提高提高了用户的良好体验。
[0072]实施例四:
[0073]图4示出了本发明第四实施例提供的另一种Android系统的语言更新装置的结构图,该Android系统的语言更新装置可应用于智能终端中,该智能终端包括经无线接入网RAN与一个或多个核心网进行通信的用户设备,该用户设备可以是移动电话(或称为“蜂窝”电话)、具有移动设备的计算机等,例如,用户设备还可以是便携式、袖珍式、手持式、计算机内置的或者车载的移动装置,它们与无线接入网交换语音和/或数据。又例如,该移动设备可以包括智能手机、平板电脑、个人数字助理TOA、销售终端POS或车载电脑等。为了便于说明,仅示出了与本发明实施例相关的部分。
[0074I该Andro i d系统的语言更新装置包括:
[0075]语言切换广播接收单元41,用于在当前语言环境发生改变后,接收系统发出的语言切换广播。
[0076]由于DialogUI不属于Acti
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1