Android手机软件汉化教程

Android手机软件汉化教程
Android手机软件汉化教程

Android手机软件汉化教程

第一课apk安装包解析

今天我们正式开始学习android程序的汉化!

首先我们来了解一下apk文件

APK是Android Package的缩写,即Android安装包。APK是类似Symbian Sis或Sisx的文件格式,将apk 通过电脑或传入手机即可安装程序。

apk文件实际是一个zip压缩包,可以通过解压缩工具解开*.apk文件。

我们使用平时最常用的一款进程结束软件Advanced Task killer 作为本次课程的教学软件!

先新建一个文件夹,用rar压缩工具将压缩包内的文件解压到文件夹内,

解压到文件夹以后,我们会得到如下图的几个文件和文件夹

其中,META-INF 和res这两个文件夹,还有AndroidManifest.xml,classes.dex和resources.arsc这3个文件,它们是每个软件都有的,也就是必须的!assets有的软件有,有的没有,有的软件还有些其他的文件夹

META-INF目录下存放的是签名信息,用来保证apk包的完整性和系统的安全这里先不用管它,最后APK签名时再来说它。

res目录是存放资源文件的

不同的软件,res目录下的文件夹也不同,一般也就是

drawable(图片所在文件夹)

drawable-hdpi(高分辨率图片所在文件夹)

layout(界面布局xml文件所在文件夹)

layout-hdpi(高分辨率界面布局xml文档所在文件夹)

menu(一些菜单文件所在目录)

raw(存放帮助类文档或其他资源的文件夹,如help.html;clock.zip)

xml(其他一些xml文件所在目录)

这几个。

这款软件就只有drawable,layout,xml这三个。

drawable这个文件夹一般都是存放软件中的图片。有的软件要修改图片的,就要来这里找!一般游戏居多。软件很少有要修改图片的!

其他几个文件夹存放的都是些XML文件了,这里面也会有要汉化的地方。xml的汉化我们会在第二讲中做详细讲解!

AndroidManifest.xml是主XML文件,是每个应用都必须定义和包含的,它描述了应用的名字、版本、权限、引用的库文件等等信息,这里面基本是没有要汉化的,但是极个别软件的软件名,或是个别单词会存在于这个主XML中!

classes.dex是java源码编译后生成的java字节码文件,通俗点就是整个软件的代码文件。

如果当你汉化软件时,arsc和xml文件你都汉化了,但是软件中还有没汉到的,那就肯定在dex文件中了。

第三讲我们会详细介绍dex的汉化!

resources.arsc是编译后的二进制资源文件,是主要的资源文件,汉化时首先要看这个文件,最先汉化的也是这个文件!

我们也是首先来学习arsc文件的汉化!

Android手机软件汉化教程

第二课arsc文件汉化

从这一讲开始,我们就要正式学习android软件的汉化了,我们先从arsc文件的汉化开始吧!

以前的汉化都是通过修改16进制代码来汉化的,非常的繁琐麻烦,一个不小心出错了,就不能用了。现在随着时代的进步,工具也越来越多了,在这里推荐给新人和懒人最方便的汉化工具,汉化浪子同学推出的汉化狂人软件!

上一课已经讲了,我们使用平时最常用的一款进程结束软件Advanced Task killer 作为本次课程的教学软件!

下面的arsc汉化包括xml和dex汉化都是用的这款软件,之后就不在提示了。

先打开汉化狂人软件,然后用汉化狂人打开解压出来的resources.arsc文件,比较简单的办法就是直接将resources.arsc按住,拖拽到汉化狂人的界面上即可!

先来对文件进行一下分析,我们会看到,第1行开始到第12行,都是“res/”这个开头的,它们明显都不是单词或语句,不是我们要汉化的,其他软件也是如此,arsc文件中的“res/”开头的都排除掉,不光是开头的几行有,有的软件在一些要汉化的单词语句中间也会夹杂着“res/”开头的语句,这些一定都不要动!如下图:

开始的我们排除了,那当我们看到一个大写字母开头的单词时,看看软件中是不是有这个单词,Kill这个单词是软件中有的,我们就从这开始吧,Kill在软件的设置中还有其他地方都能看到。

在汉化狂人中双击要汉化的单词,直接替换成中文或是点击界面下方的开始汉化,然后找到要汉单词,在输入中文的方框中输入中文,替换之前的英文,然后点击添加中文,该单词就汉化完毕了!(汉化狂人的使用方法在软件压缩包中附带,不会使用的请自己查看)

Kill字面意思是杀死,致死,但我们不能这么汉啊,软件是个进程管理软件,所以这个kill应该是结束的意思吧,我们将其改成结束。后面的以此类推。

软件中的很多单词都不能根据字面意思来汉化的,那样汉化出来的软件很搞笑,要根据具体的功能来判断如何翻译,这需要一个积累的过程,大家使用和汉化的软件多了,见到一些单词时,很自然的就了解它的意思了!

