如何向android的setting语言列表中添加一门语言

如何向android的setting语言列表中添加一门语言
如何向android的setting语言列表中添加一门语言

如何向android的setting语言列表中添加一门语言(已经解决)

看了下,android2.2系统有越南语的字库,所以支持越南语,但setting中语言列表里没有越南语选项,起初我在LocalePicker.java的onCreate方法的133行做了如下修改:

1.mLocales = new Loc[finalSize+1];

2.for (int i = 0; i < finalSize ; i++) {

3.mLocales[i] = preprocess[i];

4.}

5.Locale temp = new Locale("vi", "VN");//vi是越南语

6.mLocales[finalSize] = new

Loc(toTitleCase(getDisplayName(temp)), temp);

7.Arrays.sort(mLocales);

复制代码

重新编译后,语言列表里有了越南语,但点击后系统语言还是默认的英文,也就是说系统语言没有更改成功,我再看了下/data/property/目录下关于语言和国家的两个属性文件都是修改成功了的,再继续往下跟代码,但没有所获,google了一下,搜到了一篇关于android2.1 架构解析之语言定制的帖子(https://www.360docs.net/doc/18877523.html,/gigatron/blo ... c8ab20843bd0e24445d,有兴趣的朋友可以看下),里面说语言选择列表在external/icu4c/stubdata/Android.mk中配置,我在这里面添加了越南语,最后返回上一级,查看readme.txt,官方已经给出说明,改动后需要将语言配置的txt转成dat,可是在run icu_dat_generator.py 4.2这个命令时一直报错,到现在还没弄好,希望有涉及过这方面的朋友分享下经验,谢谢!

问题已经解决,解决步骤开始写在回复里,现在直接写到该位置吧:

第一种:修改配置文件

位置:build/target/product/languages_full.mk| languages_small.mk,这两个文件里头,有PRODUCT_LOCALES := en_US en_GB fr_FR it_IT es_ES es_US 这样的片段,其实setting中语言选择列表的数据源头就来源于此,既然找到了源头,那只要在之后加上我们想要的语言即可,比如要加越南语只要在后面加上“vi_VN”即可,但细心的同学打开这两个文件比较的时候会发现一个问题:

里面都有PRODUCT_LOCALES :=这样的片段,只是languages_small.mk 的语言要比前者少些,聪明,这就是答案,从命名上也可发现一个full一个small,当我们不需要更多的语言时候,那languages_small.mk里面的语言就可以满足,而且语言少,生成的image所占用的空间也会相对小些,没验证过哈,只是根据同目录下full.mk里的注释“Get a list of languages. We use the small list to save space on smaller devices.”推测的。

好了,接下来,会有一个问题就是在哪个地方去设置full还是small呢?刚提到一个full.mk的文件,这里面有这样的片段:$(call inherit-product, build/target/product/languages_small.mk),后者路径就是我们要设置的地方。好了,改好后,得整个make下,这个得花些时间,好多模块都是重新编译。

第二种:编码方式修改

Android里一个listview会对应一个数据数组,那我们只需在这个数组里按格式添加我们所需要的数据就行了,我们的目标是com.android.settings.LocalePicker.java,在

该文件133行位置做如下修改:

mLocales = new Loc[finalSize+1];

for (int i = 0; i < finalSize ; i++) {

mLocales = preprocess;

}

Locale temp = new Locale("vi", "VN");

mLocales[finalSize] =new Loc(toTitleCase(temp.getDisplayLanguage(temp)), temp);

这步做完后setting的语言列表里就有了越南语了,但点击越南语后,界面没发现有什么变化,那是因为android系统没有对越南语写响应的国际化资源文件,你可以自己写应用测试

ADROID 2.1 架构解析1 语言定制

2010-04-17 21:04

1 语言定制

1.1 ICU4C

1.1.1 ICU4C简介

ICU4C(ICU for C,https://www.360docs.net/doc/18877523.html,/)是ICU在C/C++平台下的版本, ICU(International Component for Unicode)是基于"IBM公共许可证"的,与开源组织合作研究的, 用于支持软件国际化的开源项目。ICU4C提供了C/C++平台强大的国际化开发能力,软件开发者几乎可以使用ICU4C解决任何国际化的问题,根据各地的风俗和语言习惯,实现对数字、货币、时间、日期、和消息的格式化、解析,对字符串进行大小写转换、整理、搜索和排序等功能,必须一提的是,ICU4C提供了强大的BIDI算法,对阿拉伯语等BIDI语言提供了完善的支持。

ICU首先是由Taligent公司开发的,Taligent公司现在被合并为IBM?公司全球化认证中心的Unicode研究组,然后ICU由IBM和开源组织合作继续开发,开源组织给与了ICU极大的帮助。

开始ICU只有Java平台的版本,后来这个平台下的ICU类被吸纳入SUN公司开发的JDK1.1,并在JDK以后的版本中不断改进。C++和C平台下的ICU是由JA VA平台下的ICU 移植过来的,移植过的版本被称为ICU4C,来支持这C/C++两个平台下的国际化应用。ICU4C和ICU4C区别不大,但由于ICU4C是开源的,并且紧密跟进Unicode标准,ICU4C 支持的Unicode标准总是最新的;同时,因为JA V A平台的ICU4J的发布需要和JDK绑定,ICU4C支持Unicode标准改变的速度要比ICU4J快的多。

1.1.2 ANDROID语言包

Android 使用的语言包就是ICU4C,位置:external/icu4c。Android支持的语言有:Locale CANADA Locale constant for en_CA.

Locale CANADA_FRENCH Locale constant for fr_CA.

Locale CHINA Locale constant for zh_CN.

Locale CHINESE Locale constant for zh.

Locale ENGLISH Locale constant for en.

Locale FRANCE Locale constant for fr_FR.

Locale FRENCH Locale constant for fr.

Locale GERMAN Locale constant for de.

Locale GERMANY Locale constant for de_DE.

Locale ITALIAN Locale constant for it.

Locale ITALY Locale constant for it_IT.

Locale JAPAN Locale constant for ja_JP.

Locale JAPANESE Locale constant for ja.

Locale KOREA Locale constant for ko_KR.

Locale KOREAN Locale constant for ko.

Locale PRC Locale constant for zh_CN.

Locale SIMPLIFIED_CHINESE Locale constant for zh_CN.

Locale TAIWAN Locale constant for zh_TW.

Locale TRADITIONAL_CHINESE Locale constant for zh_TW.

Locale UK Locale constant for en_GB.

Locale US Locale constant for en_US.

1.2 定制语言

在PRODUCT_LOCALES字段里添加需要语言,如:

PRODUCT_LOCALES := en_US zh_CN

则系统里只有英语和汉语两种语言。

然后语言的选择处理是在external/icu4c/stubdata/Android.mk里进行的,如下:config := $(word 1, \

$(if $(findstring ar,$(PRODUCT_LOCALES)),large) \

$(if $(findstring da,$(PRODUCT_LOCALES)),large) \

$(if $(findstring el,$(PRODUCT_LOCALES)),large) \

$(if $(findstring fi,$(PRODUCT_LOCALES)),large) \

$(if $(findstring he,$(PRODUCT_LOCALES)),large) \

$(if $(findstring hr,$(PRODUCT_LOCALES)),large) \

$(if $(findstring hu,$(PRODUCT_LOCALES)),large) \

$(if $(findstring id,$(PRODUCT_LOCALES)),large) \

$(if $(findstring ko,$(PRODUCT_LOCALES)),large) \

$(if $(findstring nb,$(PRODUCT_LOCALES)),large) \

$(if $(findstring pt,$(PRODUCT_LOCALES)),large) \

$(if $(findstring ro,$(PRODUCT_LOCALES)),large) \

$(if $(findstring ru,$(PRODUCT_LOCALES)),large) \

$(if $(findstring sk,$(PRODUCT_LOCALES)),large) \

$(if $(findstring sr,$(PRODUCT_LOCALES)),large) \

$(if $(findstring sv,$(PRODUCT_LOCALES)),large) \

$(if $(findstring th,$(PRODUCT_LOCALES)),large) \

$(if $(findstring tr,$(PRODUCT_LOCALES)),large) \

$(if $(findstring uk,$(PRODUCT_LOCALES)),large) \

$(if $(findstring zh,$(PRODUCT_LOCALES)),large) \

$(if $(findstring ja,$(PRODUCT_LOCALES)),us-japan) \

$(if $(findstring it,$(PRODUCT_LOCALES)),us-euro) \

$(if $(findstring pl,$(PRODUCT_LOCALES)),us-euro) \

$(if $(findstring cs,$(PRODUCT_LOCALES)),default) \

$(if $(findstring de,$(PRODUCT_LOCALES)),default) \

$(if $(findstring fr,$(PRODUCT_LOCALES)),default) \

$(if $(findstring nl,$(PRODUCT_LOCALES)),default) \

us)

1.3 默认语言

默认语言的选择实现是在build/core/Makefile里,从PRODUCT_LOCALES里选择第一个语言作为默认语言,如下:

define default-locale

$(subst _, , $(firstword $(1)))

endef

# Selects the first locale in the list given as the argument

# and returns the language (or the region)

define default-locale-language

$(word 2, 2, $(call default-locale, $(1)))

endef

define default-locale-region

$(word 3, 3, $(call default-locale, $(1)))

Endef

...

PRODUCT_DEFAULT_LANGUAGE="$(call

default-locale-language,$(PRODUCT_LOCALES))" \

PRODUCT_DEFAULT_REGION="$(call default-locale-region,$(PRODUCT_LOCALES))" \

然后通过build/tool/buildinfo.sh文件将如下段写到文件build.prop,如下:

echo "https://www.360docs.net/doc/18877523.html,nguage=$PRODUCT_DEFAULT_LANGUAGE"

echo "ro.product.locale.region=$PRODUCT_DEFAULT_REGION"

所以,要改变默认语言用下面两种方法中的一种就行了:

1 在PRODUCT_LOCALES字段里,将要选择的语言放在第一位,如:

PRODUCT_LOCALES := en_US zh_CN

默认语言是英语

2

在https://www.360docs.net/doc/18877523.html,nguage和persist.sys.country里指定语言,如下:

PRODUCT_PROPERTY_OVERRIDES := \

https://www.360docs.net/doc/18877523.html,nguage=zh \

persist.sys.country=CN

build.prop文件的处理是在system/core/init/property_service.c。

Android开发入门教程经典解析-JAVA语言

Android入门教程之Java核心技术阶段初级课程,从知识分类来说,可以分为三个部分来说明: (一)基础语法: 讲解Java发展史,Java环境搭建,环境变量配置,Java程序的基本结构,java和javac命令的使用,Notepad++工具的使用,语法格式,变量和常量,二进制转换,运算符、表达式,分支结构和循环结构语句,数组与多维数组,冒泡排序,二分查找,随机生成一组不重复的数算法,通过模拟一个双色球案例,把基础语法容融会贯通,打下扎实的基础。 (二)面向对象: 讲解Java中的OOP/OOD/OOA的知识,深入讲解OOP的封装、继承、多态、抽象的概念与实际应用,涉及内容为类与对象的定义和关系,封装分别在Java EE开发和Android开发中的不同,对象的引用传递,对象的内存分配和GC,构造方法和匿名对象,如何开发和定义一个类,深入讲解String类的原代码原理内部实现、特性和内存管理,通过四种字符串连接时的场景分析来深入理解Java编译期和运行期的区别,String的相关操作方法;static 关键字,构造方法私有化,对象数组与动态数组的实现原理,链表数据结构,内部类及优缺点,在EE开发和Android开发的区别和经验;继承的思想,方法重写与重载,super关键字,抽象类、接口和多态的思想,以及真实环境中的应用,Object类,包装类与特性,包与修饰符;课程贯彻的设计模式有:单例模式、工厂模式、策略模式、适配器模式、模板方法模式、代理模式。以及OO设计中的六大原则。通过本节课程你可以彻底理解什么是面向对象编程,加以时日练习,必成大器。 (三)Eclipse与异常处理 异常的基本处理格式和5大关键字的联合使用,Java中异常处理的新特性,自定义异常类,编译时异常与运行时异常的区别,JVM对异常的处理过程,经过前两节课程共两周多的Notepad++写代码,已经达到了纯手写代码的目的,本节课程开始引入了99.9%的程序员都在使用的集成开发环境Eclipse,他对异常调试的强大支持,会让你叹为观止,当然Eclipse 不仅仅只有这些,在这里,你将一一学到。 Android入门教程之Java核心技术阶段中级课程,Java基础、面向对象、Java高级开发,讲解以下内容: (一)常用类库API与算法 讲解StringBuffer类的内部原理,分析原代码实现,与String的区别与应用经验,如何实现国际化程序,日期操作API,Comparable的两种实现,对象克隆,Arrays工具类、Math 工具类、Random类的使用,选择排序算法和二叉树数据结构实现,通过本节课程,你将学到常用类库API和工作中最最常见的排序算法和二叉树,本节过后,你的功力又增强了。 (二)IO与New IO

安卓开发环境搭建教程及个人经验

安卓入门教程及环境搭建(附笔记) ------By 仙人张 需要的软件包有三个,截止到2012年7月这些软件都是最新版本的:分别是JDK、SDK、Eclipse(版本4.2 Juno)他们的名字和大小如下 一、软件包的下载 1、JDK的下载(jdk-7u5-windows-i586) https://www.360docs.net/doc/18877523.html,/technetwork/java/javase/downloads/index.html

2、SDK的下载(installer_r20-windows)https://www.360docs.net/doc/18877523.html,/sdk/index.html 3、Eclipse的下载(eclipse-jee-juno-win32)https://www.360docs.net/doc/18877523.html,/downloads/

二、软件安装 说说我的文件夹是怎么安排的,软件安装前先在自己安装软件的那个盘新建一个文件夹名字可以取为Android,然后这三个软件分别安装到里面的三个文件夹里就可以了,然后在Android文件夹里新建一个文件夹专门放自己的工程文件。 1、JDK的安装 上面下载的jdk-7u5-windows-i586是一个安装包,直接双击就可以安装了,记得路径选择Android文件夹里的Java 文件夹。 2、Eclipse的安装 上面下载的eclipse-jee-juno-win32是一个压缩包,解压后就可以直接用了,将解压后的文件夹eclipse-jee-juno-win32也放在Android文件夹下。 3、SDK的安装 上面下载的installer_r20-windows是一个安装包,将它安装到Android文件夹里的android-sdk文件夹。 装好以后像我的文件夹就是这样了

基于android的游戏开发开题报告总结.doc

开题报告 (1)研究的目的和意义 Android 操作系统最初是由 Andy Rubin 制作,最初主要支持手机,在2005 年被搜索巨头 Google 收购注资,并组建开放手机联盟开发改良随后,逐渐扩展到平板电脑及 其他领域上,2008年全球第一步安卓智能手机问世,标志着安卓的重生。而在2011 年 11 月份的调查, android 智能机一跃超过苹果,以全球市场占有率76%,中国 90% 遥遥领先。在安卓手机中以三星的GALAXY III系列为领头羊,领跑安卓手机最新科技。 当人类步入 21 世纪,随着科技的日趋发展,智能手机 ,平板电脑等高端电子产品进 入了我们的日常生活,随着 3G 时代已经慢慢的融入了我们的日常生活,随着社会的进 步和科技的发展手机已经从单纯的通讯工具转变为集娱乐,学习,通讯为一体的高端电子 产品,随着诺基亚塞班系统的没落,安卓系统迎来了春天。据市场调查,智能手 机市场已经形成了二足鼎力的态势,安卓和苹果的 IOS作为领军者遥遥领先于 windows phone 系统。同时各种 android 应用程序已经有了比较明朗的发展前景,尤其以手机游 戏这个亮点受到广泛的关注和喜爱,正是由于android 拥有广大的用户群, android 手 机游戏拥有巨大的潜力,它也主宰者手机游戏的未来,此次毕业设计顺应时代发展潮 流,依托现在硬件上的优势,以 android 为平台,旨在玩家打造一款优秀的安卓小游戏, 使玩家身临其境,爱不释手。在安卓游戏的市场上,使得 android 手机游戏种类更加丰 富多彩,为安卓手机游戏的发展做出贡献。 (2)国外同类研究的概况 手机游戏种类和资源日益丰富,游戏界面越来越华丽,游戏规则日益复杂,已经 具备了很强的娱乐性和交互性的复杂形态。 2003 年 10 月,Andy Rubin 等人创建了 Android 公司,google 公司于 2005 年 8 月 17 日低调收购 android 以及其团队,Andy Rubin 成为 Google 公司 android 项目工程部

Java作为Android开发语言的原因

Java作为Android开发语言的原因 1 Java语言的影响及谷歌选择的原因 1.1 Java语言的影响 (1)JUnit 在这十年里,JUnit带来了测试驱动开发的普及浪潮。许多其它流行语言的单元测试版本也跟着被创造出来了,例如.NET、C、Python、Perl。 (2)Eclipse 刚进入20世纪,随着Java语言和它的API的成熟,EclipseIDE(集成开发环境)为程序员提供了一个帮助他们提高生产效率和融入到成长中的Java社区的环境。Eclipse也是第一个用SWT UI工具包的大型项目。Eclipse已经逐步向成为一个普及的集成开发环境的目标发展。现在它为集成平台插件提供了丰富的基础平台。 (3)Spring Spring框架在提高Java开发人员的生产效率方面扮演着一个重要的角色。它维持了简单和特点的平衡。Spring为Java开发人员提供了一套服务。这套服务提供了普遍使用的应用功能,例如数据访问和事务管理。作为Sun公司的企业JavaBean系统的竞争者,Spring为Java应用开发创造出了另外一个可选的简单的路径,同时也创造出了一个Java 应用开发思想上的健康竞争。 (4)Solr 多年来,Solr服务器(集成了Lucene搜索引擎)已经为web和企业应用提供了一个简单实用的搜索功能的解决方案。Solr 的特别之处在于它为强力和快速的Lucene搜索库提供了HTTP访问,使它能够成为任何系统的一部分,无论这系统是不是由Java实现。比其它项目好的地方,Solr已经使强力快速的搜索成为现代Web应用的一个可选项。 (5)Hudson and Jenkins 原名为Hudson,现在也叫Jenkins,这个持续集成工具是Java 开发设置的关键部分。Jenkins为软件项目提供了自动构建和测试。随着JUnit的测试持续集成,Jenkins在Java的平台上是敏捷研发成为可能。虽然Hudson和Jenkins现在集成在一起,但并没有偏离Kohsuke Kawaguchi的努力,Kohsuke使它成为世界级的持续集成平台,并提高了大部分Java研发的质量。 (6)Hadoop是著名的MapReduce模型的Java实现。它的强壮使得最大多数的“大数据”系统成为可能。通过降低从巨大的数据中抽取有价值的数据的成本,Hadoop 已经被大量使用,如Facebook用它来做海量数据分析,Yahoo!的个人和广告业务,还有很多其他的公司。 (7)Android Google选择用Java语言作为它十分流行的Android移动操作系统的编程语言。这个选择在整个件研发人员的社区中引起了新的关注。Android程序编译过程比普通Java程序要多经过一个步骤,将JVM二进制码转换成Dalvik二进制码。Google 已经可以利用Eclipse 为软件研发人员提供一个成熟的编写Android应用的开发环境。 1.2谷歌选择Java作为其开发Android的原因 Android支持使用Java作为编程语言来开发应用程序,而Android的Java开发方面从接口到功能,都有层出不穷的变化。考虑到Java虚拟机的效率和资源占用,谷歌重新设计了Android的Java,以便能提高效率和减少资源占用,因而与J2ME等不同。其中Activity等

学习android的心得体会

学习android的心得体会 【篇一:android实训心得体会】 项目总结 时间过的好快,为期三个月的实训生活即将结束了,每一次的实训我们都受益匪浅,我 们学到的不仅仅是课内还有课外,实训让我们的课内知识得到了巩固,专业知识、编程水平 都有很大的提高,我们非常感谢这次实训。刚开始二周的高强度的课程安排让我们受益匪浅;接下来的项目实训又让我们可以巩固 了课程。这让我觉得实习生活充实而有意义。乐淘购物项目和android优化大师,我更好的学习了ui的设计,如何使界面漂亮,美观, 巩固了listview,gridview,的使用,学会了动画进入界面的,和会移动的画廊等等。在这 两个项目中,除了让我明白工作中需要能力,素质,知识之外,更重要的是学会了如何去完 成一个任务,懂得了享受工作。当遇到问题,冷静,想办法一点一点的排除障碍,到最后获 取成功,一种自信心由然而生,这就是工作的乐趣。有时候也需要虚心请教,从别人的身上 真得能学习到不自己没有的东西,每一次的挫折只能使我更接近成功。音乐播放器项目,我们是七个人组成小组完成的,由组长带领我们,分配任务,每个人, 都发挥自己的长处,更好地去完成任务。对于团队开发来说,团结一致使我深有体会。团队 的合作注重沟通和信任,不能不屑于做小事,永远都要保持亲和诚信,把专业理论运用到具 体实践中,不仅加深我对理论的掌握和运用,还让我拥有了一次又一次难忘的开发经历,这是也是实训最大的收获。这次实训对于我以后学习、找工作也真是受益菲浅,在这3个月中让我初步从理性回到 感性的重新认识,也让我初步的认识这个社会,对于以后做人所应把握的方向也有所启发!

如何向android的setting语言列表中添加一门语言

如何向android的setting语言列表中添加一门语言(已经解决) 看了下,android2.2系统有越南语的字库,所以支持越南语,但setting中语言列表里没有越南语选项,起初我在LocalePicker.java的onCreate方法的133行做了如下修改: 1.mLocales = new Loc[finalSize+1]; 2.for (int i = 0; i < finalSize ; i++) { 3.mLocales[i] = preprocess[i]; 4.} 5.Locale temp = new Locale("vi", "VN");//vi是越南语 6.mLocales[finalSize] = new Loc(toTitleCase(getDisplayName(temp)), temp); 7.Arrays.sort(mLocales); 复制代码 重新编译后,语言列表里有了越南语,但点击后系统语言还是默认的英文,也就是说系统语言没有更改成功,我再看了下/data/property/目录下关于语言和国家的两个属性文件都是修改成功了的,再继续往下跟代码,但没有所获,google了一下,搜到了一篇关于android2.1 架构解析之语言定制的帖子(https://www.360docs.net/doc/18877523.html,/gigatron/blo ... c8ab20843bd0e24445d,有兴趣的朋友可以看下),里面说语言选择列表在external/icu4c/stubdata/Android.mk中配置,我在这里面添加了越南语,最后返回上一级,查看readme.txt,官方已经给出说明,改动后需要将语言配置的txt转成dat,可是在run icu_dat_generator.py 4.2这个命令时一直报错,到现在还没弄好,希望有涉及过这方面的朋友分享下经验,谢谢! 问题已经解决,解决步骤开始写在回复里,现在直接写到该位置吧: 第一种:修改配置文件 位置:build/target/product/languages_full.mk| languages_small.mk,这两个文件里头,有PRODUCT_LOCALES := en_US en_GB fr_FR it_IT es_ES es_US 这样的片段,其实setting中语言选择列表的数据源头就来源于此,既然找到了源头,那只要在之后加上我们想要的语言即可,比如要加越南语只要在后面加上“vi_VN”即可,但细心的同学打开这两个文件比较的时候会发现一个问题: 里面都有PRODUCT_LOCALES :=这样的片段,只是languages_small.mk 的语言要比前者少些,聪明,这就是答案,从命名上也可发现一个full一个small,当我们不需要更多的语言时候,那languages_small.mk里面的语言就可以满足,而且语言少,生成的image所占用的空间也会相对小些,没验证过哈,只是根据同目录下full.mk里的注释“Get a list of languages. We use the small list to save space on smaller devices.”推测的。 好了,接下来,会有一个问题就是在哪个地方去设置full还是small呢?刚提到一个full.mk的文件,这里面有这样的片段:$(call inherit-product, build/target/product/languages_small.mk),后者路径就是我们要设置的地方。好了,改好后,得整个make下,这个得花些时间,好多模块都是重新编译。 第二种:编码方式修改 Android里一个listview会对应一个数据数组,那我们只需在这个数组里按格式添加我们所需要的数据就行了,我们的目标是com.android.settings.LocalePicker.java,在

Android游戏开发(快速入门必备)

Android游戏开发之旅一长按Button原理 今天Android123开始新的Android游戏开发之旅系列,主要从控制方法(按键、轨迹球、触屏、重力感应、摄像头、话筒气流、光线亮度)、图形View(高效绘图技术如双缓冲)、音效(游戏音乐)以及最后的OpenGL ES(Java层)和NDK的OpenGL和J2ME游戏移植到Android方法,当然还有一些游戏实现惯用方法,比如地图编辑器,在Android OpenGL如何使用MD2文件,个部分讲述下Android游戏开发的过程最终实现一个比较完整的游戏引擎。相信大家都清楚Android Market下载量比较好的都是游戏,未来手机网游的发展相信Android使用的Java在这方面有比iPhone有更低的入门门槛。 对于很多游戏使用屏幕控制一般需要考虑长按事件,比如在动作类的游戏中需要长按发射武器,结合Android Button模型,我们实现一个带图片的Button的长按,为了更清晰的显示原理,Android开发网这里使用ImageButton作为基类 public class RepeatingImageButton extends ImageButton { private long mStartTime; //记录长按开始 private int mRepeatCount; //重复次数计数 private RepeatListener mListener; private long mInterval = 500; //Timer触发间隔,即每0.5秒算一次按下 public RepeatingImageButton(Context context) { this(context, null); } public RepeatingImageButton(Context context, AttributeSet attrs) { this(context, attrs, android.R.attr.imageButtonStyle); } public RepeatingImageButton(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); setFocusable(true); //允许获得焦点 setLongClickable(true); //启用长按事件 } public void setRepeatListener(RepeatListener l, long interval) { //实现重复按下事件listener mListener = l; mInterval = interval; } @Override public boolean performLongClick() { mStartTime = SystemClock.elapsedRealtime(); mRepeatCount = 0;

安卓原生开发语言及优势分析

时代的发展和进步督促着我们一步步前进,只有不断的创新,企业才能进步发展。我们着眼于未来,积极发掘市场需求,这样,就可以使我们的企业走向长期的成功和繁荣。shenh uax2 AndroidAPP是一种手机应用软件,是使用在安卓手机上或者是Android系统的第三方应用程序。APP的英文Application的简称,通常是指iphone,安卓等手机应用软件,现在的APP多指智能手机的第三方应用程序。 目前国内的Android APP商店众多,新的十大安卓应用市场排名:360手机助手、百度手机助手、应用宝、豌豆荚、小米商店、安卓市场、91市场、淘宝手机助手、安智市场、移动MM市场。 安卓原生开发优势 1、Android是用户量多的移动操作系统 新中国智能手机市场报告, 2015年第一季度中国智能手机出货量同比增长了17%,总计达到1.1亿部。庞大的手机用户量为开发提供了良好的发展前景。 2、Android APP 推广相对容易 相较于苹果手机用户,安卓用户的下载就相对容易非常多,用户不仅可以通过应用商店下载您的应用,同时运营商能够通过二维码推广为用户提供推广途径,吸引更多用户下载。 3、Android 系统开放性高 相对苹果系统的全封闭式,安卓系统的高度开放,给了开发者相当高的开发自由度,您的应用可以更加接近您所想所要的。 4、安卓原生开发开发语言 安卓应用软件开发语言有C语言和其他语言,但是主流的开发语言是Java语言,使接口到功能,都有层出不穷的变化。提高了软件的交互的可能性是Java的特性,可以说安卓手机几乎所有的应用程序都是利用Java语言来进行编写的。使用Java语言开发的软件的程序库、数据库、运行库都是Android手机软件的一大特点。Java语言自身的优点也有很多,所以安卓应用软件的开发应用到了Java的核心类的知识量,这也让使用Java语言开发的安卓软件具备优势。 1、Java语言是发展快的程序语言,具有面向对象的特点,比较通俗易懂; 2、Java语言的显著特点就是简单,继承了C++语言的先进精华,是计算机程序语言发展的一大进步; 3、Java语言拥有独立的体系结构,可以不受限制,随意在任何系统当中运行,所以体系结构的中立决定了Java语言可以在不同的计算机结构中得以运行。使用Java语言开发的不同程序在不同结构的计算机显示的语言位数却是统一的。

Android开发入门书籍推荐

Android开发入门书籍推荐 Android编程入门教程andbook andbook是我看到的最简单但最好的Android程序开发入门书籍,内容仅有60多页,图文并茂,如果你从来没有接触过Android开发,也完全可以通过阅读此书了解程序开发过程,甚至对APK程序的基本原理和Android UI界面开发有个清晰的认识,相信你花上几个小时读过后,一定会跃跃欲试加入Android开发行列,心动吧,那就行动吧。。。 Android应用开发详解 Android应用开发详解是一本Android应用开发书籍,既适合Android初学者,也适合具备了一定Android开发经验但需要开发案例的高级读者。该书分为三个部分,共18章,由浅入深地详细介绍了Android的每个开发细节。该书基础翔实,实例丰富,案例真实。从基础到案例覆盖了Android应用开发的三大领域:基础应用、网络应用和游戏应用。读者所需要学习的,正是该书描述的。

深入浅出Android–Google手持设备应用程序设计 入门书籍,作者写的很不错,可以在阅读SDK的同时阅读这本书,中间的一些使用介绍的非常清楚,最重要的是中文版的 Google Android应用框架原理与程式设计36技 最早介绍Android的中文书籍,台湾人写的繁体版的,看得有些影响,不过还是值得耐心阅读的 Android A Programmer’s Guide

多个专家写的介绍Android的书籍,内容写的很不错,Ask the Expert部分针对一些问题作了详细的说明 Android Essentials 对Android介绍的比较全面,从安装到开发,应该有新版本了。 Google Android SDK开发范例大全(第2版)

(完整word版)按键精灵Android版MQ语言基础说明

按键精灵Android版:MQ 语言 MQ是按键精灵针对旗下移动产品而设计的全新脚本开发语言。语言支持全中文阅读脚本,上手简单,易学易用。MQ语言的基本特性如下: 1 数据类型 在MQ语言里,数据类型包括如下5种: Null : 不包含任何有效数据; Boolean:仅包含True和False两个常数; Integer:32位有符号整数,范围为-2,147,483,648 到2,147,483,647 之间; Float:双精度浮点数,负数范围从-1.79769313486232E308 到 -4.94065645841247E-324,正数范围从4.94065645841247E-324 到 1.79769313486232E308; String : 字符串。 MQ语言为动态类型,即定义变量时并不指定类型,在给变量赋值时才确定类型,并且类型随时可以通过赋值操作而变化。 常量 MQ语言中,用户可直接在脚本内写入没有命名的常量的,具体类型与写法如下: 整数型:可直接输出整数数字,如100;亦可加&H前缀,表明该常量为16进制数字,如&H64。浮点型:可直接输出小数点数字,如3.1415;亦可采用E分隔整数和底数部分,如314.15e-2。字符串型:凡采用一对双引号包含的内容均被视为字符串型常量。其中允许使用转义字符包括有:'\b' (退格),'\f' (表单),'\n' (换行),'\r' (回车),'\t' (横向制表),'\v' (纵向制表),'\\' (反斜杠),'\" '(双引号),以及'\' '(单引号)。另外也支持反斜杠

加数字来描述一个字符。(注意,如果需要在这种描述方法后接一个是数字的字符,那么反斜杠后必须写满三个数字)。 MQ语言中有一下已经预先定义好的常量,目标包括True和False(不区分大小写),今后还会增加。 变量 MQ语言的命名方式如下: 变量名不区分大小写,同时关键字(如If、Dim)与子程序的名字也无须区分大小写。 变量名、关键字及子程序的命名同时支持中文及英文,除了第一个字母外,后续内容还可以用数字。 变量在使用前必须用Dim语句定义,但Dim语句不必指定类型。声明多个变量时,使用逗号分隔变量。例如:Dim Top, Bottom, Left, Right, 上, 下, 左2, 右1。 变量的作用域由声明它的位置决定。如果在子程序中声明变量,则只有该子程序中的代码可以访问或更改变量值,此时变量具有局部作用域并被称为局部变量。如果在子程序之外声明变量,则该变量可以被当前脚本的所有子程序所识别,称为全局变量。 变量还可以定义为数组的形式,数组可以是一维的,也可以是多维的,数组的每个维度的索引都是从0开始的正整数,当定义一维数组时,可以指定数组的初始元素个数,也可以不指定。如:Dim Array() Dim Array(10) 上述例子都可以定义一个一维数组。但即使指定了数组的初始元素个数,以后也可以随时增加新的元素(直接访问新的元素即可)。当定义多维数组的时候,则必须指定数组在每个维度的初始元素个数,各个维度的初始元素个数之间用逗号分隔,如:

android的多国语言适配

android多国语言文件夹 android多国语言文件夹文件汇总如下:(有些语言的书写顺序可能跟中文是相反的)中文(中国):values-zh-rCN 中文(台湾):values-zh-rTW 中文(香港):values-zh-rHK 英语(美国):values-en-rUS 英语(英国):values-en-rGB 英文(澳大利亚):values-en-rAU 英文(加拿大):values-en-rCA 英文(爱尔兰):values-en-rIE 英文(印度):values-en-rIN 英文(新西兰):values-en-rNZ 英文(新加坡):values-en-rSG 英文(南非):values-en-rZA 阿拉伯文(埃及):values-ar-rEG 阿拉伯文(以色列):values-ar-rIL 保加利亚文: values-bg-rBG 加泰罗尼亚文:values-ca-rES 捷克文:values-cs-rCZ 丹麦文:values-da-rDK 德文(奥地利):values-de-rAT 德文(瑞士):values-de-rCH 德文(德国):values-de-rDE 德文(列支敦士登):values-de-rLI 希腊文:values-el-rGR 西班牙文(西班牙):values-es-rES 西班牙文(美国):values-es-rUS

芬兰文(芬兰):values-fi-rFI 法文(比利时):values-fr-rBE 法文(加拿大):values-fr-rCA 法文(瑞士):values-fr-rCH 法文(法国):values-fr-rFR 希伯来文:values-iw-rIL 印地文:values-hi-rIN 克罗里亚文:values-hr-rHR 匈牙利文:values-hu-rHU 印度尼西亚文:values-in-rID 意大利文(瑞士):values-it-rCH 意大利文(意大利):values-it-rIT 日文:values-ja-rJP 韩文:values-ko-rKR 立陶宛文:valueslt-rLT 拉脱维亚文:values-lv-rLV 挪威博克马尔文:values-nb-rNO 荷兰文(比利时):values-nl-BE 荷兰文(荷兰):values-nl-rNL 波兰文:values-pl-rPL 葡萄牙文(巴西):values-pt-rBR 葡萄牙文(葡萄牙):values-pt-rPT 罗马尼亚文:values-ro-rRO 俄文:values-ru-rRU 斯洛伐克文:values-sk-rSK 斯洛文尼亚文:values-sl-rSI

安卓(Android)游戏以及手机游戏开发的详细步骤

安卓(Android)游戏以及手机游戏开发的详细流程【精华版】 >>首先说游戏设计部门 通常这是如下职位:游戏设计主负责(也有称主策划) 执行游戏设计师(称执行策划):分剧情策划,数据策划,也有不分的,大家一起提高。辅助员(称辅助策划):做一些比较简单的表据维护,资料收集。 工作职责: 游戏设计主负责人:主要负责游戏设计的整体把握、给大家安排工作,审核工作,提高部门人员士气。, 剧情策划一般负责背景,任务等等故事性比较强的,要求文笔要好 数据策划再细分,为规则和数据平衡,包括规则的描述,公式确定,数据表设定等等。 辅助员,主要是收集资料,维护表格等等,比较不涉及核心的工作。 *注:有一些公司或者团队,在策划岗位,还有新的岗位,如: 表现策划:主要负责特效、动作、音效收集并提需求,部分如音效部分亦有策划来完成。资源策划:主要负责UI设计,模型相关配置,资源管理等等。

>>下面是程序部门 主程序与主设计师,是对游戏引擎最了解的人,以主程序为最强。主程的主要工作,安排程序部门工作,定游戏的数据结构,定一些主要方案的完成方法。 一般程序员,分服务器端与客户端、服务器端程序,对于数据库结构,数据传输、通讯方式等等。客户端程序,对图像及优化有研究的会易受重用。 >>美术部门 主美负责整体美术风格的把握 原画绘制原画交于3D 2D负责贴图,游戏界面等的制作 3D负责3D建模,动作等方面工作

>>脚本与编辑器 在具体游戏实现时,越来越多的公司不会说把游戏中的数据写在C++里,而是用“脚本与数据库”的方式。 C++的作用是用来解释脚本和调用数据库的 在脚本中,写上, if { player hp >=30%hpmax add hp=hpmax } 这里的东西是写在脚本里的,C++就会解释,player、hp、hpmax是什么,hp、hpmax 对应数据库是什么列主要的游戏内核是写在C里的,脚本用来实现游戏具体的一些东西。如每个场景、每个NPC、每个道具都有可能有个脚本文件制定命令及数据一般由主程与主设计师一起来做,具体写脚本,一般为游戏设计部门按规范做这个工作。 编辑器:是高于脚本的一个给游戏设计部门或是美术部门用的工作工具优点是使用简单,界面化的东西,可以自动生成脚本。 缺点是,把一些比较活的东西,写死到工具中了,将来要加功能改结构很麻烦 这些都是程序部门的工作 另外,在程序部门中主要交流就是服务器端与客户端的。这实际就是说,一个游戏主体置放与传输的问题。

【IT专家】初次是使用AndroidStudio用Kotlin语言新建Android项目

本文由我司收集整编,推荐下载,如有疑问,请与我司联系初次是使用AndroidStudio用Kotlin语言新建Android项目2017/07/08 506 1.首先我们得有AndroidStudio编译工具如果没有,可以在官网下载:https://developer.android.google/studio/index.html ?2.AndroidStudio中要有Kotlin插件如图: 如果还有不会下在插件的同学们请查看我前面的博客:Android Studio安装插件– blog.csdn/male09/article/details/68952350 或者还想了解更多的插件请查看我的:Android Studio插件整理– blog.csdn/male09/article/details/68952466 3.有了插件我们就得把我的的Activity转换成Kotlin 如图: 4.配置Kotlin: 自动配置有这几个方法: a.如果是第一次工具会提示你是否需要配置如图: 你可以点击配置: b.双击Shift配置Kotlin: 手动配置Kkotlin: a.在工程的build.gradle中配置 1.ext.kotlin_version = ‘你的kotlin配置版本’2.classpath “org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version” ?//你通过kotlin直接赋值到xml文件中要配置一下 3. classpath “org.jetbrains.kotlin:kotlin-android-extensions:$kotlin_version” 下面是我的所有配置仅供参考: ?// Top-level build file where you can add configuration options common to all sub-projects/modules.buildscript { ext.kotlin_version = ‘1.1.3-2’ repositories { jcenter() } dependencies { classpath ‘com.android.tools.build:gradle:2.3.3’ classpath “org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version” classpath “org.jetbrains.kotlin:kotlin-android-extensions:$kotlin_version” // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files }}allprojects { repositories { jcenter() }}task clean(type: Delete) { delete rootProject.buildDir} b.在工程的build.gradle中配置 1.apply plugin: ‘kotlin-android’ 2.apply plugin: ‘kotlin-android-extensions’3pile “org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version” 下面的代码仅供参考: ?apply plugin: ‘com.android.application’apply plugin: ‘kotlin-android’apply plugin:

第一行代码Android学习笔记完全版

第一行代码Android学习笔记 感谢《第一行代码》,感谢郭霖博主,拯救我于水火。之前看视频学习Android,自以为已经小成了。在网易工作的朋友问了我几个问题,我就懵逼了。然后,遇到了《第一行代码》,终于把我带进了Android的世界。好书,真的会醉人啊。 这是学习第二遍时的部分笔记,以备后用。 这是第二版,比第一版增加了一些常用的方法。 hujunjob 于北航 2015.04.02

目录 第一章Android系统 (6) 1.1 安卓系统架构 (6) 1.2 Android 项目中的资源 (6) 第二章Activity (6) 一、创建Activity步骤: (6) 二、采用Intent切换activity (7) 1、显式Intent (7) 2、隐式Intent (7) 3、隐式Intent的其他用法 (8) 三、Intent传递数据 (8) 1、向下一个activity传递数据 (8) 2、返回数据给上一个activity (8) 四、activity的生命周期 (9) 1、活动状态 (9) 2、activity生存期 (9) 3、activity被回收数据保存 (11) 五、activity的启动模式 (11) 六、activity最佳实践 (11) 1、知道当前页面是哪一个activity (11) 2、随时随地退出程序 (11) 3、给每个activity都添加一个合适的启动方法 (13) 第三章UI (13) 一、常用控件 (13) 1、TextView (13) 2、Button (13) 3、EditText (13) 4、ImageView (14) 5、ProgressBar (14) 6、AlertDialog (14) 7、ProgressDialog (15) 二、基本布局 (15) 1、LinearLayout (15) 2、RelativeLayout (15) 3、FrameLayout (15) 4、TableLayout (15) 5、GridLayout (16) 三、自定义控件 (16) 1、添加自定义标题布局(无操作的) (16) 2、创建自定义控件 (16) 四、ListView (17) 1、最简单的Adapter (17) 2、定制ListView界面 (18)

Android游戏与应用开发最佳学习路线图

Android游戏与应用开发最佳学习路线图 为了帮助大家更好的学习Android,并快速入门特此我们为大家制定了以下学习路线图,希望能够帮助大家。 一、路线图概括: 二、具体需要掌握知识点:

三、 具体知识点与目标 Java 三、 具体知识点与目标 Java 基础

Android游戏与应用开发

四、免费在线视频教程 Android教程之Android简介 https://www.360docs.net/doc/18877523.html,/zxjc/122.html Android教程之Android-HelloWorld https://www.360docs.net/doc/18877523.html,/zxjc/123.html Android教程之Android 应用程序基本原理 https://www.360docs.net/doc/18877523.html,/zxjc/124.html Android教程之Android 用户界面布局简介 https://www.360docs.net/doc/18877523.html,/zxjc/125.html Android教程之Android 用户界面-选项菜单 https://www.360docs.net/doc/18877523.html,/zxjc/126.html

Android教程之Android 用户界面-使用XML文件创建菜单 https://www.360docs.net/doc/18877523.html,/zxjc/127.html Android教程之Android 用户界面-上下文菜单 https://www.360docs.net/doc/18877523.html,/zxjc/128.html Android教程之Android 用户界面-创建子菜单 https://www.360docs.net/doc/18877523.html,/zxjc/129.html Android教程之Android 用户界面-对话框 https://www.360docs.net/doc/18877523.html,/zxjc/130.html Android教程之Android 用户界面-其他常见的对话框 https://www.360docs.net/doc/18877523.html,/zxjc/131.html Android教程之Android 用户界面Toast https://www.360docs.net/doc/18877523.html,/zxjc/132.html Android教程之Android 用户界面-布局管理 https://www.360docs.net/doc/18877523.html,/zxjc/133.html Android教程之Android 用户界面-布局管理-相对布局 https://www.360docs.net/doc/18877523.html,/zxjc/172.html Android教程之Android 用户界面-表格布局 https://www.360docs.net/doc/18877523.html,/zxjc/173.html Android教程之Android 用户界面-表格布局2 https://www.360docs.net/doc/18877523.html,/zxjc/174.html Android教程之Android 中的事件处理 https://www.360docs.net/doc/18877523.html,/zxjc/175.html Android教程之Android 用户界面-常用组件 https://www.360docs.net/doc/18877523.html,/zxjc/176.html Android教程之Android 用户界面-自动完成文本框(AutoCompleteTextView) https://www.360docs.net/doc/18877523.html,/zxjc/177.html Android教程之Android 用户界面-ListView

android游戏开发教程

一章概述了Android 的历史,引出了本书其余部分将涉及的概念。现在你可能迫不及 待地想编写代码了。本章首先介绍使用Android SDK 开发应用程序的前提条件,学习安装开发环境。接下来,将逐步演示“Hello World!”应用程序,之后详细分析一个稍大型的应用程序。然后将解释Android 应用程序生命周期,最后简单讨论使用A VD (Android Virtual Devices ,Android 虚拟设备)调试应用程序。 要为Android 开发应用程序,需要JDK (Java SE Development Kit ,Java SE 开发工具包)、Android SDK 和一个开发环境。严格来讲,可以使用简单的文本编辑器开发应用程序,但本书将使用常见的Eclipse IDE 。Android SDK 需要JDK 5或更高版本(我们在示例中使用的是JDK 6)和Eclipse 3.3或更高版本(我们使用的是Eclipse 3.5,也叫Galileo )。本书使用Android SDK 2.0。 最后,为了使开发过程更加简单,需要使用ADT 。ADT 是一个Eclipse 插件,支持使用Eclipse IDE 开发Android 应用程序。实际上,本书中的所有示例都是结合使用Eclipse IDE 和ADT 工具开发的。 上

2.1 安装环境 21 2 2.1 安装环境 要开发Android 应用程序,需要建立一个开发环境。本节将介绍如何下载JDK 6、Eclipse IDE 、Android SDK 和ADT ,以及如何配置Eclipse 来开发Android 应用程序。 Android SDK 兼容Windows (Windows XP 、Windows Vista 和Windows 7)、Mac OS X (仅限英特尔平台)和Linux (仅限英特尔平台)。本章将展示如何为所有这些平台建立环境(对于Linux ,我们仅介绍Ubuntu 版本)。我们不会在其他章讨论与平台差异有关的细节。 2.1.1 下载JDK 6 首先需要的是JDK 。Android SDK 需要JDK 5或更高版本,我们使用JDK 6来开发本书中的示例。对于Windows 来说,从Sun 网站(https://www.360docs.net/doc/18877523.html,/javase/downloads/)下载JDK 6并安装。只需要JDK ,不需要其他程序包。对于Mac OS X 来说,从苹果公司网站(http://developer. https://www.360docs.net/doc/18877523.html,/java/download/)下载JDK ,选择适用于具体的Mac OS 版本的文件,然后安装。要安装JDK for Linux ,打开一个终端窗口并键入以下命令: sudo apt-get install sun-java6-jdk 这将安装JDK 及任何依赖关系,比如JRE (Java Runtime Environment ,Java 运行时环境)。 接下来,设置JAVA_HOME 环境变量以指向JDK 安装文件夹。在Windows XP 机器上,可以转到“开始”?“我的电脑”,右键单击并选择“属性”,选择“高级”选项卡,然后单击“环境变 量”。单击“新建”添加JAVA_HOME 变量,如果该变量已存在,单击“编辑”修改它。JAVA_HOME 的值类似于C:\Program Files\Java\jdk1.6.0_16。对于Windows Vista 和Windows 7,调出“ 环境变

相关文档
最新文档