当前位置: 网学 > 编程文档 > Android > 正文

Android资料

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: myeducs.cn 发布时间: 13/03/17

【网学网提醒】:网学会员为您提供Android资料参考,解决您在Android资料学习中工作中的难题,参考学习


    1.简单描述Android中有哪几种布局?你在项目中最经常使用哪几种?
    2.请用xml布局的方式简单写一下下面的UI。(图片省略,可根据自身的项目要求提供。)
    3.简单描述Android中常用的几种数据存储方式。你在最近的项目中用到哪几种?
    4.View,SurfaceView,GLSurfaceView有什么区别?你认为应用开发一般使用哪种?游戏开发呢?
    5.简述Android中sp、dp、px的区别。你在项目中一般使用哪种方式?
    6.你在项目过程中是否发现某个API在不同SDK版本上有差异?请给出两个,并简述。
    7.在Android中,线程之间通信一般使用什么方式?应用程序之间通信呢?
    8.请简述使用NDK的大致过程。
    9.Android应用对于内存的大小是有限制的,请简述几种解决办法。
    10.Android应用容易发生ANR错误,请简述几种避免ANR错误的办法。
    1.为了降低android程序的内存使用峰值和APK文件的大小,我们一般使用_____________工具对资源图进行额外处理。
     2.Android系统会自动派发各种事件,事件从触发到相应的程序相应的派发顺序是_________。3.发布Android程序时,APK文件要先签名,再用Zipalign做4字节对齐。)(4.实现多个进程共享数据的时候,只要设置AndroidManifest文件的shareUserId属性即可,签名可以不一致()。5.在JNI的实现代码中,如果要实现跨线程调用JNI接口,我们需要先调用jni.h中的_________函数,跨线程调用JNI接口完毕后,再调用jni.h中的____________________函数来善后。6.如果一个Activity被设置为“singleTop”模式并且还驻留在后台,此时再通过startActivity启动这个Activity时,Activity的_______________成员函数会被最先回调到,我们一般在这个回调函数中来处理相关逻辑。PS:3、4题是判断题,其它是填空题。
    1:draw9path2:WindowsManager->phoneWiondw->Activity?3:是的4:是的5:不会6:onNewIntent();
    1.请谈一下Android系统的架构。答:Android系统采用了分层架构,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和linux核心层。2.谈谈android大众常用的五种布局。答:Android中,在共有五种布局方式,分别是:FrameLayout(框架布局),LinearLayout(线性布局),AbsoluteLayout(绝对布局),RelativeLayout(相对布局),TableLayout(表格布局)。(1)FrameLayout框架布局,放入其中的所有元素都被放置在最左上的区域,而且无法为这些元素指定一个确切的位置,下一个子元素会重叠覆盖上一个子元素,适合浏览单张图片。(2)LinearLayout线性布局,是应用程序中最常用的布局方式,主要提供控件水平或者垂直排列的模型,每个子组件都是以垂直或水
    平的方式来定位.(默认是垂直)(3)AbsoluteLayout绝对定位布局,采用坐标轴的方式定位组件,左上角是(0,0)点,往右x轴递增,往下Y轴递增,组件定位属性为android:layout_x和android:layout_y来确定坐标。(4)RelativeLayout相对布局,根据另外一个组件或是顶层父组件来确定下一个组件的位置。和CSS里面的类似。(5)TableLayout表格布局,类似Html里的Table.使用TableRow来布局,其中TableRow代表一行,TableRow的每一个视图组件代表一个单元格。
     3.谈谈android数据存储方式。答:Android提供了5种方式存储数据:(1)使用SharedPreferences存储数据;它是Android提供的用来存储一些简单配置信息的一种机制,采用了XML格式将数据存储到设备中。只能在同一个包内使用,不能在不同的包之间使用。(2)文件存储数据;文件存储方式是一种较常用的方法,在Android中读取/写入文件的方法,与Java中实现I/O的程序是完全一样的,提供了openFileInput()和openFileOutput()方法来读取设备上的文件。(3)SQLite数据库存储数据;SQLite是Android所带的一个标准的数据库,它支持SQL语句,它是一个轻量级的嵌入式数据库。(4)使用ContentProvider存储数据;主要用于应用程序之间进行数据交换,从而能够让其他的应用保存或读取此ContentProvider的各种数据类型。(5)网络存储数据;通过网络上提供给我们的存储空间来上传(存储)和下载(获取)我们存储在网络空间中的数据信息。4.Android中Activity,Intent,ContentProvider,Service各有什么区别。答:Activity:活动,是最基本的android应用程序组件。一个活动就是一个单独的屏幕,每一个活动都被实现为一个独立的类,并且从活动基类继承而来。Intent:意图,描述应用想干什么。最重要的部分是动作和动作对应的数据。ContentProvider:内容提供器,android应用程序能够将它们的数据保存到文件、SQLite数据库中,甚至是任何有效的设备中。当你想将你的应用数据和其他应用共享时,内容提供器就可以发挥作用了。Service:服务,具有一段较长生命周期且没有用户界面的程序。5.View,surfaceView,GLSurfaceView有什么区别。答:view是最基础的,必须在UI主线程内更新画面,速度较慢。SurfaceView是view的子类,类似使用双缓机制,在新的线程中更新画面所以刷新界面速度比view快GLSurfaceView是SurfaceView的子类,opengl专用的6.Adapter有什么作用?常见的Adapter有哪些?答:Adapter是连接后端数据和前端显示的适配器接口。常见的Adapter有ArrayAdapter,BaseAdapter,CursorAdapter,HeaderViewListAdapter,ListAdapter,ResourceCursorAdap
    ter,SimpleAdapter,SimpleCursorAdapter,SpinnerAdapter,WrapperListAdapter等7.Manifest.xml文件中主要包括哪些信息?答:manifest:根节点,描述了package中所有的内容。uses-permission:请求你的package正常运作所需赋予的安全许可。permission:声明了安全许可来限制哪些程序能你package中的组件和功能。instrumentation:声明了用来测试此package或其他package指令组件的代码。application:包含package中application级别组件声明的根节点。activity:Activity是用来与用户交互的主要工具。
     receiver:IntentReceiver能使的application获得数据的改变或者发生的操作,即使它当前不在运行。service:Service是能在后台运行任意时间的组件。provider:ContentProvider是用来管理持久化数据并发布给其他应用程序使用的组件。8.请写一段代码(SAX,DOM,或者pull)来解析XML文档。答:下面是要解析的XML文件:
    张三22李四23
    定义一个名为Person的javaBean用于存放上面解析出来的xml内容
    publicclassPerson{privateIntegerid;privateStringname;privateShortage;publicIntegergetId(){returnid;}publicvoidsetId(Integerid){this.id=id;}publicStringgetName(){returnname;}publicvoidsetName(Stringname){this.name=name;}publicShortgetAge(){
     returnage;}publicvoidsetAge(Shortage){this.age=age;}}
    (1)使用SAX读取XML文件;它采用的是事件驱动,并不需要解析完整个文档,速度快并且占用内存少。需要为SAX提供实现ContentHandler接口的类。PersonDefaultHandler.java
    importjava.util.ArrayList;importjava.util.List;importorg.xml.sax.Attributes;importorg.xml.sax.SAXException;importorg.xml.sax.helpers.DefaultHandler;importcom.sinber.domain.Person;publicclassPersonDefaultHandlerextendsDefaultHandler{privateListpersons;privatePersonperson;//记录当前personprivateStringperTag;//记录前一个标签的名称/***重写父类的开始文档方法。用于初始化*/@OverridepublicvoidstartDocument()throwsSAXException{persons=newArrayList();}@OverridepublicvoidstartElement(Stringuri,StringlocalName,StringqName,Attributesattributes)throwsSAXException{if("person".equals(localName)){Integerid=newInteger(attributes.getValue(0));//取idperson=newPerson();person.setId(id);}perTag=localName;}
     /**参数:*ch整个XML字符串*start节点值在整个XML字符串中的索引位置*length节点值的长度*/@Overridepublicvoidcharacters(char[]ch,intstart,intlength)throwsSAXException{if(perTag!=null){Stringdata=newString(ch,start,length);if("name".equals(perTag)){person.setName
    (data);}elseif("age".equals(perTag)){person.setAge(newShort(data));}}}@OverridepublicvoidendElement(Stringuri,StringlocalName,StringqName)throwsSAXException{if("person".equals(localName)){persons.add(person);person=null;}perTag=null;}publicListgetPersons(){returnpersons;}}
    SAXPerson.java
    importjava.io.InputStream;importjava.util.List;importjavax.xml.parsers.SAXParser;importjavax.xml.parsers.SAXParserFactory;importcom.sinber.domain.Person;publicclassSAXPerson{publicstaticListgetPerson()throwsException{//通过类装载器获取文件
     InputStreaminStream=SAXPersonService.class.getClassLoader().getResourceAsStream("person.xml");SAXParserFactoryfactory=SAXParserFactory.newInstance();SAXParsersaxParser=factory.newSAXParser();PersonDefaultHandlerhandler=newPersonDefaultHandler();saxParser.parse(inStream,handler);inStream.close();returnhandler.getPersons();}}
    (2)DOM解析XML文件时,会将XML文件的所有内容读取到内存中,然后允许您使用DOMAPI遍历XML树、检索所需的数据。DOMPerson.java
    importjava.io.InputStream;importjava.util.ArrayList;importjava.util.List;importjavax.xml.parsers.DocumentBuilder;importjavax.xml.parsers.DocumentBuilderFactory;importorg.w3c.dom.Document;importorg.w3c.dom.Element;importorg.w3c.dom.Node;importorg.w3c.dom.NodeList;importcom.sinber.domain.Person;publicclassDOMPerson{publicstaticListgetPerson()throwsException{Listpers=newArrayList();InputStreaminStream=SAXPersonService.class.getClassLoader().getResourceAsStream("person.xml");DocumentBuilderFactoryfactory=DocumentBuilderFactory.newInstance();DocumentBuilderbuilder=factory.newDocumentBuilder();Documentdom=builder.parse(inStream);Elementroot=dom.getDocumentElement();NodeListpersons=root.getElementsByTagName("person");for(inti=0;i     for(intj=0;j    (3)使用Pull解析器读取XML文件PullPerson.java
    importjava.io.File;importjava.io.FileOutputStream;importjava.io.InputStream;importjava.util.ArrayList;importjava.util.List;importorg.xmlpull.v1.XmlPullParser;importorg.xmlpull.v1.XmlSerializer;importandroid.os.Environment;importandroid.util.Xml;importcom.sinber.domain.Person;publicclassPullPerson{publi
    cstaticvoidsave(Listpersons)throwsException{XmlSerializerserializer=Xml.newSerializer();Filefile=newFile(Environment.getExternalStorageDirectory(),"person.xml");FileOutputStreamoutStream=newFileOutputStream(file);serializer.setOutput(outStream,"UTF-8");serializer.startDocument("UTF-8",true);serializer.startTag("","persons");for(Personperson:persons){serializer.startTag("","person");//personserializer.attribute("","id",""+person.getId());serializer.startTag("","name");//name
     serializer.text(person.getName());serializer.endTag("","name");//nameserializer.startTag("","age");//ageserializer.text(person.getAge().toString());serializer.endTag("","age");//ageserializer.endTag("","person");//person}serializer.endTag("","persons");serializer.endDocument();outStream.close();}publicstaticListgetPersons()throwsException{Listpersons=null;Personperson=null;XmlPullParserparser=Xml.newPullParser();InputStreaminStream=PullPersonService.class.getClassLoader().getResourceAsStream("person.xml");parser.setInput(inStream,"UTF-8");inteventType=parser.getEventType();//触发第一个事件while(eventType!=XmlPullParser.END_DOCUMENT){switch(eventType){caseXmlPullParser.START_DOCUMENT:persons=newArrayList();break;
    caseXmlPullParser.START_TAG://开始元素事件if("person".equals(parser.getName())){person=newPerson();person.setId(newInteger(parser.getAttributeValue(0)));}elseif(person!=null){if("name".equals(parser.getName())){person.setName(parser.nextText());}elseif("age".equals(parser.getName())){person.setAge(newShort(parser.nextText()));}}break;
    caseXmlPullParser.END_TAG://结束元素事件if("person".equals(parser.getName())){persons.add(person);person=null;
     }break;default:break;}eventType=parser.next();}returnpersons;}}
    以上三种方式任选其一即可。9.根据自己的理解描述下Android数字签名。答:(1)所有的应用程序都必须有数字证书,Android系统不会安装一个没有数字证书的应用程序(2)Android程序包使用的数字证书可以是自签名的,不需要一个权威的数字证书机构签名认证(3)如果要正式发布一个Android,必须使用一个合适的私钥生成的数字证书来给程序签名,而不能使用adt插件或者ant工具生成的调试证书来发布。(4)数字证书都是有有效期的,Android只是在应用程序安装的时候才会检查证书的有效期。如果程序已经安装在系统中,即使证书过期也不会影响程序的正常功能。
    10.已知单链表的头结构head,写一个函数把这个链表逆序。答:如下所示Node.java
    publicclassNode{privateIntegercount;privateNodenextNode;publicNode(){}publicNode(intcount){this.count=newInteger(count);}publicIntegergetCount(){returncount;}publicvoidsetCount(Integercount){this.count=count;
     }publ
    icNodegetNextNode(){returnnextNode;}publicvoidsetNextNode(NodenextNode){this.nextNode=nextNode;}}
    ReverseSingleLink.java
    publicclassReverseSingleLink{publicstaticNoderevSingleLink(Nodehead){if(head==null){//链表为空不能逆序returnhead;}if(head.getNextNode()==null){//如果只有一个结点,当然逆过来也是同一个returnhead;}Noderhead=revSingleLink(head.getNextNode());head.getNextNode().setNextNode(head);head.setNextNode(null);returnrhead;}publicstaticvoidmain(String[]args){Nodehead=newNode(0);Nodetemp1=null,temp2=null;for(inti=1;i<100;i++){temp1=newNode(i);if(i==1){head.setNextNode(temp1);}else{temp2.setNextNode(temp1);}temp2=temp1;}head=revSingleLink(head);while(head!=null){head=head.getNextNode();}}}
    11.根据自己的理解描述下Android安卓数字签名。
     (1)所有的应用程序都必须有数字证书,Android系统不会安装一个没有数字证书的应用程序。(2)Android程序包使用的数字证书可以是自签名的,不需要一个权威的数字证书机构签名认证。(3)如果要正式发布一个Android,必须使用一个合适的私钥生成的数字证书来给程序签名,而不能使用adt插件或者ant工具生成的调试证书来发布。(4)数字证书都是有有效期的,Android只是在应用程序安装的时候才会检查证书的有效期。如果程序已经安装在系统中,即使证书过期也不会影响程序的正常功能。
    1、一条最长的短信息约占多少byte?中文70(包括标点),英文160个字节2、android中的动画有哪几类,它们的特点和区别是什么?两种,一种是Tween动画、还有一种是Frame动画。Tween动画,这种实现方式可以使视图组件移动、放大、缩小以及产生透明度的变化;另一种Frame动画,传统的动画方法,通过顺序的播放排列好的图片来实现,类似电影。3、handler机制的原理andriod提供了Handler和Looper来满足线程间的通信。Handler先进先出原则。Looper类用来管理特定线程内对象之间的消息交换(MessageExchange)。1)Looper:一个线程可以产生一个Looper对象,由它来管理此线程里的MessageQueue(消息队列)。2)Handler:你可以构造Handler对象来与Looper沟通,以便push新消息到MessageQueue里;或者接收Looper从MessageQueue取出)所送来的消息。3)MessageQueue(消息队列):用来存放线程放入的消息。4)线程:UIthread通常就是mainthread,而Android启动程序时会替它建立一个MessageQueue。4、activity被回收了怎么办?如果被系统destroy了,也就是说的回收,只有从新start了5、在Java中如何引入C语言?
     java调用C语言程序,可以用JNI接口来实现
    1.关于线程下面描述错误的是:(D)A.如果线程处于死亡状态,则它不
    是Runnable线程B.线程可以将控制权交给较低优先级的线程C.在Java中,较高优先级的Runnable线程应抢在较低优先级线程前面执行D.分时技术允许线程一直运行,直到时间片内的时间用完。然后执行相同优先级的其它线程
    2.下列哪个方法能将Sprite对象进行旋转:(A)A.setTransform(...)B.setPosition(...)C.setFrameSequence(...)D.setPosition(...)
    3.下列不属于PNG图像格式缺点的是(B)A.PNG图像格式不支持单个档案存储多张图片B.PNG图像格式支持单个档案存储多张图片C.PNG图像格式不支持CYMK模式D.PNG图像格式没有存储DPI信息4.下列哪一项属于J2ME中所使用的虚拟机类型:(C)A.JVM(java虚拟机)B.DVMC.CVM(或KVM)D.CardVM5.键盘事件处理方法中,以下哪个方法是用来处理键盘按键的释放事件的(B)A.keyPressed(intkeyCode)B.keyReleased(intkeyCode)C.keyRepeated(intkeyCode)D.pointerPressed(intx,inty)6.下列中不属于CLDC这种配制的设备是:(D)CLDC-“手持设备”CDC-“从墙取电设备”
     A.PDAB.手机C.寻呼机D.机顶盒7.编写语句,将下面各种范围内的随机整数赋给变量n,赋值正确的是:(D)n<=x<=m则x=(int)(n+Math.random()*(m-n+1))取值的最小数字范围注:如果直接random的话数字从0开始A.1小于等于n,n小于等于2解:n=(int)(1+Math.random()*2);B.1小于等于n,n小于等于100解:n=(int)(1+Math.random()*100);C.0小于等于n,n小于等于9解:n=(int)(Math.random()*10);D.以上解都对8.下列不属于CLDC1.1核心类库与J2SE核心类库的主要区别的是:(A)A.不支持线程组或守护线程B.不支持浮点数据类型C.不支持弱引用D.有限的错误处理9.下列选项中不属于MIDlet套件的是(C)A.附在JAR文件中Java类文件B.描述JAR文件内容的清单文件C.CVM虚拟机D.JAM(应用程序管理器)10.描述JAR文件内容的清单文件manifest.mc中不必须的属性是:(A)A.MIDlet-Info-URLB.MIDlet-VendorC.MIDlet-NameD.MIDlet-Version11.J2ME使用配置和简表指定Java运行时环境,下列属于简表的功用的是:(D)A.简表通过添加特定于域的类来定义应用程序取值
     B.简表是针对某一系列设备提供的开发包(API)的集合C.简表是针对特定设备提供的类库D.以上描述都正确12.以下是一个创建记录仓库的示例,描述正确的是:(D)privateRecordStorers=null;try{rs=RecordStore.openRecordStore(“testRMS”,false);}catch(Exceptione){}
    A.该示例创建记录仓库名为testRMS,如果该记录仓库存在则不作任何处理B.该示例创建记录仓库名为testRMS,如果该记录仓库存在则打开C.该示例创建记录仓库名为testRMS,如
    果该记录仓库不存在则抛出异常D.该示例创建记录仓库名为testRMS,如果该记录仓库不存在则不作任何处理13.属于JAD描述文件与JAR清单文件中都必须包含的属性是:(B)A.MIDlet-Jar-URLB.MIDlet-VersionC.MIDlet-Jar-SizeD.MIDlet-Icon14.下面属于J2ME体系结构中的内容是:(D)A.ConfigurationsB.ProfilesC.OptionalPackagesD.以上都是15.下列中不属于CDC这种配制的设备是(D)CLDC-“手持设备”CDC-“从墙取电设备”A.机顶盒B.车载计算设备C.数字电视D.PDA16.继承MIDlet类必须复写的方法是:(D)A.startApp()
     B.pausedApp()C.destroyedApp(booleanu)D.以上都要复写17.J2ME用户界面组件分为高阶用户界面组件和低阶用户界面组件,以下描述正确的是:(D)A.Screen类属于低阶用户界面组件B.Canvas类属于高阶用户界面组件C.Screen类和Canvas都属于高阶用户界面组件D.Displayable类是Screen类和Canvas类的父类18.J2ME的MIDP1.0标准版本,支持的图像格式是:(B)A.bmpB.pngC.gifD.jpg19.在Command之中共定义了八种命令型态,以下选项中列举了其中几个,其中优先级最高的是:(A)//數字越低,優先級越高A.Command.BACK优先级2B.Command.ITEM优先级8C.Command.HELP优先级5D.Command.STOP优先级620.与异常有关的一些方法,下列描述正确的是:(C)A.printStackTrace方法将堆栈记录信息输出到流中,而不是输出到标准错误流中B.getStackTrace方法向标准错误流输出一个错误信息,其中包含异常的类名C.getMessage方法返回异常所存储的描述性字符串D.以上描述都对21.在List列表类中定义了三种选择类型,其中代表单选模式的选项是:(A)A.exclusiveB.ImplicitC.multipleD.以上都不是22.List列表类中定义了三种选择类型,其中哪一个能够呼叫commandAction()函数:(A)
     A.ImplicitB.exclusiveC.multipleD.以上都不可23.TextBox类用于输入数据,其中该类针对输入类型定义了几个限制约束,其中代表只能输入数字的是:(A)A.NUMERICB.DECIMALC.PHONENUMBERD.URL24.TextBox类用于输入数据,其中该类针对输入类型定义了几个限制约束,其中可以实现任意输入的是:(A)A.ANYB.URLC.EMAILADDRD.以上均可25.使用TextBox实现输入框时,决定使用的限制类型为只能输入数字类型的密码限制,下面编写正确的是:(D)TextField.NUMERIC|TextField.PASSWORDA.SENSITIVE|PASSWORDB.UNEDITABLE|PASSWORDC.NUMERIC|PASSWORDD.以上都不对26.属于能够操纵List列表类中元素的方法是:(D)A.appendB.deleteC.insertD.以上均是27.以下描述正确的是:(D)A.抽象类的所有方法都必须是抽象方法B.子类变量引用超类对象的做法是危险的C.内部类不允许访问包装类的成员
    D.父类是抽象类,子类要成为具体类,就必须实现父类的所有方法
     28.关于ALert类下面描述正确的是:(D)A.先发出一段声音,然后将自己秀在屏幕上,过一段时间之后,它会自动跳回之前的画面B.必须在显示Alert之前定义好它可以跳回的画面,否则会发生异常C.如果想要Alert一直保持在自己的画面上,就要使用方法FOREVER()D.以上都对29.Form是J2ME里面比较重要的容器类型,它必须配合Item类来使用,不属于Item类的子类的是:(D)A.TextFieldB.StringItemC.ChoiceGroupD.TextBox30.Item类的子类中,哪一个在与Form类结合使用的时候能生成与使用TextBox时相似的效果:(B)A.DateFieldB.TextFieldC.StringItemD.Gauge31.关于abstract抽象类描述正确的是:(A)A.不能生成抽象的构造函数B.可以生成抽象的static方法C.允许生成private的抽象方法D.以上描述都对32.StringItme类和Form类结合使用时,采用HYPERLINK或者BUTTON外观模式的条目并不能干任何事情,要让Item有效需要作哪些事情:(C)A.程序必须至少添加一个命令到条目中B.程序必须至少添加一个命令到条目中,最好命令被设置成默认的命令C.实际实现了超级链接或者按钮的动作的ItemCommandListener必须被注册D.以上都要做33.Item类的子类中,哪一个在与Form类结合使用的时候能生成与使用List时相似的效果:(C)A.Spacer
     B.GaugeC.ChoiceGroupD.TextField34.当使用ChoiceGroup类与Form类结合使用的时候,采用类型限制时,哪一种类型不能使用,如果使用会发生异常:(A)P168A.IMPLICITB.EXCLUSIVEC.MULTIPLED.以上都不可35.Item类的子类中,哪一个在与Form类结合使用的时候能生成进度条的效果:(C)A.SpacerB.ImageItemC.GaugeD.DateField36.代码混淆最不适合在什么时候采用(A)A.手机程序测试的时候B.手机程序编写的时候C.手机程序运行之前D.手机程序将要发行之前37.List和ChoiceGroup类都实现了哪一个接口(B)A.GroupB.ChoiceC.GroupChoiceD.以上都不是38.J2ME中所有高阶图形用户界面组件的父类是:(C)A.Canvas类B.Form类C.Screen类D.Graphics类39.J2ME中所有用来处理低阶图形用户界面组件的父类是:(B)A.Form类
     B.Canvas类C.List类D.Screen类40.一张png格式的图片文件a.png,图片宽70像素,高20像素,被用来创建Spirte,程序如下,下面描述正确的是:(D)Imageimg;try{img=Image.createImage("/a.png");}catch(Exceptione){}
    Spritesprite=newSprite(img,20,20);A.图片被按照每块宽20像素,高20像素的比例分割成三个画面B.图片被按照每块宽20像素,高20像素的比例分割出一个画面C.图片被该Sprite所使用,并将该Sprite的图像描绘到屏幕坐标(
    20,20)的位置上。D.出现异常41.下面对于Display类描述正确的是:(B)A.Display对象在每个MIDlet之中只有2个B.Dispaly对象在每个MIDlet之中只有1个C.Display对象在每个MIDlet之中可以有多个D.Display对象在每个MIDlet根据不同情况可以设置多个42.Display类就像一个画面管理员,获得Display类对象的方法是(参数略):(D)A.getDisplayable(...)B.getCurrent(...)C.setCurrent(...)D.getDisplay(...)
    43.执行repaint()方法可以直接调用哪个方法:(C)A.run();B.start();C.paint();D.doStart();
     44.下面关于LayerManager类描述正确的是:(A)A.一个程序中只允许使用一个LayerManager类B.一个程序中可以使用多个LayerManager类C.LayerManager类只允许添加一个Sprite类的实例作为图层管理的一部分D.LayerManager类可以添加LayerManager类的实例作为图层管理的一部分45.根据下面代码判断变量i最后的值(MIDlet主程序及头部import开发包部分及其他所有代码省略):(A)publicclasstestextendsCanvas{inti;publictest(){i=getWidth();i=getHeight();}
    publicvoidpaint(Graphicsg){
    i=i;}}A.i的值是当前手机模拟器屏幕的高B.i的值是当前手机模拟器屏幕的宽C.i的值是null;D.i的值是0;46.以下对记录仓库描述正确的是:(D)A.数据写入记录仓库后,记录ID号唯一,删除一条记录后,该记录ID号可以重新使用B.记录仓库中的记录ID不是唯一的可以重复使用C.一旦数据写入记录仓库之后,其RecordID就不会再改变(如果删除数据呢?)D.以上描述都不对
    47.使用低级图形用户界面组件需要继承哪一个类:(D)A.Graphics类B.Screen类
     C.Displayable类D.Canvas类
    48.下列方法中哪一个方法能实现在屏幕上描绘出一条虚线(其他部分程序代码省略):(C)publicvoidpaint(Graphicsg){g.setColor(255,255,255);g.fillRect(0,0,getWidth(),getHeight());/*代码段A*/g.setColor(255,0,0);g.drawLine(20,20,100,20);/*代码段B*/g.setColor(125,125,125);g.drawLine(20,25,100,50);g.setStrokeStyle(Graphics.SOLID);/*代码段C*/g.setColor(125,125,125);g.drawLine(20,30,100,50);g.setStrokeStyle(Graphics.DOTTED);/*代码段D*/g.setColor(255,255,255);g.drawLine(20,50,100,50);
    }A.代码段AB.代码段BC.代码段CD.代码段D49.以下方法哪一個可以判断屏幕颜色是否彩色(B)A.setColor(...)B.isColor(...)C.getColor(...)
     D.ifColor(...)50.Layer类是一个抽象类,它有两个子类分别是:(C)A.TiledLayer类和LayerManager类B.TiledLayer类和GameCanvas类C.Sprite类和TiledLayer类D.LayerManager类和Sprite类51.哪个方法可以实现在屏幕上描绘一个实心的扇形(A)A.fillArc(...)B.drawArc(...)C.drawRect(...)D.fillRect(...)52.蓝牙和802.11b技术都属
    于短程通讯技术,以下描述错误的是:(D)A.蓝牙和802.11b都是无线技术,并且都选用了2.4GHz的频谱B.802.11b主要是用来连接耗电的大型设备,如个人计算机及手提电脑等C.蓝牙主要是用来连接耗电极小的小型设备,如PDA和手机等等D.蓝牙技术的数据交流的速度达到11Mb/s,距离可达100米53.利用Runnable接口实现线程必须复写run()方法,这个run()方法是由哪一个方法调用的(A)A.start()B.doStart()C.startApp()D.doRun()54.想要在屏幕正中心显示一个Image图片(创建Image类型对象img加载图片过程代码省略,应选择下列哪一项:(C)A.drawImage(img,0,0,Graphics.TOP|Graphics.VCENTER)B.drawImage(img,getWidth(),getHeight(),Graphics.TOP|Graphics.VCENTER)C.drawImage(img,getWidth()/2,getHeight()/2,Graphics.VCENTER|Graphics.HCENTER)D.drawImage(img,0,0,Graphics.VCENTER|Graphics.VCENTER)55.在屏幕上描绘一个弧线的方法是(其它代码省略):(A)A.drawArc(10,10,0,50,45,90);B.fillRoundRect(5,80,100,20,20,20);
     C.drawRect(5,5,100,20);D.fillRect(5,30,100,20);56.以下哪一个方法可以设置屏幕的颜色(D)A.isColor(...)B.getColor(...)C.ifColor(...)D.setColor(...)57.在突发事件处理中,比如:来电话了,屏幕会被系统画面所覆盖,当恢复原状时,就会调用原本的画面,此时系统会调用哪个方法(A),屏幕被系统覆盖时会调用哪个方法(B):A.showNotify()B.hideNotify()C.notifyPaused()D.notifyDestroyed()58.TiledLayer类中setCell方法作如下使用,下面描述正确的是(其它代码全部省略):(B)ImagetitledImage;try{
    titledImage=Image.createImage("/title1.png");
    }catch(Exceptione)
    TiledLayerbackground=newTiledLayer(3,6,titledImage,64,32);//將圖層分爲3列,6行,圖像titledImage被分塊為寬高為64和32background.setCell(2,3,2);//在圖層的第2列,第3行放入編號為2的分塊圖片(分塊圖片從1開始編號,0表示不填充)A.将图层序列中第2行第3列的位置上的图像设置为被分割后的图象序列中第2个画面的图象B.将图层序列中第3行第2列的位置上的图像设置为被分割后的图象序列中第2个画面的图象C.将图层序列中第3行第2列的位置上的图像设置为不填充D.以上均不对59.键盘事件处理方法中,以下哪个方法是用来处理键盘按键的长时间按住事件的(C)
     A.keyPressed(intkeyCode)B.keyReleased(intkeyCode)C.keyRepeated(intkeyCode)D.pointerPressed(intx,inty)60.Canvas类别里头定义了几个常数,分别代表了手机键盘上与Game键盘代码(方向键)相关的常数,其中代表select键的是下面哪个选项:(B)A.GAME_AB.FIREC.DOWND.RIGHT
    61.在触摸屏事件处理方法中,以下哪个方法是用来处理触目屏幕的拖
    拽事件的方法:(C)A.pointerPressed(intx,inty)B.pointerReleased(intx,inty)C.pointerDragged(intx,inty)D.pointerRepeated(intx,inty)62.创建一个不可修改Image型对象的方法是(其余代码省略):(A)A.Image.createImage("/img/a.png")B.Image.createImage(InputStreamstream)C.Image.createImage(Imagesource)D.以上均可63.取得代表系统预设所使用字型的Font对象的方法是:(A)A.Font.getDefaultFont()B.Font.getFont(intface,intstyle,intsize)C.Font.getFont()D.Font.getFontFace();64.来取得代表特定字型的Font对象的方法是:(A)A.Font.getFont(intface,intstyle,intsize)B.Font.getDefaultFont()C.Font.getFont()D.Font.getFontFace();65.下面哪一个选项是用来设置可以获取一个字体字型的外观为粗体:(B)
     A.Font.FACE_SYSTEMB.Font.STYLE_BOLDC.Font.STYLE_ITALICD.Font.SIZE_LARGE
    66.getBaselinePosition()方法可以用来获得要显示的字符串的什么位置(C)A.字符串高度B.字符串宽度C.字符串基线D.字符串长度67.以下各项哪些类和接口可以实现线程的运作(D)A.Runnable接口B.Thread类C.TimerTask类D.以上均可68.以下是一个利用Timer类和TimerTask类实现线程的一个例子(其余代码和类的设计省略),判断下面代码能实现什么功能:(B)Timertimer=newTimer();//生成一个Timer类的对象timerTasktT=newtimerTask();//该类继承了TimerTask类timer.schedule(tT,100,1000);A.程序启动后等待1秒以后,每隔100毫秒运行一次TimerTask类的run()方法B.程序启动后等待100毫秒以后,每隔1秒运行一次TimerTask类的run()方法C.程序启动后等待10秒以后,每隔1000毫秒运行一次TimerTask类的run()方法D.程序启动后等待1秒以后,每隔10秒运行一次TimerTask类的run()方法69.在MIDP2.0中新增加了一个专门为游戏开发设计的开发包,下面哪一项正确的导入了这个开发包:(C)A.importjavax.microedition.media;B.importjavax.microedition.rms;C.importjavax.microedition.lcdui.game;D.importjavax.microedition.lcdui;70.GameCanvas类继承于哪一个类:(C)A.Screen类
     B.MIDlet类C.Canvas类D.Graphics类71.GameCanvas类获得画布中脱机屏幕上用于作图的Graphics对象的方法是:(B)A.flushGraphics()B.getGraphics()C.getGraphics(Graphicsg)D.flushGraphics(Graphicsg)72.哪个方法可以要求刷新屏幕,将脱机屏幕上的图像绘制到真实屏幕上:(C)A.paint(Graphicsg)B.flush()C.flushGraphics()D.Graphics(Graphicsg)
    73.不属于图形输入设备的是:(A)A.键盘B.摄像机C.触摸板D.鼠标
    74.下列方法中哪一个方法能实现在屏幕上描绘一个实心的直角矩形:(B)A.drawRect(intx,inty,intwidth,intheight)B.fillRect(intx,inty,intwidth,intheight)C.drawRoundRect(intx,inty,intwidt
    h,intheight,intarcWidth,intarcHeight)D.fillRoundRect(intx,inty,intwidth,intheight,intarcWidth,intarcHeight)75.下列方法中哪个方法是Sprite类中用来设置对准点的方法:(B)A.setRefPixelPosition(intx,inty)B.defineReferencePixel(intx,inty)C.setVisible(booleanvisible)D.setPosition(intx,inty)76.判断下列语句哪个正确:(D)A.在线程休眠时,sleep方法会占用处理器时间。B.将方法声明为synchronized,就可以确保不会发生死锁
     C.不提倡使用Thread类的suspend方法,resume方法和stop方法.D.以上描述都正确77.下列方法中哪个方法能够正确设置Sprite对象帧序列(其它代码省略):(C)intarray={0,1,2,3};
    A.setRefPixelPosition(array)B.defineReferencePixe(array)C.setFrameSequence(array)D.setPosition(array)78.下列那个方法不能将Sprite对象移动到指定屏幕坐标位置(x,y)坐标(其它代码省略)(C):intx=50;inty=50;A.setRefPixelPosition(x,y)B.setPosition(x,y)C.setFrameSequence(x,y)D.setPosition(x,y)79.在GameCanvas中定义了静态常量表示哪个按键是否被按下,其中表示select按键的是:(B)A.KEY_STARB.FIRE_PRESSEDC.GAME_STAR_PRESSEDD.FIRE80.下面是获取按键键值并进行判断的程序代码(其它程序代码全部省略),判断语法正确的是:(C)IntkeyState=getKeyStates();
    A.if((keyState|LEFT_PRESSED)!=0)B.if((keyState!LEFT_PRESSED)!=0)C.if((keyState&;LEFT_PRESSED)!=0)D.if((keyState||LEFT_PRESSED)!=0)81.以下代码将对Sprite对象做怎样的操作:(A)setTransform(TRANS_ROT90)
     A.顺时针旋转90度B.逆时针旋转90度C.水平翻转后顺时针旋转90度D.水平翻转后逆时针旋转90度82.下面方法中,哪一个能使Sprite精灵先水平翻转再顺时针旋转180度:(C)A.setTransform(TRANS_MIRROR_ROT90*2)B.setTransform(TRANS_ROT180)C.setTransform(TRANS_MIRROR_ROT180)D.以上均可83.根据以下代码,判断以下关于创建TiledLayer类创建实例的描述正确的是(假设图片正好适用该程序):(B)Imageimg;try{img=Image.createImage("/a.png");}catch(Exceptione){}
    TiledLayertl=newTiledLayer(4,3,img,10,15);A.该程序创建的地图行列数是,4行3列B.该程序创建的地图行列数是,3行4列C.该程序创建的地图行列数是,10行15列D.该程序创建的地图行列数是,15行10列84.下列有关J2SE中Graphics类及方法描述正确的是:(B)A.Graphics类的drawOval方法的前两个参数指定椭圆的圆心坐标B.在Java坐标系统中,x坐标是从左向右增大的C.getSize方法以厘米为单位返回当前字体的大小D.像素坐标(0,0)位于显示器的中心85.远程通讯技术中基本连接框架可以采用多种方式与外界沟通,下面列出了几种连接方式,其中不能使用
    其进行连接的是:(C)A.使用FTP与外界进行沟通B.使用HTTP与外界进行沟通C.使用序列阜与外界进行沟通
     D.使用Datagram与外界进行沟通(数据报,UDP)86.根据以下代码判断,创建TiledLayer类的实例时,所用的图层图像画面被进行了怎样的分割(假设图片正好适用该程序):(B)try{Imageimg=Image.createImage("/a.png");}catch(Exceptione){}
    TiledLayertl=newTiledLayer(4,3,img,15,10);A.图像被按照宽10像素,高15像素的比例进行分割B.图像被按照宽15像素,高10像素的比例进行分割C.图像被按照宽4像素,高3像素的比例进行分割D.图像被按照宽3像素,高4像素的比例进行分割87.关于Sprite类碰撞检测方法描述正确的是:(B)Sprite与Sprite、Sprite与TiledLayer、Sprite与ImageA.可以实现Sprite对象与Layer对象之间的碰撞检测B.可以实现Sprite对象与TiledLayer对象之间的碰撞检测C.可以实现Sprite对象与LayerManager对象之间的碰撞检测D.以上描述都正确88.在制作画面滚动程序时,关于可视窗口与全景地图的概念描述正确的是:(D)A.全景地图就是整个手机屏幕能看到的画面范围B.可视窗口是指能够在手机屏幕范围内看见的画面C.全景地图必须与手机屏幕大小完全一样D.可视窗口是程序控制后所能见到的游戏画面相对于手机屏幕的最大范围89.以下选项中,那一个是LayerManager类中设置可视窗口的方法:(C)A.setWindow(intx,inty,intwidth,intheight)B.setWindowView(intx,inty,intwidth,intheight)C.setViewWindow(intx,inty,intwidth,intheight)D.setView(intx,inty,intwidth,intheight)90.J2ME中实现声音效果是通过Player类和Manager类结合使用完成的,以下创建Player类型对象方法正确的是:(D)
     A.Playerp=Manager.createPlayer("abc.wav");B.InputStreamis=this.getClass().getResourceAsStream("/a.wav");Playerplayer=Manager.createPlayer(is,"audio/x-wav");C.Playerp=Manager.createPlayer("/abc.wav");D.以上均可91.下面对记录管理系统(RecordManagementSystem,RMS)描述正确的是:(B)A.RMS按照给定数据类型进行存储,输入的类型与存储的类型完全一致。B.RMS按照二进制数据(字节排列)的方式进行存储。C.RMS与其它的数据库管理系统一样,数据以表格的形式存储成多行多列。D.RMS可以进行随机存储92.当一个记录仓库不再使用时就要关闭或删除它,以下描述正确的是:(C)A.在删除记录仓库之前必须先要清空记录仓库中的记录B.在删除记录仓库之前应确保它是处于开启状态的,否则抛出异常。C.在删除记录仓库之前应确保它是处于关闭状态的,否则抛出异常。D.以上描述都不对93.使用RecordComparator接口实
    现记录之间的比较,该接口中定义了三个属性,假设记录1与记录2进行比较,对于比较结果以下描述正确的是:(C)A.RecordComparator.PRECEDES表示记录1与记录2比较后的位置是记录2之后B.RecordComparator.FOLLOWS表示记录1与记录2比较后的位置是记录2之前C.RecordComparator.EQUIVALENT表示记录1与记录2比较后的位置是与记录2相等D.以上描述都正确94.双缓冲技术解决的是什么问题:(C)A.记录仓库中用于数据缓冲的技术B.解决图片大小问题C.解决屏幕闪烁问题的技术D.以上描述都错95.蓝牙设备一般被组成一个一个的pico-net(兆分之一网),下面选项关于蓝牙拓扑结构描述正确的是:(B)A.每个pico-net包括七个主人(master)及最十七个仆人(slave)。Eachpiconethasonemasterandupto7simultaneousslaves(>200couldbeparked)B.主人设备是指那个燃起通讯的一方。不同pico-net之间的设备也可以通讯C.有一个主人和多个仆人的情况下,主人和仆人之间采用的是点对点的通讯方式
     D.以上描述都错96.远程通讯的基本连接框架中不管采用哪种方式和外界沟通,都必须使用Connector类别的什么方法:(C)A.connect()B.start()C.open()D.getConnect()
    97.开发手机游戏,提高游戏性能的手段有很多,以下描述错误的是:(A)A.增加面向对象的代码B.减少第三方库的使用C.最少的通讯D.垃圾回收98.下列各语句的结果值描述正确的是:(D)A.x=Math.abs(7.5)结果:x=7.5//Math.abs(a)求a的绝对值B.x=Math.floor(7.5)结果:x=7.0//Math.floor(a)求不大于a的最大整数C.x=Math.abs(0.0)结果:x=0.0D.以上描述都对99.判断下面代码哪一个正确:(D)A.finalintARRAY_SIZE=5;ARRAY_SIZE=10;//常数不能被重新赋值B.设intb[]=newint[10];for(inti=0;i<=b.length;i++){b[i]=i;}//循环0-10,数组溢出C.设inta[][]={{1,2}{3,4}};a[1,1]=5;//正解:inta[][]={{1,2},{3,4}};a[1][1]=5;D.以上都错100.下列有关J2SE中有关方法的使用书写正确的是:(C)A.g.getFont("SansSerif");用于获取当前字体,不能带参数
     B.g.erase(x,y,w,h);//清除位于(x,y)点的矩形C.Fontf=newFont("serif",Font.BOLD,12);D.g.setColor(Color.Yellow);//将当前颜色设置为黄色4.下列哪一项属于J2ME中所使用的虚拟机类型:(C)A.JVM(java虚拟机)B.DVMC.CVM(或KVM)D.CardVM1.针对桌面开发和低端商务应用的Java2平台版本为:(C)A.J2EEB.J2MEC.J2SE2.J2ME体系架构包括:(B)A.Java语言、Java编辑器、Java虚拟机B.Configuration、Profile、可选包C.CLDC、MIDP、WMAD.CDC、Profile、可选包3.CLDC要求的可变内存数量为:(D)A.至少320KB.至少160KC.至少258
    KD.至少32K4.Configuration必须与(A)一起使用A.ProfileB.虚拟机C.可选包D.Java编辑器5.在J2ME中,预审核在class文件中加入了______属性:(C)P18A.MIDletB.HeapMapC.StackMapD.Stack
     7.使用模拟器进行J2ME程序开发,具有如下优点(BCD)(多选)A.使用开发者不需要在实际设备上调试程序B.提高开发效率C.简化开发过程D.降低开发难度8.在java语言中,异常的来源有(AC)(多选)P37A.程序代码产生的B.硬件产生的C.JAVA运行时系统产生的D.操作系统产生的9.应用程序发布的基本单位是(A)A.MIDletSuiteB.Jar文件C.MIDletD.Jad文件10.应用程序管理系统启动程序的基本单位是(a)P43A.MIDletB.MIDletSuiteC.Jar文件D.Jad文件11.一个叫com.sun.microedition.Test的类放置在JAR文件中应为:(c)A./microedition/Test.classB.sun/microedition/Test.classC/sun/microedition/Test.classD/sun/microedition/Test/class.class12.下面哪种情况下MIDlet进入销毁状态?(C)P48A.AMS调用了MIDlet.pauseApp()方法B.AMS调用了MIDlet.destroyApp()方法C.当MIDlet调用MIDlet.notifyDestrored()成功返回时D.当在活动状态时,startApp()方法抛出MIDletStateChangeException异常时//暂停
     13.受信任的MIDletSuite的安全机制依赖于(C)A.沙箱模型B.受信任的域C.保护域D.黑盒模型14.在应用描述文件中,必须包含如下属性:(ABCDE)(多选)A.MIDlet-VendorB.MIDlet-Jar-URLC.MIDlet-VersionD.MIDlet-Jar-sizeE.MIDlet-Name15.在MIDP中,用于需要对具体位置和图象元素的精确控制的是:(b)A.高级APIB.底层APIC.异步APID.同步API
    17.获取Displayable对象的Ticker需要调用下面的哪个函数?(b)A.getTickerStringB.getTickerC.getStringD.getTicker18.设置TextBox约束的函数为:(b)A.SetStringConstraintsB.setConstraintsC.setTextConstraintsD.setConstraint19.获取Jar中的资源的方法为:(d)P84A.getJarB.getJarAsResourceC.getResource
    P76
     D.getResourceAsStream20.在MIDP2.0中,要求必须支持的编码方式为:(b)P85A.IS08859B.UTF-8C.GB2312D.UNICODE21.在TIME模式下,MIDP要求DateField中的时间必须是相对于(c)的时间A.1970年7月1日1时B.1965年1月1日0时C.1970年1月1日0时D.1960年1月1日0时22.缺省情况下Alert的缺省命令是:(d)P107//缺省DIMISS_COMMAND和CommandListenerA.DEFAULT_ALERT_COMMANDB.DEFAULT_COMMANDC.DISMISS_ALERT_COMMANDD.DISMISS_COMMAND23.一个命令(Command)包含如下信息:(abcd)(多选)A.一个短标签B.一个可选的长标签C.命令类型D.命令优先顺序E.命令处理函
    数24.获取ChoiceGroup中用户的选择的方法有:(bcd)(多选)P105A.getSelectedB.getSelectedIndexC.getSelectedFlagsD.isSelected25.对于底层API,下面哪个说法是正确的?(B)A.在Canvas中,系统会自动绘制背景B.与Form相同,不可以直接使用Canvas类(要继承此类才可以使用它)
    P99
    P114
     C.在MIDlet中,可以混合使用底层API和高级APID.传入paint方法的Graphics对象可以重复使用
    26.对于底层API,下面哪个说法是正确的?(D)CB.缺省情况下,Canvas将自动擦除背景图象
    P114
    A.在每次调用paint方法时,其Graphics参数对象是相同的C.getGraphics方法获得的Graphics对象不能将图形绘制在屏幕上D.Canvas的paint方法的Graphics参数只能由调用getGraphics方法获得27.在MIDP中,提供的颜色模型为(a)A.24位颜色B.32位颜色C.8位颜色D.16位颜色28.Canvas的getHeight方法用于获得哪个对象的尺寸?(b)A.ScreenB.CanvasC.FormD.Display29.在MIDP中,函数ImagecreateImage(Imagesource)创建的是?(b)P135A.静态图象B.不可变图象C.动态图象D.可变图象30.在MIDP中,函数ImagecreateImage(Imageimage,intX,intY,intwidth,intheight,inttransform)创建的是?(b)A.不可变图象B.可以是可变的,也可以是不可变的C.可变图象D.动态图象
    31.在基于线程的多任务处理中,什么是调度程序所分派的最小代码单位?(C)A.线程B.管程
     C.程序D.路程32.在MIDP中,CustomItem的getInteractionModes方法作用为(A)(多选)ACDP151A.判断系统是否支持在此Item上处理键盘事件、指针事件、游历事件等B.获取此Item使用设备的方法C.获取此Item是否支持使用键盘事件、指针事件、游历事件等D.获取此Item与用户交互的方法33.在Canvas中定义了3个相关的事件处理函数,分别对应了3种键盘事件,即(abc)(多选)A.按键释放B.重复按键C.按键按下D.按键组合
    34.g=getGameAction(getKeyCode(g))总是正确的aA.正确B.错误35.Sprite主要用于如下哪种用途?(c)A.管理图层B.创建游戏中的背景C.游戏中的角色D.提供了一个观察窗口36.在GameCanvas中,关于其按键事件处理,下面哪一个说法是不正确的?(a)P174A.提供了三种按键事件处理机制B.可以处理两个按键同时按下的情况C.可以通过getKeyStates()方法检查游戏动作按键目前的状态D.可以为键盘的每个事件提供了单独的处理函数37.在LayerManager中,最终在屏幕上显示的图象由什么决定?》cA.LayerManager的大小B.图层的顺序C.LayerManager的观察窗口D.设备的显示能力
     38.在sprite中,图象的显示顺序由
    什么决定?(d)A.由系统决定B.针顺序值C.针索引值D.Z序值39.在TiledLayer中,TiledLayer在其内部维护着一个显示矩阵,记录着整个图层被分为多少个网格,每个网格显示的是哪一个tile.aA..正确B.错误40.在TileLayer中,改变动态Tile的关联Tile时,TileLayer中的显示矩阵中所有的此动态Tile对应的图像都会发生变化。aA.正确B,错误41.把字节转换成字符的输入流是(c)A.ReaderB.OutputStreamWriterC.InputStreamReaderD.PrintStreamE.OutputStreamF.InputStreamG.WriterH.DataOutputStreamWriterI.DataInputStreamJ.ByteArrayOutputStreamK.ByteArrayInputStream42.调用接口HttpConnection中的方法getHeaderField,将进入HTTP连接的什么状态?(b)P205A.建立B.已连接C.已关闭D.请求43.为了使用socket实现socket服务器,需要调用什么方法等待客户端连接?(b)P214A.openAndAcceptB.acceptAndOpenC.bindP186P184
     D.Bind44.对于接收者接收的短信,短信包含的地址为(b)A.接收者地址B.发送者地址C.短信服务中心的地址45.在PushRegistry机制下,服务程序通过什么方式通知AMS其需要监听的端口?(bc)多选P224A.操作系统注册B.调用registryConnection()方法C.JAD文件D.AMS端口46.在J2ME中,MIDletSuite的签名使用算法为(AD)多选P240A.SHA1哈希算法B.DES算法C.MD5算法D.RSA算法47.当调用enumerateRecords()创建RecordsEnumeration后,此时调previousRecords()将返回(c)A.第1条记录B.第2条记录C.最后1条记录D.最后第2条记录48.在J2ME的记录存储中,记录存储的共享权限有(cd)多选A.AUTHMODE_WRITEB.AUTHMODE_READC.AUTHMODE_ANYD.AUTHMODE_PRIVATE49.MIDletSuite中可以创建多个记录存储。aA.正确B,错误50.RecordComparator接口中的compare()方法用于记录的匹配。aA.正确B,错误1.J2ME针对的设备报括:(bcd)A各种PCB电视机顶盒C消费类和嵌入类设备D手机设备2.JAVA语言的前身为:(a)AOak语言BC语言CC++语言DBasic语言4.在CDC的基础上,定义了如下Profile(b)P249
     AMIDP、FP、PP、PBPBFP、PP、PBPCMIDPDMIDP、FP、PPB直接调用pauseApp12.MIDlet主动要将MIDlet的状态由运作状态变成停止状态,可以:(A)P51A调用notifyPause()C调用MIDlet.destoryApp()D调用MIDlet.notifyDestory()方法16.下面哪个类是Item的子类?(b)AFormBTextFieldCTextBoxDList17.删除Displayable的命令处理类的方法为:(a)AremoveCommandListenerBdeleteCommandListenerCsetCommandListenerDcommandAction20.为了保证在任何情况下都能在MIDP中处理中文,最合适的中文编码
    为:(c)AISO8859BUNICODECUTP—8DGB231221.设置Item中的命令处理函数的入口,需要调用函数:(d)P93AItem.setCommandListenerBForm.setItemCommandActionCForm.setCommandListenerDItem.setItemCommandAction24.List的类型包括:(abd)P105AMULTIPLEBIMPLICITCPOPUPDEXCLUSIVE25.对于底层API,下面哪个说法是正确的?(D)A传入paint方法的Graphics对象可以重复使用B与Form相同,可以直接使用Ganvas类C在Canvas中,系统会自动绘制背景D在MIDlet中,不可以混合使用底层API和高级API26.对于底层API,下面哪个说法是正确的?(C)A传入paint方法的Graphics对象可以重复使用B与Form相同,可以直接使用Ganvas类C在Canvas中,系统不会自动绘制背景D在MIDlet中,可以混合使用底层API和高级API27.MIDP提供了如下哪种函数用于查询设备支持的颜色的种数?(b)A.isColorB.numColorsC.displayColorsD.isdisplayColor29.函数translate(intx,inty)的作用为(d).A.无此函数B.将坐标原点值上分别加上值x,yC.不知道D.将坐标原点移动到(x,y)
     30.在MIDP中图象分哪几种?(a)A.可变图象和不可变图象B.静态图象和动态图象C.彩色图象和黑白图象D.位图和矢量图32.在MIDP中,代码的同步主要包括如下哪些方法?(BC)P147A.使用全局变量B.使用callSerially方法C.使用synchronized关键字,包括对单独的语句或者整个方法或者对象D.使用servicePaint方法34.k=getKeyCode(getGameAction(k))总是正确的.bA.正确B.错误35.Sprite主要用于如下哪种用途?(a)A.游戏中的角色B.管理图层C.创建游戏中的背景D.提供了一个观察窗口39.TiledLayer内部维护一个网格矩阵,用于记录各个网格需要显示的内容---实际上是各网格包含的tite的索引值aA.正确B.错误40.TiledLayer中的各个小图象(tile)来源自一个大的图象,并且具有唯一的索引值.AA.正确B.错误41.把字符转换成字节的输出流是(a)A.DataOutputStreamB.InputStreamC.DataInputStreamD.PrintStream43.为了使用socket实现socket客户端,需要使用接口(b)A.HTTPConnectionB.SocketConnetionC.SocketServerConnectionD.ServerSocketConnection46.在下列方法中,是公开密钥算法的是(bd).A.IDEA算法P215
     B.RSA算法C.DES算法D.椭圆曲线算法49.使用多线程访问记录存储并不会损坏到记录存储中的数据.bA.正确B.错误4.在实际的支持Java的设备中:(A
    )
    A.系统提供商可以提供自己定制的Java类库B.所有Java程序都必须符合CLDCC.设备必须支持CLDCD.所有Java程序都必须符合MIDP规范12.下面哪种情况下MIDlet进入暂停状态?(D)A.AMS调用MIDlet.startApp()方法B.AMS调用MIDlet.pauseApp()方法C.AMS调用MIDlet.destroyApp()方法D.当
    在活动状态时,startApp()方法抛出MIDletStateChangeException异常时27.Canvas的哪个方法用于判断设备是否支持双缓存?A.hasPointerEvents()B.haspointMotionEvents()C.hasRepeatEvents()D.isDoubleBuffered()(d)
    28.对于底层API,下面哪个说法是不正确的?(B)P117A.MIDP要求设备在不具有24位颜色能力时,能够提供一种将此24们颜色映射为其可以表示的颜色的能力B.MIDP要求设备都支持此24位颜色模型C.MIDP没要求设备必须支持双缓存D.MIDP提供了24位的颜色模型,分别用8位表示颜色的红.绿.蓝部分30.在MIDP中,函数ImagecreateImage(Imageimage,intx,inty,intwidth,intheight,inttransform)创建的是(c)A.可变图像B.不可变图像C.可以是可变的,也可以是不可变的
     D.动态图像32.在Java中,创建线程的方法有(bd)A.实现Run接口B.实现Runnable接口C.继承Process类,并实现run()方法D.继承Thread类,并实现run()方法40.TiledLayer中的各个小图像(title)来源自一个大的图像,要求此大图像分割后形成的Tile不能相同.AP185A.正确B.错误49.在同个MIDletSuite中,记录存储的名字可以相同.bA.正确B.错误49.MIDletSuite中可以创建多个记录存储。aA.正确B,错误2.针对消费类和嵌入式设备的Java2平台版本为:(b)A.J2EEB.J2MEC.J2SE6.在MIDlet中,显示在屏幕上的对象是:(c)A.ScreenB.FormC.DisplayableD.Display6.在MIDlet中,管理屏幕的对象是(D)A.ScreenB.FormC.DisplayableD.Display16.在MIDlet中,哪个类处理屏幕的切换?(c)P60A.MIDletB.Displayable
     C.DispalyD.Form21.所有的Item都有一个(a)域.A.LabelB.TitleC.TickerD.Command24.ChoiceGroup的类型包括:(ACD)A.MULTIPLEB.IMPLICITC.POPUPD.EXCLUSIVE
    26.对于底层API,下面哪个说法是正确的?(ABCD)A.在底层API中,绘制图形时程序需要首先设置Graphics对象的颜色属性B.当Canvas从屏幕上移除时,系统会自动调用函数hideNotify(),此函数缺省情况下不作任何动作C.当Canvas从屏幕上由不可见变为可见时,系统会自动调用函数showNotify(),此函数缺省情况下不作任何动作D.当程序需要重新绘制屏幕时,可以调用repaint方法要求重新绘制屏幕27.MIDP提供了如下哪种函数用于查询设备是否具有显示彩色的能力?(d)A.displayColorsB.numColorsC.isdisplayColorD.isColor
    29.下图中,左上角的图像是由下面哪个调用产生的?()
    A.g.drawImage(image,0,0,Graphics.TOP|Graphics.LEFT)B.g.drawImage(Image.createImage(image,0,0,image.getWidth(),image.getHeight(),Sprite.TRANS_ROT90),width,height,Graphics.??????)//BOTTOM|Graphics.RIGHTC.g.drawImage(Image.createImage(image,0,0,image.getWidth(),image.getHeight(),Sprite.TRANS_ROT180),width/2,height/2,???)//Graphics.VCENTER|Graphics.HCENTER
     D.不能创
    建30.缺省情况下,Graphics对象的颜色属性为:(B)P120A.白色B.黑色C.灰色D.未知
    34.一个游戏动作按键可以被多个键码映射.aA.正确B.错误36.在GameCanvas中,为了将图像显示在屏幕上,需要调用哪种函数?(b)A.drawImageB.flushGraphicsC.showImageD.showGraphics37.如果图层在LayerManager的坐标为(18,37),宽度和高度皆为50,观察窗口在LayerManager的坐标为(52,11),宽度和高度皆为85,观察窗口在LayerManager(实际屏幕上)的坐标为(17,17),则显示的屏幕上的图层区域在LayerManager上的坐标为(B)P178A.左上角坐标为(18,37),右下角坐标为(137,87)的矩形B.左上角坐标为(52,37),右下角坐标为(68,87)的矩形C.左上角坐标为(52,37),右下角坐标为(137,96)的矩形D.左上角坐标为(52,37),右下角坐标为(137,87)的矩形39.静态title与源图像的关联关系自创建之后不能更改.aA.正确B.错误40.动态title与源图像的关联关系自创建之后可以更改.aA.正确B.错误41.包含读取Java标准数据类型方法的输入流是(c)A.ByteArrayInputStreamB.ByteArrayOutputStream
     C.DataInputStreamD.DataOutputStreamE.InputStreamF.OutputStreamG.PrintStreamH.InputStreamReaderI.OutputStreamWriterJ.ReaderK.Writer44.调用方法Connector.open(“sms://:2345”)后,MessageConnection接口工作在(d)模式.A.sms模式B.client模式C.cbs模式D.server模式
    49.在记录存储内部维护了一个内部版本号.aA.正确B.错误6.MIDlet在每次进入活动状态时需要调用:(C)A.pauseApp()B.destroyApp()C.stratApp()D.paint()8.在Java语言中,异常原因有:()多选abcdA.违反语言规范B.操作系统出现了问题C.超出Java执行环境限制D.开发者自定义的12.下面哪种情况下MIDlet进入暂停状态?(B)A.当MIDlet调用MIDlet.notifyDestroyed()方法B.当在活动状态时,MIDlet调用MIDlet.notifyPaused()方法成功返回时C.AMS调用了MIDlet.pauesApp()方法D.AMS调用MIDlet.startApp()方法24.在Item类中,还提供了如下几个布局设置格式常熟:(ABCDEFGHIJKLM)多选P93A.LAYOUT_NEWLINE_BEFORE
     B.LAYOUT_VCENTERC.LAYOUT_NEWLINE_AFTERD.LAYOUT_BOTTOME.LAYOUT_SHRINKF.LAYOUT_TOPG.LAYOUT_VSHRINKH.LAYOUT_CENTERI.LAYOUT_RIGHTJ.LAYOUT_EXPANDK.LAYOUT_LEFTL.LAYOUT_VEXPANDM.LAYOUT_DEFAULT25.对于底层API,图像可以绘制在屏幕上,也可以绘制在缓冲区中。在屏幕上绘图时,Graphics对象的来源为()cA.调用MIDlet的相应函数获得B.在相关的image上调用getGraphics()方法获得C.由paint函数传入D.调用Graphics的构造函数创建26.对于底层的API,图像可以绘制在屏幕上,也可以绘制在缓冲区中。在内存的图像缓存区中进行绘图时,Graphics对象的来源为()。aA
    .在相关的image上调用getGraphics()方法获得B.调用MIDlet的相应函数获得C.调用Graphics的构造函数创建D.由paint函数传人29.在MIDP中,函数ImagecreateRGBImage(int[]rgb,intwidth,intheight,BooleanprocessAlpha)创建的是(B)A.可变图像B.不可变图像C.静态图像D.动态图像30.在MIDP中,通过getGraphics方法获得的Graphic对象创建的图像是(C)P138A.不可变图像B.静态图像C.可变图像D.动态图像32.在Java中,判定一个线程是否结束的方法有(BC)多选P144A.调用stillAlive()
     B.调用isAlive函数C.调用join()D.调用autojoin()
    5.键盘事件处理方法中,以下哪个方法是用来处理键盘按键的释放事件的(B)A.keyPressed(intkeyCode)B.keyReleased(intkeyCode)C.keyRepeated(intkeyCode)D.pointerPressed(intx,inty)6.下列中不属于CLDC这种配制的设备是:(D)CLDC-“手持设备”CDC-“从墙取电设备”A.PDAB.手机C.寻呼机D.机顶盒7.编写语句,将下面各种范围内的随机整数赋给变量n,赋值正确的是:(D)n<=x<=m则x=(int)(n+Math.random()*(m-n+1))取值的最小数字取值范围注:如果直接random的话数字从0开始A.1小于等于n,n小于等于2解:n=(int)(1+Math.random()*2);B.1小于等于n,n小于等于100解:n=(int)(1+Math.random()*100);C.0小于等于n,n小于等于9解:n=(int)(Math.random()*10);D.以上解都对8.下列不属于CLDC1.1核心类库与J2SE核心类库的主要区别的是:(A)A.不支持线程组或守护线程B.不支持浮点数据类型C.不支持弱引用D.有限的错误处理9.下列选项中不属于MIDlet套件的是(C)A.附在JAR文件中Java类文件B.描述JAR文件内容的清单文件C.CVM虚拟机D.JAM(应用程序管理器)12.以下是一个创建记录仓库的示例,描述正确的是:(D)privateRecordStorers=null;try{rs=RecordStore.openRecordStore(“testRMS”,false);}catch(Exceptione){}
     A.该示例创建记录仓库名为testRMS,如果该记录仓库存在则不作任何处理B.该示例创建记录仓库名为testRMS,如果该记录仓库存在则打开C.该示例创建记录仓库名为testRMS,如果该记录仓库不存在则抛出异常D.该示例创建记录仓库名为testRMS,如果该记录仓库不存在则不作任何处理4.下面属于J2ME体系结构中的内容是:(D)A.ConfigurationsB.ProfilesC.OptionalPackagesD.以上都是17.J2ME用户界面组件分为高阶用户界面组件和低阶用户界面组件,以下描述正确的是:(D)A.Screen类属于低阶用户界面组件B.Canvas类属于高阶用户界面组件C.Screen类和Canvas都属于高阶用户界面组件D.Displayable类是Screen类和Canvas类的父类21.在List列表类中定义
    了三种选择类型,其中代表单选模式的选项是:(A)A.exclusiveB.ImplicitC.multipleD.以上都不是22.List列表类中定义了三种选择类型,其中哪一个能够呼叫commandAction()函数:(A)A.ImplicitB.exclusiveC.multipleD.以上都不可3.TextBox类用于输入数据,其中该类针对输入类型定义了几个限制约束,其中代表只能输入数字的是:(A)A.NUMERICB.DECIMALC.PHONENUMBERD.URL26.属于能够操纵List列表类中元素的方法是:(D)A.appendB.deleteC.insertD.以上均是27.以下描述正确的是:(D)1
     A.抽象类的所有方法都必须是抽象方法B.子类变量引用超类对象的做法是危险的C.内部类不允许访问包装类的成员D.父类是抽象类,子类要成为具体类,就必须实现父类的所有方法28.关于ALert类下面描述正确的是:(D)A.先发出一段声音,然后将自己秀在屏幕上,过一段时间之后,它会自动跳回之前的画面B.必须在显示Alert之前定义好它可以跳回的画面,否则会发生异常C.如果想要Alert一直保持在自己的画面上,就要使用方法FOREVER()D.以上都对29.Form是J2ME里面比较重要的容器类型,它必须配合Item类来使用,不属于Item类的子类的是:(D)A.TextFieldB.StringItemC.ChoiceGroupD.TextBox30.Item类的子类中,哪一个在与Form类结合使用的时候能生成与使用TextBox时相似的效果:(B)A.DateFieldB.TextFieldC.StringItemD.Gauge31.关于abstract抽象类描述正确的是:(A)A.不能生成抽象的构造函数B.可以生成抽象的static方法C.允许生成private的抽象方法D.以上描述都对33.Item类的子类中,哪一个在与Form类结合使用的时候能生成与使用List时相似的效果:(C)A.SpacerB.GaugeC.ChoiceGroupD.TextField34.当使用ChoiceGroup类与Form类结合使用的时候,采用类型限制时,哪一种类型不能使用,如果使用会发生异常:(A)P168A.IMPLICITB.EXCLUSIVEC.MULTIPLE
     D.以上都不可37.List和ChoiceGroup类都实现了哪一个接口(B)A.GroupB.ChoiceC.GroupChoiceD.以上都不是38.J2ME中所有高阶图形用户界面组件的父类是:(C)A.Canvas类B.Form类C.Screen类D.Graphics类39.J2ME中所有用来处理低阶图形用户界面组件的父类是:(B)A.Form类B.Canvas类C.List类D.Screen类42.Display类就像一个画面管理员,获得Display类对象的方法是(参数略):(D)A.getDisplayable(...)B.getCurrent(...)C.setCurrent(...)D.getDisplay(...)44.下面关于LayerManager类描述正确的是:(A)A.一个程序中只允许使用一个LayerManager类B.一个程序中可以使用多个LayerManager类C.LayerManager类只允许添加一个Sprite类的实例作为图层管理的一部分D.LayerManager类可以添加LayerManager类的实例作为图层管理的一
    部分47.使用低级图形用户界面组件需要继承哪一个类:(D)A.Graphics类B.Screen类C.Displayable类D.Canvas类48.下列方法中哪一个方法能实现在屏幕上描绘出一条虚线(其他部分程序代码省略):(C)publicvoidpaint(Graphicsg){g.setColor(255,255,255);g.fillRect(0,0,getWidth(),getHeight());/*代码段A*/g.setColor(255,0,0);g.drawLine(20,20,100,20);/*代码段B*/g.setColor(125,125,125);g.drawLine(20,25,100,50);g.setStrokeStyle(Graphics.SOLID);/*代码段C*/g.setColor(125,125,125);g.drawLine(20,30,100,50);g.setStrokeStyle(Graphics.DOTTED);/*代码段D*/g.setColor(255,255,255);g.drawLine(20,50,100,50);}A.代码段AB.代码段BC.代码段CD.代码段D49.以下方法哪一個可以判断屏幕颜色是否彩色(B)A.setColor(...)B.isColor(...)C.getColor(...)D.ifColor(...)50.Layer类是一个抽象类,它有两个子类分别是:(C)A.TiledLayer类和LayerManager类B.TiledLayer类和GameCanvas类C.Sprite类和TiledLayer类D.LayerManager类和Sprite类在GameCanvas中,为了将图像显示在屏幕上,需要调用那种函数?
     A.flushGraphicsB.drawImageC.showGraphicsD.showImage
    
    
  • 上一篇资讯: android资料下载
  • 下一篇资讯: Android课程
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号