我们一直往下汉,见到大写字母开头的就可以汉化,但是有一点要注意,如果是整个单词全部都是大写字母的,例如刚才那个Kill,如果看到一个KILL,这就要注意一下了,除非软件中有出现这个单词,否则不要汉它!

还有一个情况,就是在汉化过程中带有特殊符号的不要去汉它,例如要是出现一个kill_name_XX这样的,这种也一定不要去汉。

具体的情况还有很多,大家就要具体情况具体分析,反正刚开始学习汉化,根据软件中能看到的单词和语句来汉化就肯定不会出错了!

Android期末考试复习试卷(仅供参考)

一、选择题(20分,每小题2分) 1、下列不是手机操作系统的是( D )。 A Android B Window Mobile C Apple IPhone IOS D Windows Vista 2、下列选项哪个不是 Activity 启动的方法(B ) A startActivity B goToActivity C startActivityForResult D startActivityFromChild 3、下列哪个不是 Activity 的生命周期方法之一(B ) A onCreate B startActivity C onStart D onResume 4、下列哪个可做 Android 数据存储(A ) A SQlite B M ySql C Oracle D DB2 5、下列哪个可做EditText编辑框的提示信息( D ) A android:inputType B android:text C android:digits D android:hint 6、Math.ceil(99.1) 的结果是(B ) A 99 B 100 C 99.1 D 99.0 7、android 中下列属于Intent的作用的是(C) A实现应用程序间的数据共享 B是一段长的生命周期,没有用户界面的程序,可以保持应用在后台运行,而不会因为切换页面而消失 C可以实现界面间的切换,可以包含动作和动作数据,连接四大组件的纽带 D处理一个应用程序整体性的工作 8、关于 res/raw 目录说确的是A A这里的文件是原封不动的存储到设备上不会转换为二进制的格式 B这里的文件是原封不动的存储到设备上会转换为二进制的格式 C这里的文件最终以二进制的格式存储到指定的包中 D这里的文件最终不会以二进制的格式存储到指定的包中 9、Math.round(11.5)等于多少(). Math.round(-11.5)等于多少( C) A 11 ,-11 B 11 ,-12 C 12 ,-11 D 12 ,-12 10、我们都知道Hanlder是线程与Activity通信的桥梁,如果线程处理不当,你的机器就会变得越慢,那么线程销毁的方法是(A ) A onDestroy() B onClear() C onFinish() D onStop() 二、填空题(10 分,共10 题,每空1 分) 1、为了使 android 适应不同分辨率机型,布局时字体单位应用( sp ),像素单位应用( sp )和(dip ) 2、定义 LinearLayout 水平方向布局时至少设置的三个属性: ( android:orientation), (android:layout width)和(android:layout height)

Android期末测试题(附带答案)

一、选择题 1、下列哪项不是Android四大组件( C ) A.Seivice B. Activity C. Handler D. Content Provider 2、Android是如何组织Activity的( B ) A.以堆的方式组织Activity B. 以栈的方式组织Activity C. 以树形方式组织Activity D. 以链式方式组织Activity 3、关于线程说法不正确的是( B ) A. 在 android 中,我们可以在主线程中,创建一个新的线程 B. 在创建的新线程中,它可以操作 UI 组件 C. 新线程可以和 Handler 共同使用 D. 创建的 Handler 对象,它隶属于创建它的线程 4、下列关于内存回收的说明,哪个是正确的(B ) A.程序员必须创建一个线程来释放内存 B.内存回收程序负责释放无用内存 C.内存回收程序允许程序员直接释放内存 D.内存回收程序可以在指定的时间释放内存对象 5、设置xml布局文件中的字体大小一般用什么单位( c ) A.dp B. px C. sp D. pt 6、关于service生命周期的onCreate()和onStart()说法正确的是( D ) A.当第一次启动的时候先后调用onCreate()和onStart()方法 B.当第一次启动的时候只会调用onCreate()方法 C.如果service已经启动,将先后调用onCreate()和onStart()方法 D.如果service已经启动,只会执行onStart()方法,不再执行onCreate()方法 7、Android项目工程下面的assets目录,以下说法正确的是( A ) A.这里的文件是原封不动的存储到设备上不会转换为二进制的格式 B.主要放置多媒体等数据文件 C.主要放置图片文件 D.放置字符串,颜色,数组等常量数据 8、在android中使用SQLiteOpenHelper这个辅助类,生成一个可操作的数据库,调用的方法是( A )A.getReadableDatabase() B.getDatabase() C.getEnbleDatabase() D.createDateBase() 9、Activity从可见状态变为半透明遮盖状态时,生命周期中哪个方法被调用( B )

android试卷A及答案

