重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

android多语言,android多语言占网络图片

android 多语言--后台返回数据处理

这篇文章只针对后台返回的数据, 本地数据除外

创新互联:于2013年开始为各行业开拓出企业自己的“网站建设”服务,为1000多家公司企业提供了专业的成都网站建设、网站设计、网页设计和网站推广服务, 按需定制制作由设计师亲自精心设计,设计的效果完全按照客户的要求,并适当的提出合理的建议,拥有的视觉效果,策划师分析客户的同行竞争对手,根据客户的实际情况给出合理的网站构架,制作客户同行业具有领先地位的。

我们发送网络请求的时候, 带一个语言类型参数, 例如 map.put("language", "ZH"), 我们需要什么语言就传什么语言类型, 正常接收返回值就可以了.

这样做的好处:

①. 对于android端, 新增、修改、删除语言 时也只需改变一个字段的值即可, 这个字段可以使用接口来控制值, App完全可以不用任何修改, 灵活性较高.

②. 对于整个项目而言: 前端("android", "IOS", "小程序", "公众号") 等多个端, 完全无需做任何判断, 只需后台处理好即可, 总体可以节约不少时间.

后台把所有的语言数据一起返回 , 可能出现如下格式:

同行的人看到了肯定会说: 叫后台改成第一种方式啊.

如果是项目刚刚开始开发, 可能比较好改.

我碰到的情况是: 一开始项目没有做android端, 后台和web端已经上线了不知道多少个版本了, 反正就是后台架构已经确定了, 这个时候改成本会比较大. 只能自己处理了.

这个时候处理方式:

① 如果按照原来的方式: GsonFormat.如下图:

这样是可以解析出来的, 看起来项目也能正常运行, 但是每个接口都这么做的话, 维护起来难度太大了, 项目越大越难维护 , 例如:新增一种语言, 竟然要全局大改. 有100个接口就要改100个实体类, 等等.

②. 特殊处理

思考: 有什么办法可以和第一种方式一样, 修改一个参数就可以全局改变语言?

观察: 共同点: 多语言的实体类里面都会有 变量名为"ZH" "EN" 的对象 , 对象不确定类型, 这个时候想到用泛型. 于是有下面的写法:

我们的实体类都有这个特性, 所以直接继承即可.

解析

解析数据类型2

特殊处理步骤:

①. 封装好多语言基类LanguageBeanT

②. 多语言实体类继承LanguageBeanT

③. 获取多语言实体数据时, 要用bean.get()获取对象.

好处

①. 增删改语言, 只需在基类LanguageBeanT修改即可, 其它地方完全不需要修改.

②. 切换语言时: 只需赋值给languageType即可.

③.可切换回方式1 (网络请求的时候, 带一个语言类型参数) , 只需languageType = "" 即可.

封装好以后, 即使后台要重构, 使用方式1处理多语言, 我们也只需修改一个字段即可.

android studio的多语言设置

1.添加字符串资源:

修改strings.xml,新定义一个字符串资源(变量)show_info.

2.修改布局文件activity_main.xml和navigation.xml;

3.在res下添加一个新的目录(dictionary),目录名为values-zh-rCN;

将工程显示由Android改为project,

复制values目录到res中,复制时将名称改为values-zh-rCN;

4.修改strings。Xml(values-zh-rCN)的内容

Android-添加新的语言支持(比如繁体)

这几天突然要发一个中国台湾版本,做法比较硬:复制一个工程,改包名,改图标,改api接口。语言全部都是繁体就行:

Android studio添加新语言资源文件(res/values/....)如下:

然后回车即可:

把对应的字符串翻译成繁体就行。至于翻译,有一些工具可以借鉴。同时网上也有很多多语言切换的方式,就是一个工程,一个app进行内部切换多语言支持的方式(像微信就是。不过微信繁体有些不一定都支持了...)。具体看情况啦。。。

因为我们是整个app就是中国台湾台北版本,所以就都是繁体,不管系统是简体还是繁体还是别的,就是繁体!!!

简单记录下。好多东西没怎么关注或者使用,至于是否要深入,可能要看情况....

参考o: android--实现多语言支持 - snow_flower - 博客园

Android国际化之多语言(配置及应用内设置)✈️

Android系统通过判断当前系统的Local配置,来使用对应的strings.xml文件

values--strings.xml 默认语言(简体中文)

values-zh-rHK--strings.xml 繁体中文

values-en--strings.xml 英语

在Android系统中,系统的配置大都通过 Configuration 来管理,包括strings等等。

onCreate() 中注册

onDestroy() 中取消注册

setLanguage() 方法

通过上面的设置,可以实现不重启APP修改语言的效果

以上只是对Android多语言设置的一些小小的总结,可能有理解不周的情况,欢迎给我留言指出????


当前题目:android多语言,android多语言占网络图片
文章起源:http://cqcxhl.cn/article/dsseedg.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP