Android网络开发技术形考答案无删改全篇.docx
- 文档编号:12667887
- 上传时间:2023-04-21
- 格式:DOCX
- 页数:11
- 大小:20.50KB
Android网络开发技术形考答案无删改全篇.docx
《Android网络开发技术形考答案无删改全篇.docx》由会员分享,可在线阅读,更多相关《Android网络开发技术形考答案无删改全篇.docx(11页珍藏版)》请在冰豆网上搜索。
Android网络开发技术形考答案无删改全篇
Android网络开发技术形考任务1
【简答题】完成以下JSON的解析,完成主体代码即可,解析方法及库不限。
其实JSON数据就是一段字符串而已,只不过有不同意义的分隔符将其分割开来而已,里面有等符号,其中1[]中括号代表的是一个数组;2{}大括号代表的是一个对象3双引号“”表示的是属性值4冒号:
代表的是前后之间的关系,冒号前面是属性的名称,后面是属性的值,这个值可以是基本数据类型,也可以是引用数据类型。
答:
publicclassJSONObjectActivityextendsAppCompatActivity{
@Override
protectedvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_jsonobject);
newThread(newRunnable(){
@Override
publicvoidrun(){
//模拟进行网络请求
StringjsonResult=FileUtils.readXML();
parseJson(jsonResult);
}
}).start();
}
privatevoidparseJson(StringjsonData){
Personperson=newPerson();
try{
JSONObjectjsonObject=newJSONObject(jsonData);
//解析persons数组
JSONArrayphones=jsonObject.getJSONArray("phones");
person.phones=newArrayList<>();
for(inti=0;i person.phones.add((String)phones.get(i)); } //解析普通属性 person.name=jsonObject.getString("name"); person.age=jsonObject.getInt("age"); //解析address JSONObjectaddressJson=jsonObject.getJSONObject("address"); Addressaddress=newAddress(); address.country=addressJson.getString("country"); address.province=addressJson.getString("province"); person.address=address; System.out.println(person.toString()); }catch(JSONExceptione){ e.printStackTrace(); } } classPerson{ List Stringname; intage; Addressaddress; @Override publicStsringtoString(){ return"Person{"+ "phones ="+phones+ ",name=''' +name+'\"+ ",age="+age+ ",address="+address+ '}'; } } classAddress{ Stringcountry; Stringprovince; @Override publicStringtoString(){ return"Address{"+ "country=''' +country+'\"+ ",province=''' +province+'\"+ '}'; } } Android网络开发技术形考任务2 窗体顶端 答: xmlversion="1.0"encoding="utf-8"? > Android="http: //schemas.A package="com.gk.my12306"> name="Android.permission.GET_ACCOUNTS"/> name="Android.permission.READ_PROFILE"/> name="Android.permission.READ_CONTACTS"/> name="Android.permission.CHANGE_CONFIGURATION"/> name="Android.permission.WRITE_SETTINGS"/> name="Android.permission.ACCESS_NETWORK_STATE"/> Android: allowBackup="true" Android: icon="@mipmap/ic_launcher" Android: label="@string/app_name" Android: roundIcon="@mipmap/ic_launcher_round" Android: supportsRtl="true" Android: theme="@style/AppTheme"> name=".MainActivity"> name="Android.intent.action.MAIN"/> name="Android.intent.category.LAUNCHER"/> Android: name=".LoginActivity" Android: label="@string/title_activity_login" Android: windowSoftInputMode="adjustPan"/> name=".BootBroadcastReceiver"> name="Android.intent.action.BOOT_COMPLETED"/> } 窗体底端 Android网络开发技术形考任务3 1、Android中保存某个运行状态和用户信息,最好使用(SharedPreferences存储)。 2、SharedPreference存储数据,最后提交数据时,推荐使用(commit())。 3、使用SQLite读取数据内容时,用到的核心类是( ContentValues )。 4、自定义Service时,必须实现的方法是( onCreate() )。 5、使用MediaPlayer开始播放音视频的方法是( prepare() )。 6、自定义View时必须实现的方法是( onMeasure() )。 7、AndroidAsyncTask异步任务中,哪个方法是运行在主线程中(doInBackground()) 8、Android中开启事务的方法正确的是(db.beginTransaction())。 9、HTTP是万维网实现数据通信的基石。 它基于(TCP/IP)来传递数据。 10、HTTP是(不保存状态的协议)。 11、URL的一般格式为(<协议>: //<主机>: <端口>/<路径>) 12、URL(uniformresourcelocator,统一资源定位符)是互联网标准资源的地址。 通过一个URL,能找到(一个)资源。 13、下列说法错误的是(获取 HttpClient 实例可以直接new HttpClient()。 ) 14、以下是Android中用于xml解析方式的是(XmlPullParser) 15、做网络图片查看器的时候,需要把获取的流信息转换为(Bitmap) 16、关于Android中消息机制说法正确的是(Handler是用来发送消息和处理消息的。 ) 17、利用内容解析者查询短信数据时uri怎么写(Uriuri=Uri.parse(“content: //sms”)) 18、可以在Activity中得到ContentResolver实例对象的方法(getContentResolver()) 19、可以在Activity中得到ContentResolver实例对象的方法(getContentResolver()) 20、在下列选项中,关于内容提供者的说法错误的是(内容提供者只有在AndroidManifest.xml文件中注册后才能运行。 ) 21、在下列选项中,用于查询数据的方法是(query) 22、对于Android开发来说,(HTTP)是网络开发中使用最多、最重要的网络通信方式。 23、自定义一个数据适配器MyAdatper,需要让它继承的类是(BaseAdapter) 24、下列方法中,( wait() )执行时释放了锁。 25、AsyncTask中的( onPostExecute() )方法在子线程中执行。 二、判断题 1、一个AsyncTask对象可以执行多次。 ( 错” ) 2、Glide可以设置缓存模式。 ( 错” ) 3、在Service中可以直接进行耗时操作。 ( 错”。 ) 4、Service可以使用ServiceConnection实现与Activity的交互。 ( “错”。 ) 5、较长时间的定时任务可以使用Alarm来实现。 ( 错”。 ) 6、Android中使用openFileOutput(Stringname,intmode)方法获取到文件输出流时,第二个参数mode常用模式有4种。 (对”。 ) 7、Android中创建内容提供者要继承ContentObserver。 (错”) 8、ContentProvider在实际的开发中不需要注册,可以直接使用。 ( “错” ) 9、Android中数据只能存储到sd卡上。 (“错”) 10、Android对.png格式的位图支持最好。 (“对”) 11、Android提供的用于媒体播放的类,可播放音频和视频,但是仅仅限于MP3和MP4等有限的格式。 (“对”) 12、Bitmap包含的图片可以来自文件,也可以由程序创建。 (对) 13、Bitmap可以理解为一种为存储图形像素而设计的数据结构。 (对) 14、Canvas是一个操作绘图的平台。 (对) 15、DOM解析使用的是W3C规范。 (对) 16、File适用于存储文本类型数据或者二进制数据。 (对) 17、JSON中数据全部以键值对的方式表示。 (对) 18、onStartCommand()方法在Service的一个完整生命周期内可能会被调用多次。 (对) 19、onStartCommand()方法在每次启动Service时都会被调用。 (对) 20、Paint主要的绘图工具类。 (对) 21、PULL解析也是一种基于事件流驱动的XML解析方式。 (对) 22、SharedPreferences所有的信息都是按照key-value的形式保存的。 (对) 23、在/data/data/包名/cache目录下可以cache软件的缓存数据,当清除缓存时数据就会删除。 (对) 24、在Android6.0之后,读写文件权限属于危险权限,需要运行动态申请。 (对) 25、在Android中,如果要实现配置信息的保存,需要使用SharedPreferences存储技术。 (对) Android网络开发技术形考任务4 【简答题】Android系统提供了两种方式来识别一个NFCTag是否为Activity需要处理的内容,对这两种进行讨论 答: 近距离无线通信技术(NearFieldCommunication,NFC),是由飞利浦公司和索尼公司共同开发的一种非接触式识别和互联技术,可以在移动设备、消费类电子产品、PC和智能设备间进行近距离无线通信。 NFC提供了一种简单的、非触控式的解决方案,可以让消费者简单直观地交换信息、访问内容与服务。 NFC整合了非接触式读卡器、非接触式智能卡和点对点(Peer-to—Peer)通信功能,为消费者开创了全新的便捷生活方式。 手机和NFC技术的结合,将会给消费者提供极大的生活便利,例如移动支付、位置服务信息、身份识别、公共交通卡等应用,在医疗保健、优惠券、智能海报等许多领域有也有巨大的应用潜力。 一、NFC的3种工作模式 读卡器模式 数据在NFC芯片中,可以简单理解成“刷标签”。 本质上就是通过支持NFC的手机或其它电子设备从带有NFC芯片的标签、贴纸、名片等媒介中读写信息。 通常NFC标签是不需要外部供电的。 当支持NFC的外设向NFC读写数据时,它会发送某种磁场,而这个磁场会自动的向NFC标签供电。 仿真卡模式 数据在支持NFC的手机或其它电子设备中,可以简单理解成“刷手机”。 本质上就是将支持NFC的手机或其它电子设备当成借记卡、公交卡、门禁卡等IC卡使用。 基本原理是将相应IC卡中的信息凭证封装成数据包存储在支持NFC的外设中。 在使用时还需要一个NFC射频器(相当于刷卡器)。 将手机靠近NFC射频器,手机就会接收到NFC射频器发过来的信号,在通过一系列复杂的验证后,将IC卡的相应信息传入NFC射频器,最后这些IC卡数据会传入NFC射频器连接的电脑,并进行相应的处理(如电子转帐、开门等操作)。 点对点模式 该模式与蓝牙、红外差不多,用于不同NFC设备之间进行数据交换,不过这个模式已经没有有“刷”的感觉了。 其有效距离一般不能超过4厘米,但传输建立速度要比红外和蓝牙技术快很多,传输速度比红外块得多,如过双方都使用Android4.2,NFC会直接利用蓝牙传输。 这种技术被称为AndroidBeam。 所以使用AndroidBeam传输数据的两部设备不再限于4厘米之内。 点对点模式的典型应用是两部支持NFC的手机或平板电脑实现数据的点对点传输,例如,交换图片或同步设备联系人。 因此,通过NFC,多个设备如数字相机,计算机,手机之间,都可以快速连接,并交换资料或者服务。 二、Android对NFC的支持 不同的NFC标签之间差异很大,有的只支持简单的读写操作,有时还会采用支持一次性写入的芯片,将NFC标签设计成只读的。 当然,也存在一些复杂的NFC标签,例如,有一些NFC标签可以通过硬件加密的方式限制对某一区域的访问。 还有一些标签自带操作环境,允许NFC设备与这些标签进行更复杂的交互。 这些标签中的数据也会采用不同的格式。 但AndroidSDKAPI主要支持NFC论坛标准(ForumStandard),这种标准被称为NDEF(NFCDataExchangeFormat,NFC数据交换格式)。 当android设备扫描到一个NFCtag,通用的行为是自动找最合适的Activity会处理这个tagIntent而不需要用户来选择哪个Activity来处理。 因为设备扫描NFCtags是在很短的范围和时间,如果让用户选择的话,那就有可能需要移动设备,这样将会打断这个扫描过程。 你应该开发你只处理需要处理的tags的Activity,以防止让用户选择使用哪个Activity来处理的情况。 Android提供两个系统来帮助你正确的识别一个NFCtag是否是你的Activity想要处理的: Intent发布系统和前台Activity发布系统。 Intent发布系统检查所有Activities的intentfilters,找出那些定义了可以处理此tag的Activity,如果有多个Activity都配置了处理同一个tagIntent,那么将使用Activity选择器来让用户选择使用哪个Activity。 用户选择之后,将使用选择的Activity来处理此Intent。 前台发布系统允许一个Activity覆盖掉Intent发布系统而首先处理此tagIntent,这要求你将要处理TagIntent的Activity运行在前台,这样当一个NFCtag被扫描到,系统先检测前台的Activity是否支持处理此Intent,如果支持,即将此Intent传给此Activity,如果不支持,则转到Intent发布系统。 Android网络开发技术形考任务5 【简答题】使用JNI调用Java类中方法getTest()。 答: extern"C"JNIEXPORTjintJNICALL Java_com_example_ndkdemo_JniCall_testCallConstructorMethod(JNIEnv*env,jobjectinstance){ //获取jclass jclassj_class=env->FindClass("com/example/ndkdemo/test"); //找到构造方法jmethodID publicArea(intwidth,intheight) jmethodIDj_constructor_methoid=env->GetMethodID(j_class," //初始化Java类构造方法 publicArea(intwidth,intheight) jobjectj_Area_obj=env->NewObject(j_class,j_constructor_methoid,2,10); //找到getTest() jmethodIDj_getArea_methoid=env->GetMethodID(j_class,"getTest","()I"); //调用Java中的getTest() jintj_rtest=env->CallIntMethod(j_Area_obj,j_getTest_methoid); returnj_test; } Android网络开发技术形考任务6 【简答题】简述Service原理 答: Service可以用来实现应用程序后台运行,可以在后台长时间运行,而不提供或者绑定用户界面。 即使应用程序被切换到后台,或者用户打开了另一个应用程序,已经运行的服务仍然能够保持正常运行,而不会被中断,除非系统必须回收内存资源。 Service服务可由其他应用组件(如Activity)启动,如果被启动,Service服务就会在后台一直运行,即使启动Service服务的组件(如Activity)已经被销毁也不受影响。 当然,我们可以通过代码主动停止Service服务的运行,具体的操作将在后面详细介绍。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Android 网络 开发 技术 答案 删改 全篇
![提示](https://static.bdocx.com/images/bang_tan.gif)