Android应用试卷A 一、选择题(10分) 1. 下列不是手机操作系统的是?(D) A.Android B. Window Mobile C. Apple IPhone IOS D. windows vista 2. 下列选项哪个不是Activity启动的方法?(B ) A. startActivity B. goToActivity C. startActivityForResult D. startActivityFromChild 3. 下列哪个不是Activity的生命周期方法之一?(B ) A. onCreate B startActivity C. onStart D. onResume 4. 下列哪个可做Android数据存储?( A ) A. SQlite B. MySql C. Oracle D. DB2 5. 下列哪个可做EditText编辑框的提示信息?( D ) A. android:inputType B. android:text C. android:digits D. android:hint 二、真空题(2分) 1. 为了使android适应不同分辨率机型,布局时字体单位应用sp ,像素单位应用sp 和dip 。 2. 定义LinearLayout水平方向布局时至少设置的三个属性: android:orientation ,android:layout_width 和android:layout_height 。 3. 设置 ImageView控件为灰色的方法是:android:background=”#040” 。 4. layout布局文件的命名不能出现字母大写。 5. 设置EditText只能输入”1234567890.+-*/%()”属性:android:digits 。 6. 设置TextView字体的属性是:android:textSize 。 三、简答题(30分) 1. Android项目中的入口Activity怎么写?如何注册一般的Activity? (1) Android项目中的入口Activity:

androidAPK应用安装过程以及默认安装路径

应用安装过程以及默认安装路径 分类: 一:安装过程 是类似或的文件格式。通过将文件直接传到模拟器或手机中执行即可安装。 应用安装有如下四种方式 1. 系统应用安装――开机时完成,没有安装界面 2. 网络下载应用安装――通过应用完成,没有安装界面 3. 工具安装――没有安装界面。 4. 第三方应用安装――通过卡里的文件安装,有安装界面,由应用处理安装及卸载过程的界面。 应用安装的流程及路径 应用安装涉及到如下几个目录: 系统自带的应用程序,无法删除 用户程序安装的目录,有删除权限。

安装时把文件复制到此目录 存放应用程序的数据 将中的文件安装到目录下(文件是虚拟机的可执行文件,其大小约为原始文件大小的四分之一) 安装过程:复制安装包到目录下,解压并扫描安装包,把文件(字节码)保存到目录,并目录下创建对应的应用数据目录。 卸载过程:删除安装过程中在上述三个目录下创建的文件及目录。 一、系统应用安装: 处理各种应用的安装,卸载,管理等工作,开机时由启动此服务 (源文件路径:\\\\\\\\) 服务启动的流程: 1. 首先扫描安装“\”目录下的包

1. (, | ); 2.第二步扫描安装“\”目录下的各个系统应用 (, ); 3.第三步扫描“\”目录,即用户安装的第三方应用 (, 0, ); 4.第四步扫描" \"目录,即安装保护的文件(目前没有遇到过此类的应用)。(,0, | ); 安装应用的过程 1(, , ) 遍历安装指定目录下的文件

2(, , , , ) 安装文件 3( , , , , , ) 通过解析安装包获取到安装包的信息结构4(, ); 实现文件复制的安装过程(源文件路径:\\\\) 二、从上下载应用:

(完整版)Android应用开发期末考试题

试题 一、选择题 1 android虚拟设备的缩写是(AVD) 2 Android SDK目前支持的操作系统(DOS) 3 Android开发工具插件(ADT)没有提供的开发功能(自动更新) 4Android SDK提供一些开发工具可以把应用软件打包成Android格式文件(APK) 5 Android当中基本的所有的UI都是由(view)或者其子类实现的 6以下不是Android中调试项目的正确步骤(测试用例) 7下列不是Activity的生命周期方法之一的是(OnResume) 8以下可以做EditText编辑框的提示信息是(adroid:hint) 9以下不是Activity启动的方法是(gotoActivity) 10以下不是手机操作系统的是(windows vista) 二、填空题 1 Android平台由操作系统,中间件,用户界面和应用软件组成的。 2 Android平台提供了2D,3D的图形支持,数据库支持SQLite,并且集成了浏览器 3目前已知的可以用来搭建Android开发环境的系统有windows,Linux,Mac 等4开发中推荐使用的IDE开发组合为IDE,eclipse,ADI来开发 5 Android SDK主要以java语言为基础 6创建工程时需要填写的信息名称有工程名,包的名字,Activity的名字还有应用的名字

7 Android.jar是一个标准的压缩包,其内容包含的是编译后的class,包含了全部的API 三、简答题 1 Android SDK中API的包结构的划分?至少五个 android.util,android.os,android.content,android.view,android.graphics,android.text 2 Android软件框架结构自上而下可分为哪些层? 应用程序(Application)、应用程序框架(Application Framework)、各种库(Libraries)和Android运行环境(RunTime)、操作系统层(OS) 3 Android应用程序的4大组件是什么? Activity、Broadcast Intent Receiver、Service、Content Provider 4 Android应用工程文件结构有哪些? 源文件(包含Activity),R.java文件,Android Library,assets目录res目录,drawble目录,layout目录,values目录,AndroidManifest.xml 5 Android开发应用程序最有可能使用到的应用框架部分是哪些? 一组View(UI)组件,Content Providers,Resource Manger,Notification Manger,Activiy Manger 6 Android底层库包含哪些? 系统C库,媒体库,Surface Manager,LibWebCore,SGL 四、编程 1实现点击一个按钮,结束当前Activity并将需要返回的数据放置并关闭当前窗体请编写核心代码 Bundle bundle = new Bundle ( ); Bundle.putString(“store”,”数据来自Activity1”) ;

Android基础阶段 测试题

一、选择题(每题2分,共20分) 1.给定java代码,如下: public byte count(byte b1,byte b2){ return______; } 要使用这段代码能够编译成功,横线处可以填入()。(选择一项)a)(byte) (b1-b2) b)(byte) b1-b2 c) b1-b2 d) (byte) b1/b2 2.在Java中,下列()语句不能通过编译。 (选择一项) a) String s= “join”+ “was”+ “here”; b) String s= “join”+3; c) int a= 3+5 d) float f=5+5.5; 3.给定如下java代码,编译运行之后,将会输出()。 public class Test{ public staticvoid main(String args[]){ int a=5; System.out.println(a%2==1) ?(a+1) /2:a/2) ; } } a)1 b)2 c)2.5 d)3 4. 有关线程的哪些叙述是对的?( ) A、当一个线程因为抢先机制而停止运行,它被放在可运行队列的前面。 B、使用Start()方法可以使一个线程成为可运行的,但它不一定立即开始运行。 C、一个线程可能因为不同的原因停止并进入就绪状态。 D、一旦一个线程被创建,它立即开始运行。 5.下列属于Intent的作用的是( ) A、实现应用程序间的数据共享

B、是一段长的生命周期,没有用户界面的程序,可以保持应用在后台运行,而不会因为切换页面而消失 C、可以实现界面间的切换,可以包含动作和动作数据,连接四大组件的纽带 D、处理一个应用程序整体性的工作 6.关于下列程序段的输出结果,说法正确的是:() public class MyClass{ static int i; public static void main(String argv[]){ System.out.println(i); } } A、有错误,变量i没有初始化。 B、null C、1 D、0 7.下列属于SAX解析xml文件的优点的是() A、将整个文档树在内存中,便于操作,支持删除,修改,重新排列等多种功能 B、不用事先调入整个文档,占用资源少 C、整个文档调入内存,浪费时间和空间 D、不是长久驻留在内存,数据不是持久的,事件过后,若没有保存数据,数据就会 消失 8.下列哪些语句关于内存回收的说明是正确的? ( ) A、程序员必须创建一个线程来释放内存 B、内存回收程序负责释放无用内存 C、内存回收程序允许程序员直接释放内存 D、内存回收程序可以在指定的时间释放内存对象 9.下面在AndroidManifest.xml文件中注册BroadcastReceiver方式正确的是() A、 B、

android apk安装包的制作过程图解

Android程序安装包APK的制作 完成Android项目后,需要将程序打包成APK文件(Android Package),其后缀名为".apk"。打包的APK 文件可以在Android模拟器或者Android手机上安装运行。 Android系统要求具有开发者签名的私人密钥的应用程序才可以被安装。 Android项目打包和生成数字签名可以使用命令行的方式,但Eclipse中的向导可以方便快捷的完成整个流程。 以HelloWorld为例,介绍如何生成APK。 Android项目编译运行后,右键单击项目名称,选择"Android Tools",再选择"Export Signed Application Package..."(输出签名的应用程序包)。 直接点击Next按钮,进入Keystore设置窗口。其中,Location为证书的目录地址,Password/Comfirm 为证书的密码。

打包程序时系统要求使用数字证书。如果没有数字证书,选择"Create new keystore",设置目录地址和密码,创建新的数字证书。 点击Next按钮,设置证书的信息。Alias:数字证书的名称;Password/Comfirm:证书的密码;Validity(years):证书的有效期;其他信息按需要填写。

完成证书信息设置后点击Next按钮,完成APK打包,如下图所示,生成的APK文件为:E:\Android\keystore\HelloWorld.apk。

如果已有数字证书,可以选择"Use existing keystore",然后点击Browser按钮进行选择,输入密码后点击Next按钮进行下一步。如果没有数字证书,选择"Create new keystore",设置目录地址和密码,创建新的数字证书。

Android练习题及答案

练习题 一、选择题 1. 下面哪个属于体系结构中的应用程序?( ) (A) (B) (C)浏览器(D) 2. 应用程序需要打包成( )文件格式在手机上安装运行。 (A) (B) (C) (D) 3. 在的生命周期中,当被某个覆盖掉一部分后,会处于哪种状态?( ) (A) 暂停(B) 活动(C) 停止(D) 销毁 4. 中下列属于的作用的是( )。 (A) 实现应用程序间的数据共享() (B) 是一段长的生命周期,没有用户界面的程序,可以保持在后台运行,而不会因为切换页面而消失() (C) 可以实现界面间的切换,可以包含动作和动作数据,是连接4大组件的纽带 (D) 处理一个应用程序整体性的工作 5. 项目启动时最先加载的是文件,如果有多个,以下哪个属性决定了该最先被加载?( )。 (A) (B)(没有) (C) (D) 6. 如果需要捕捉某个组件的事件,需要为该组件创建( ) (A)属性(B)监听器(C)方法(D)工程 7.关于描述正确的是( )。 (A)该布局为绝对布局,可以自定义控件的的位置 (B)该布局为切换帧布局,可实现标签切换的功能 (C)该布局为相对布局,其中控件的位置都是相对位置

(D)该布局为表格布局,需要配合一起使用 8.关于的说法不正确的是 ( )。 (A)它实现不同进程间通信的一种机制(B)它采用队列的方式来存储 (C)既是消息的发送者也是消息的处理者(D) 它实现不同线程间通信的一种机制 9. 下列哪种不是的存储方式?( ) (A) (B) (C) (D) 10. 下列关于的描述,不正确的是 ( )。 (A)是系统的后台服务组件,适用于开发无界面、长时间运行的应用功能 (B)比的优先级高,不会轻易被系统终止 (C)有两种不同的使用方式,一种是以启动方式使用,另一种是以绑定方式使用 (D)每个服务都继承自基类 二、填空题 1. 目前,常见的智能手机操作系统有、和等。 2第一次被创建的时候调用的方法是()。 3.为了使系统适应不同分辨率机型,布局时使用的字体和像素单位分别是 和。 4支持的4大重要组件,分别是、、和。 5. 4.0中提供了5种布局管理器:、、、和。 6类不能直接使用关键字来创建类的对象实例,而是首先创建其内部 类类的对象,再调用这个内部类的()方法来显示对话框。

android APK应用安装过程以及默认安装路径

android APK应用安装过程以及默认安装路径 分类: Android 一:安装过程 APK是类似Symbian Sis或Sisx的文件格式。通过将APK文件直接传到Android模拟器或Android手机中执行即可安装。 Android应用安装有如下四种方式 1. 系统应用安装――开机时完成,没有安装界面 2. 网络下载应用安装――通过market应用完成,没有安装界面 3. ADB工具安装――没有安装界面。 4. 第三方应用安装――通过SD卡里的APK文件安装,有安装界面,由packageinstaller.apk应用处理安装及卸载过程的界面。 应用安装的流程及路径 应用安装涉及到如下几个目录: system/app 系统自带的应用程序,无法删除 data/app 用户程序安装的目录,有删除权限。

安装时把apk文件复制到此目录 data/data 存放应用程序的数据 Data/dalvik-cache 将apk中的dex文件安装到dalvik-cache目录下(dex文件是dalvik虚拟机的可执行文件,其大小约为原始apk文件大小的四分之一) 安装过程:复制APK安装包到data/app目录下,解压并扫描安装包,把dex文件(Dalvik 字节码)保存到dalvik-cache目录,并data/data目录下创建对应的应用数据目录。 卸载过程:删除安装过程中在上述三个目录下创建的文件及目录。 一、系统应用安装: PackageManagerService处理各种应用的安装,卸载,管理等工作,开机时由systemServer 启动此服务 (源文件路径: android\frameworks\base\services\java\com\android\server\PackageManagerService.jav a) PackageManagerService服务启动的流程:

Android移动应用试题(带答案)

<>试题 一.选择题(2’X12) 1.下面哪一个不属于Android体系结构中的应用程序层 A.电话簿 B.日历 C.SQLite D.SMS程序 2.下面哪种说法不正确 A.Android应用的gen目录下的R.java被删除后还能自动生成; B.res目录是一个特殊目录,包含了应用程序的全部资源,命名规则可以支持数字(0-9) 下横线(_),大小写字母(a-z , A-Z); C.AndroidManifest.xml文件是每个Android项目必须有的,是项目应用的全局描述。其 中指定程序的包名(pack age=”…”)+指定android应用的某个组件的名字(android:name=”…”)组成了该组件类的完整路径 D.assets和res目录都能存放资源文件,但是与res不同的是assets支持任意深度的子目 录,在它里面的文件不会在R.java里生成任何资源ID 3.在一个相对布局中怎样使一个控件居中 A.android:gravity="center" B.android:layout_gravity="center" C.android:layout_centerInParent="true" D.android:scaleType="center" 4.下面是一段生成对话框的代码,哪一行有错误? Builder builder = new Builder(getApplicationContext()); 1 builder.setTitle("提示").setMessage("请选择"); 2 builder.setPositiveButton("重置", new OnClickListener() 3 { 4 public void onClick(DialogInterface dialog, int which) 5 { 6 Log.i("log", "重置被按了!"); 7 } 8 }); 9 builder.setNegativeButton("取消", null); 10 builder.setNeutralButton("确定", new OnClickListener() 11 { 12 public void onClick(DialogInterface dialog, int which) 13 { 14 Toast.makeText(getApplicationContext(), "确定被按了!", 15 Toast.LENGTH_SHORT).show(); 16 } 17

Android程序开发实验报告

山西大学 物理电子工程学院 论文题目:基于Android系统的GPS 程序开发 学号:* 姓名:* * * 指导老师:* *

摘要 在日常生活中,我们经常需要知道自己的具体位置,尤其是在 旅游或陌生城市中。而手机作为目前最常见、最方便的电子信息载体,无疑是我们最好的选择。为了让智能手机用户能够随时随地查询GPS 所提供的服务,一种高效的办法就是将应用系统的功能拓展到手机终端上。本文选择的是最常见的Android系统的程序开发。对于软件从业人员来说,该平台具有无限的吸引力。 因此,本文首先介绍安卓系统在个人计算机上开发平台的搭建,并尝试在安卓系统上开发一款基于手机自带GPS组件的GPS应用。 关键字:Android,GPS,SDK,JDK,ADT,Eclipse 一引言 (一)开发背景 随着网络世界的深入生活,地球网络化已经是一条必然之路。而今后的网络也将逐渐的走向移动互联网的轨道。像手机,平板计算机,笔记本计算机等可以搭乘移动互联网的产品中使用人数最多的数码产品便是智能手机了。它已经在逐步的取代其他的电子产品的市场份额。据《2013-2017年中国智能手机行业市场需求预测与投资战略规划分析报告》估算,2012前三季度,全球智能手机用户总数已经突破了10亿大关。而2011前三季度的用户量只有约7亿户。可以看出,智能手机市场的潜力不可估量。

(二)Android 与GPS 简介 1.Android 是一种基于Linux 的自由及开放源代码的操作系统,主要使用于移动设 备,如智能手机和平板计算机,由Google 公 司和开放手机联盟领导及开发。 2011年第一季度,Android 在全球的市场份额首次超过塞班系统,跃居全球第一。 2012年11月数据显示,Android 占据全球智能手机操作系统市场76%的份额,中国市场占有率为90%。 Android 的系统架构和其操作系统一 样,采用了分层的架构。从架构图看, Android 分为四个层,从高层到低层分别是应用程序层、应用程序框架层、系统运 行库层和Linux 内核层。 Android 系统所具有的特点有:开放性、丰富的硬件、方便开发。 2.GPS 是英文Global Positioning System (全球定位系统) 的简称。GPS 起始于1958年美国军方的一个项目, 1964年投入使用。GPS 定位的基本原理是根据高速运动的卫星瞬间位置作为已知的起算数据,采用空间距离后方交会的方法,确定待测点的位置。GPS 由空间部分、地面控制系统、用户设备部分三部分组成。作为先进的测量手段和新的生产力,GPS 已经融入了国民经济建设、国防建设和社会发展的各个应用领域。GPS 技术与我们的日常生活日益相关。

Android应用软件开发高级工程师考试试题

CEAC国家信息化中心计算机教育认证 (Android应用软件开发高级工程师) 考试试卷(综合) 姓名__________身份证号_______________成绩__________ 单选题 1:以下哪个不是Adapter的子类接口?( 1 分)( ) A:ListAdatper B:SpinnerAdapter C:WrapperListAdapter D:SimpleAdatper 2:定义字符串:String str=”abcdefg”;则str.indexOf(‘d’)的结果是()。(1 分) A:‘d’B:true C: 3 D:4 3:下面关于包的说明正确的是()。( 1 分) A:包把相关的类组织在一个目录下,便于引用 B:只有public 类才能放到包中 C:不同源文件中的类不能放到同一个包中 D:包的申明必须放到程序的第一行 4:一维数组arr,如何获取其数组元素数量()。( 1 分) A:arr.size B:arr.size-1 C:arr.length-1 D:arr.length 5: Android应用程序的四大组件是指()。( 2 分) A:Activity、Dialog、Service和Intent B:Activity、Service、BroadCast Receiver和Content Provider C:Activity、Service、BroadCast Receiver和Intent D:Activity、Dialog、Service和Content Provider

6下面哪个方法不属于InputStream类?( 2 分)( ) A:int read(byte[]) B:void flush() C:int read() D:void close() 7:给定下列代码: public class Person{ static int arr[]=new int[10]; public static void main(String a[]){ System.out.println(arr[1]); } } 下列说法正确的有()。( 2 分) A:编译时程序将发生错误 B:编译时程序正确但是运行时出错 C:输出为0 D:输出为null 8:访问Student类中的number成员之值哪种方式正确?()class Student{ private static int number=1; public static int getNumber(){ return number; } } ( 2 分) A:Student.number; B:new student().number; C:Student.getNumber(); D:new student().getnumber(); 9:Activity中onCreate(Bundle savedInstanceState)方法中的参数为saveInstanceState,关于saveInstanceState的错误的描述是()。( 2 分) A:saveInstanceState参数采用key-value的形式存储数据 B:saveInstanceState保存的是Activity的实例状态

Android开发流程

Android开发流程 1.创建Android project(HelloWorld项目) 打开Eclipse,点击菜单【File】-à【New】,过程如下图所示. 进入如下对话框

选择【Android Projet】,点击【Next】,进入如下界面。 创建项目选项卡的相关属性 【New Android Project】选项卡属性介绍

Project name 项目名称,本例指定为“HelloWorld”. Contents 设定项目存放的位置,默认放于Workspace中。 Build Target 设定项目运行的目标版本,我们选择最新版本Android 2.2,这就意味着这个项目是基于Android 2.2 版本开发的。 Application name 本项目的应用名称为“Android,你好”。应用名称会在手机程序列表中该应用的图标下方显示,并且在该项目运行时应用名称会在标题栏显示。 Package name 本项目的包名为“com.simcomandroid.hello”. 包结构是java语言的一种规范。 Create Activity ADT会根据此名称自动为项目创建同名的Activity类,建议以“Activity”作为后缀,方便阅读和理解,该项可选,如果不需要ADT自动生成Activity,则可以不选。本例指定为“HelloActivity”. Min SDK V ersion 8这个数字代表了该项目运行的Andriod平台的最低版本是Android 2.2 .比2.2低的版本都不能运行该项目。

最终【New Android Project】选项卡如下图,

Android开发环境搭建图解教程(完整过程详细步骤)

Android开发环境搭建图解教程 一、开发环境搭建 在搭建Android开发环境之前,首先要了解Android对操作系统的要求:Android可以运行在Windows XP及以上的版本上,也可以运行在Mac OS和Linux 等操作系统上,本文以Windows XP为依托进行Android开发环境搭建的讲解。1.安装JDK和配置Java开发环境 Android应用程序开发使用Java语言,因此首先需要搭建Java程序开发运行环境,Java的开发环境称为JDK(Java Development Kit),是Sun Microsystems 针对java程序员开发的产品,自从Java推出以来,JDK已经成为最广泛的Java SDK。JDK是整个Java的核心,包括了Java运行环境JRE(Java Runtime Environment)、Java工具和Java基础类库。 1.1 下载JDK 当前最新版JDK的下载地址为: .oracle./technetwork/java/javase/downloads/jdk-7u2-download-1377129.html 图 1 - 1 1.2 配置JDK

右键点击“我的电脑”,选择“属性”→“高级”→“环境变量”→“系统变量”,找到“Path”变量名(如果没有就新建一个名为“Path”的变量),点击“编辑”按钮,添加JDK安装目录中的“bin”文件夹路径,以分号隔开,如图1-2所示,然后点击“确定”按钮完成设定。 图 1 - 2 再找到“CLASSPATH”变量(如果没有,以同样方法新建一个),输入JDK 安装目录中的“lib”及“demo”的路径,如图1-3所示,点击“确定”按钮完成设定。 1.3 验证JDK是否安装配置成功 安装配置完成之后,需要测试JDK是否安装配置成功。在Windows XP系统中点击“开始”→“运行”,输入“CMD”回车进入命令行模式,键入命令“java -version”,运行结果如图 1-4所示,表示安装JDK安装成功(显示的版本号根据具体情况可能有所不同)。 然后键入命令“javac”,运行结果如图1-5所示,表示JDK环境配置正确。

android开发试卷

一、选择题(本大题共20题,每题2分,共40,不写多选为单选)。 注意:请把答案填入答题纸的相应位置上,否则不得分! 1.在activity_main.xml中,定义一个组件时,有两个属性必须写( )(多选) A、A android:layout_width B、B android:layout_height C、C android:id="@+id/start" D、D android:text 2.微信app安装一般会申请如下权限( ) (多选) A、读取地位位置信息 B、读取通讯录 C、读取短信 D、发送通知 3.android常见三种数据存储与访问的方式()(多选) A、文件 B、数据库 C、sharedpreference D、内容提供者 4.下列哪些api的操作需要声明权限()(多选) A、播放声音 B、写SD卡(读sd卡状态) C、发短信 D、打电话 5.LBS定位技术的描述的是( )(多选) A、大部分联网app需要申请LBS权限 B、地图导航中需要用到该技术 C、GPS无信号的情况下LBS功能不能用。 D、Wifi无线即使没有连接也能改善LBS定位的精度 6.以下那个一般用来用来显示图片widget是( ) A、ImageView B、TextView C、Button D、Spinner 7.Android的activity中,一般代码在练习的时候写在了()函数中 a)onCreate b)onStart c)onStop d)onDestory 8.Android开发中常用的数据库是: a)SQL Server b)MySQL c)SQLite d)Oracle 9.以下调整宽度和高度的属性,哪个不是Android系统提供的? a)Match_parent b)Wrap_content c)Fill_content d)Fill_parent 10.从其他应用中读取共享的数据库数据,需要用到的是query方法,返回Cursor数据,那么这 个方法是哪个对象的方法? a)ContentProvider b)ContentResolver c)SQLiteOpenHelper d)SQLiteDataBase 11.常见可用的推送技术提供者包括(多选) a)阿里云推送 b)百度云推送 c)极光推送 d)腾讯推送 12.Android项目中assets目录的作用是什么? a)放置字符串,颜色等信息 b)放置图片资源 c)放置较大的文件资源 d)放置界面布局配置 13.以下哪个对象是自定义组件中用来绘制内容的对象 a)Bitmap b)Canvas c)BufferedImage d)Drawable 14.以下属性中哪个属性是LinearLayout拥有但RelativeLayout没有的属性 a)android:layout_width b)android:layout_height c)android:layout_weight d)android:background 15.启动activity对一些资源以及状态的读取,可以在生命周期的哪个函数中进行( ) A、onPause() B、onCreate() C、onResume() D、onStart() 16.Activity生命周期的最初执行 A、onCreate B、onPause 17.onPause什么时候调用( ) A.当界面启动时 B.当onCreate方法被执行之后 C.当界面被隐藏时 D.当界面重新显示时 18.关于适配器的说法正确的有( ) A.它主要是用来存储数据 B.它主要用来把数据绑定到组件上

Android程序开发课程标准

《Android程序开发》课程标准 课程编码:01012**** 课程类别:专业必修 适用专业:计算机应用技术授课单位:软件设计教研室 学分:?学时:?*? 编写执笔人及编写日期:董礼 2012.1.6 审定负责人及审定日期: 一、制定课程标准的依据 本课程标准的制定依据是以教高[2006]16号文件的精神为指导,结合高职高专教育中计算机应用技术专业的办学理念及社会所需人才为标准。 二、课程的性质与作用 课程的性质该课程是计算机应用技术专业Java方向的专业课程 课程的作用学习Android程序开发课程首先能让学生熟悉Android系统,进而能够掌握为使用该系统的便携设备设计程序的能力。 三、课程设计理念及思路 课程设计理念:高职教育的集中实践教学环节也要明确必要的理论知识深化和拓展的要求,不能局限于单纯的技能训练作用。单纯的技能训练不是高职教育的理想课程。以职业能力培养为重点,以就业为导向,培养学生具备职业市场所需的职业能力,生涯发展所需的能力和终身学习的能力。 课程设计思路:基于工作过程开发课程,以行动导向进行教学设计,以学生为主体,以实训为手段,设计出理论学习与技能掌握相融合的课程内容体系。教学整体设计“以职业技能培养为目标、以施工任务(项目)为载体、理论学习与实践操作结合。 四、本课程与其它课程的关系

表1 与前期课程的关系 五、课程的教学目标 通过这门课程的学习,使学生对Android程序开发有一个全面的了解,掌握相关的知识点,在软件设计中能灵活地运用这几种技术进行系统开发。 职业能力目标:培养学生编写规范化的程序代码,自主的学习能力,良好的与人沟通能力,良好的团队合作精神。 六、课程的内容与要求 按照课程教学目标及岗位职业素质的要求,结合学生的认知特点,设计教学单元和教学内容如下:

android软件安装原理

android 软件安装原理 将apk中的dex文件安装到dalvik-cache目录下(dex文件是dalvik虚拟机的可执行文件,其大 小约为原始apk文件大小的四分之一) 安装过程:复制APK安装包到data/app目录下,解压并扫描安装包,把dex文件(Dalvik字 节码)保存到dalvik-cache目录,并data/data目录下创建对应的应用数据目录。 卸载过程:删除安装过程中在上述三个目录下创建的文件及目录。 一、系统应用安装: PackageManagerService处理各种应用的安装,卸载,管理等工作,开机时由systemServer启 动此服务 (源文件路径: android\frameworks\base\services\java\com\android\server\PackageManagerService.java) PackageManagerService服务启动的流程: 1. 首先扫描安装“system\framework”目录下的jar包 1. scanDirLI(mFrameworkDir,PackageParser.PARSE_IS_SYSTEM, scanMode | SCAN_NO_DEX); 2.第二步扫描安装“system\app”目录下的各个系统应用 scanDirLI(mSystemAppDir,PackageParser.PARSE_IS_SYSTEM, scanMode); 3.第三步扫描“data\app”目录,即用户安装的第三方应用 scanDirLI(mAppInstallDir, 0, scanMode); 4.第四步扫描" data\app-private"目录,即安装DRM保护的APK文件(目前没有遇到过此类 的应用)。 scanDirLI(mDrmAppPrivateInstallDir,0, scanMode | SCAN_FORWARD_LOCKED); 安装应用的过程 1.scanDirLI(Filedir, int flags, intscanMode) 遍历安装指定目录下的文件 2.scanPackageLI(FilescanFile, File destCodeFile, FiledestResourceFile, intparseFlags, intscanMode) 安装package文件 3.scanPackageLI( File scanFile, File destCodeFile, FiledestResourceFile, PackageParser.Packagepkg, intparseFlags, intscanMode) 通过解析安装包parsePackage获取到安装包的信息结构 4.mInstaller.install(pkgName,pkg.applicationInfo.uid, pkg.applicationInfo.uid); 实现文件复制的安装过程 (源文件路径:frameworks\base\cmds\installd\installd.install) 二、从market上下载应用: Google Market应用需要使用gmail账户登录才可以使用,选择某一应用后,开始下载安装包,此过程中,在手机的信号区有进度条提示,下载完成后,会自动调用Packagemanager的接 口安装,调用接口如下: publicvoidinstallPackage(final Uri packageURI, final IPackageInstallObserverobserver,finalint flags) final Uri packageURI:文件下载完成后保存的路径 final IPackageInstallObserver observer:处理返回的安装结果

相关文档
最新文档