

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
25/25国家开放大学《Android核心开发技术》形考任务1-7参考答案题目随机,下载后利用查找功能完成学习任务形考任务11.使用AndroidStudio创建项目时,关于“CompanyDomain”说法正确的是()。A.公司中文名称B.公司英文名称C.公司域名D.公司IP地址2.Android是在()发布的1.0版本。A.2008年9月B.2009年5月C.2010年8月D.2011年4月3.Android目前的推荐开发工具是()。A.EclipseB.AndroidStudioC.visualstudioD.NDK4.Intent的用处不包含()。A.打开一个FragmentB.打开一个ActivityC.打开一个ServiceD.启动一个BroadcastReceiver5.一个Activity首次创建会调用()生命周期方法。A.onCreate()B.onPause()C.onStart()D.onResume()6.Activity全生命周期中,第一个需要执行的方法是()。A.onStart()B.onCreate()C.onReStart()D.onResume()7.Activity可视生命周期中,第一个需要执行的方法是()。A.onStart()B.onCreate()C.onReStart()D.onResume()8.AndroidStudio是基于哪个Java集成开发环境?()A.IntelliJIDEAB.EclipseC.DreamweaverD.VisualStudio9.Android项目工程下面的assets目录的作用是()。A.放置应用到的图片资源B.主要放置一些文件资源,这些文件会被原封不动打包到apk里面C.放置字符串,颜色,数组等常量数据D.放置一些与UI相应的布局文件,都是xml文件10.Android应用主要的开发语言是()。A.C#B.SwiftC.JavaD.JavaScript11.Android开发中常用的开发与调试工具有很多,下面相关描述不对的是()。A.AndroidDebugBridge,简称adb,它只是一个能用来调试Android应用程序的工具B.DDMS的全称是DalvikDebugMonitorService,是Android开发环境中的Dalvik虚拟机调试监控服务C.LogCat日志记录工具,这个工具很常用,可以理解为C或Java程序中的控制台输出,常被用来在手写代码的调试方式中,输出调试信息D.DK的管理器,使用自动更新的方式从Google服务器中下载最新的SDK版本及工具到本机12.Android虚拟设备的缩写是()。A.DDMSB.ADBC.AVDD.ADM13.onPause()什么时候调用?A.当界面启动时B.当onCreate方法被执行之后C.当界面被隐藏时D.当界面重新显示时14.下列说法正确的是()。A.每个进程都运行于自己的java虚拟机(VM)中B.默认情况下,每个应用程序中均运行于自己的进程中,而且此进程不会被消毁C.每个应用程序会被赋予一个唯一的linux用户ID,从而使得该应用程序下的文件,其它用户也可以访问D.一个应用程序数据,可以随意被其它应用程序所访问15.下面关于Linux内核描述错误的是()。A.由于Linux内核全部使用Java语言编写,故Android的Linux内核层也全部是用Java语言编写的B.Linux是一个开源的操作系统,由非营利的组织——Linux基金会所管理C.Android的内核属于Linux内核的一个分支D.目前,Android的Linux内核层包括安全管理、内存管理、进程管理、网络协议栈、驱动程序模型和电源管理等16.下面选项中,()是Android的四大组件之一。A.ListViewB.ActivityC.IntentD.Bundle17.以下关于移动互联网的说法正确的是()。A.移动互联网是PC互联网的别称B.移动互联网是将移动通讯和互联网二者结合起来C.移动互联网市场增长缓慢D.移动互联网与传统行业正在完全独立18.使用AndroidStudio创建项目时,“MinimumSDK”的意思是()。A.最低支持的AndroidAPI版本B.最高支持的AndroidAPI版本C.编译AndroidAPI版本D.最适合的AndroidAPI版本19.使用AndroidStudio创建项目时,关于“CompanyDomain”说法正确的是()。A.公司中文名称B.公司英文名称C.公司域名D.公司IP地址20.使用AndroidStudio创建项目时,关于“Packagename”说法不正确的是()。A.应用程序包名B.每一个app都有一个独立的包名C.如果两个app的包名相同,Android会认为他们是同一个appD.默认与“CompanyDomain”有关,不可以单独设置Packagename21.关于Android系统的优势,不正确的是()。A.开放性B.与运营商捆绑C.丰富的硬件选择D.开发商不受任何限制22.启动Activity的方法是()。A.runActivity()B.goActivity()C.startActivity()D.startActivityForIn()23.下面选项中,()是Android的四大组件之一。A.ListViewB.ActivityC.IntentD.Bundle24.在Android应用程序中,图片应放在()目录下。A.rawB.valuesC.layoutD.drawable25.对于“src/main/res/layout”目录,以下正确的是()。A.用来保存图像文件B.用来保存与用户界面相关的布局文件C.用来保存菜单文件D.用来存放Java类26.使用AndroidStudio创建一个项目后,AndroidStudio会自动创建相应的项目结构。(√)27.我们在写Android项目时可以直接使用Android提供的控件。(√)28.singleTop模式启动的Activity在Activity栈中只存在一个。(×)29.Activity中,setContentView必须要放在findViewById之前。(√)30.Activity可以表现为一个悬浮窗体。(√)31.Activity可以通过一个别名去访问。(×)32.Activity是为用户操作而展示的可视化用户界面。(√)33.AndroidManifest文件的扩展名是apk。(×)34.Android的隐式意图至少包含一个category:"ent.category.DEFAULT"。(√)35.Fragment必须总是被嵌入到一个activity中,它们的生命周期直接被其所属的宿主activity的生命周期影响。(√)36.Fragment表现Activity中用UI的一个行为或者一部分。(√)37.Fragment与Activity之间传递数据一般使用setArgument()。(√)38.Fragment可以独立于Activity存在。(×)39.O2O即OnlineToOffline(在线离线/线上到线下),是指将线下的商务机会与互联网结合,让互联网成为线下交易的前台。(√)40.一个应用程序可以有若干个Activity。(√)41.以下关于Android的日志输出,Log.i()是输出普通消息。(√)42.以下关于Android的日志输出,Log.w()是输出调试信息。(×)43.以下关于Android的日志输出,错误消息的颜色是橙色。(×)44.使用Fragment时,除了可以继承Fragment,还可以继承DialogFragment、ListFragment、PreferenceFragment。(√)45.可以通过设置android:theme="@android:style/Theme.Dialog",使Activity显示为对话框模式。(√)46.可视生命周期是Activity在界面上从可见到不可见的过程。(√)47.在Android平台架构中,底层是基于Windows内核的。(×)48.所谓"*.9.png"这是Android里所支持的一种特殊的图片格式,用它可以实现不失真拉伸。(√)49.密度无关像素。(√)50.Activity的启动模式分为standard、singleTop、singleTask、singleInstance4种。(√)形考任务2【简答题】使用zxing完成扫描二维码的初始化、扫描、结果提示功能,实现主要代码即可。答:导入项目@OverridepublicvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.main);//初始化CameraManagerCameraManager.init(getpplcatin();viewfinderView=(ViewfinderView)findViewByld(R.id.viewfinder.view);txtResult=(TextView)findViewByld(R.id.txtResult);hasSurface=false;inactivityTimer=newInactivityTimer(this);}打开Eclipse导入源码中的Android项目,然后右击项目选择"Buildpath"--》"AddExternalArchives"把核心库core.jar文件加入到项目中。此时编译一下项目,会发现报错"Multiplesubstitutionsspecifiedinnon-positionalformat;didyoumeantoaddtheformatted="false"attribute?”之类的。打开raw下的Values发现错误是在一个<String>上。这里把"preferences__custom_,product_search_summary”里的%s%f全部都改成%1$s%1$f(因为我们用不到多国语言,建议只保留默认的Value,其他全部删除)。.原因:由于新的SDK采用了新版本的aapt(Android项目编译器),这个版本的aapt编译起来会比老版本更加的严格,然后在Android最新的开发文档的描述String的部分,已经说明如何去设置%s等符号“IfyouneedtoformatyourstringsusingString.format(String,bje,thenyoucandosobyputtingyourformatargumentsinthestringresource.Forexample,withthefollowingresource:<stringname="welcome_messages">Hello,%1$s!Youhave%2$dnewmessages.</string>Inthisexample,theformatstringhastwoarguments:%1Ssisastringand%2$disadecimalnumber.Youcanformatthestringwitharguementsfromyouraplication…"经过以上步骤后项目应该就可以运行了。但是ZXing的android项目东西太多了,有很多是我们不需要的,得新建另一个项目简化它。简化在开始前大致介绍一下简化ZXing需要用到各个包、类的职责。·CaptureActivity。这个是启动Activity也就是扫描器(如果是第一安装,它还会跳转到帮助界面)。·CaptureActivityHandler解码处理类,负责调用另外的线程进行解码。·DecodeThread解码的线程。·com.google.xing.client.android.camera包,摄像头控制包。·ViewfinderView自定义的View,就是我们看见的拍摄时中间的框框了。新建另一个项目。新建另一个项目将启动的Activity命名为CaptureActivity,并导入核心库。项目新建完成后我们打开CaptureActity的布局文件,我这里为main。把里面的XML修改为:<FrameLayoutxmIns:android="/apk/res/android"android:layout_width="fill_parent"android:layout_height="fillparent"><SurfaceViewandroid:id="@+id/preview_view"android:layout_width="fill_parent"android:layout_heigh="illparent"android:layout_centerInParent="true"/><com.Zxing.Demo.view.ViewfinderViewandroid:id="@+id/viewfinder_yview"android:layout_width=fill_parentandroid:layout_height="fil_parent"android:background="@android:color/transparent"/><TextViewandroid:layout_width="wrap_content"android:id="@+id/txtResult"android:layout_height="wrap_content"android:text='@string/hello"/></FrameLayout>可以看到在XML里面用到了ViewfinderView自定义view。所以新建一个View的包,然后把:ViewfinderView和ViewfinderResultPointCallback靠到里面(记得对应修改XML里面的包)。打开CaptureActivity覆盖onCreate方法:这里调用到的CameraManager类是控制摄像头的包里的类。新建一个camera包把:com.google.xing.client.android.camera里面的类全部拷入,另外我把PlanarYUVLuminanceSource也拷入到这个包里面。根据错误的提示来修正代码,主要是修改正包结构。(整个简化的流程都是如此:"根据错误提示,修改代码")。在修改的过程中,有很多是关于R资源的问题,在此我们需要将Values里面的两个xml资源文件拷入项目中:colos.xml和ids.xml。ctrl+b一下看看error是不是少了很多。在CameraManager中有些地方需要用到项目的配置,这里需要把配置直接写入代码中:/SharedPreferencesprefs=PreferenceManager.getDefaultSharedPreferences(context);//是否使用前灯//if(prefs.getBoolean(PreferencesActivity.KEY_FRONT__LIGHT,false)){//FlashlightManager.enableFlashlight);//}FlashlightManager.enableFlashlight);使用摄像头需要加入相应的权限:<uses-permissionandroid:name="android.permission.CAMERA"></uses-permission><uses-permissionandroid:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission><uses-featureandroid:name="android.hardware.camera"/><uses-featureandroid:name="android.hardware.camera.autofocus'<uses-permissionandroid:name="android.permission.VIBRATE"/><uses-permissionandroid:name="android.permission.FLASHLIGHT"/>当View和camera包里的错误修正完成后,我们继续来看CaptureActivity。覆盖onResume方法初始化摄像头:@OverrideprotectedvoidonResume(){super.onResume();SurfaceViewsurfaceView=(SurfaceView)findViewByld(R.id.preview__view);SurfaceHoldersurfaceHolder=surfaceView.getHolder();if(hasSurface){initCamera(surfaceHolder);}else{surfaceHolder.addCallback(this);surfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);}decodeFormats=null;characterSet=null;playBeep=true;AudioManageraudioService=(AudioManager)getSystemService(AUDIOSERVICE);if(audioService.getRingerMode()|=AudioManager.RINGER__MODE_NORMAL){playBeep=false;}initBeepSound();vibrate=true;}initCameraprivatevoidinitCamera(SurfaceHoldersurfaceHolder){try{CameraManager.get).openDriver(surfaceHolder);}catch(IlOExceptionioe){return;}catch(RuntimeExceptione){return;}if(handler==nul){handler=newCaptureActivityHandler(this,decodeFormats,characterSet);}}SurfaceHolder接口实现@OverridepublicvoidsurfaceChanged(SurfaceHolderholder,intformat,intwidth,intheight){}@OverridepublicvoidsurfaceCreated(SurfaceHolderholder){if(!hasSurface){hasSurface=true;.initCamera(holder);}}@OverridepublicvoidsurfaceDestroyed(SurfaceHolderholder){hasSurface=false;}initCamera()方法用于初始化摄像头,如果排除了所有的error,运行项目时就可以看到大致扫描界面了。surfaceHolderaddCallback(this);表示让CaptureActivity实现其callback接口。handler=newCaptureActivityHandler(this,decodeFormats,characterSet)用于进行扫描解码处理。解码上面的步骤主要都是用于对摄像头的控制,而解码的真正工作入口是在CaptureActivityHandler里面的。新建一个Decoding包把以下文件拷入包中:·CaptureActivityHandler·DecodeFormatManager·DecodeHandler·DecodeThread·FinishListener·InactivityTimer·Intents由于我们的包结构和Zzxing项目的有所不同所以需要注意一下类的可访问性同样开始ctrl+B编译一下,然后开始修正错误。在CaptureActivityHandler里把handleMessage里的部分方法先注释掉如:"decode.succeded"分支,这是解码成功时调用CaptureActivity展示解码的结果。在DecodeThread类里,修改部分涉及Preference配置的代码:DecodeThread(CaptureActivityactivity,Vector<BarcodeFormat>decodeFormats,StringcharacterSet,ResultPointallbackresultPointCallback){this.activity=activity;handlerlnitLatch=newCountDownLatch(1);hints=newHashtable<DecodeHintType,Object>(3);////Theprefscan'tchangewhilethethreadisrunning,sopickthemuponcehere,//if(decodeFormats==null|IdecodeFormats,isEmpty()){//SharedPreferencesprefs=PreferenceManager.getDefaultSharedPreferences(activity);//decodeFormats=newVector<BarcodeFormat>();//if(prefsgetBoolean(PreferencesActivity.KEY_DECODE_1D,true)){//decodeFormats.addAl(lDecodeFormatManager.ONE_D_FORMATS);//if(prefs.getBoolean(PreferencesActivity.KEY_DECODE_QR,true)){//decodeFormats.addll(DecodeFormatManager.QR.CODE_FORMATS);//}//if(prefsgetBoolean(PreferencesActivity.KEY_DECODE_DATA__MATRIX,true)){//decodeFormats.addAl(DecodeFormatManager.DATA._MATRIX_FORMATS);//}//}if(decodeFormats=nullIIdecodeFormats,isEmpty(){decodeFormats=newVector<BarcodeFormat>/);decodeFormats.addAll(DecodeFormatManager.ONE_D_FORMATS);decodeFormats.addAll(DecodeFormatManager.QR_CODE_FORMATS);decodeFormats.addAll(DecodeFormatManager.DATA_MATRIX_FORMATS);}hints.put(DecodeHintType.POSSIBLE_FORMATS,decodeFormats);if(characterSet!=nul){hints.put(DecodeHintType.CHARACTER_SET,characterSet);}hints.put(DecodeHintType.NEED_RESULT_POINT_CALLBACK,resultPointCallback);}【简答题】Android的五种传统布局分别为什么?答:(1)Linearlayout(线性布局)(2)Relativelayout(相对布局)(3)FrameLayout(帧布局)(4)Absolutelayout(绝对布局)(5)TableLayout(表格布局)其中,最常用的布局是前三种,绝对布局用过一点,表格布局根本没用过(可能会很好用吧,但是前几种满足了我的日常需求)形考任务31.关于Android系统的优势,不正确的是()。A.开放性B.与运营商捆绑C.丰富的硬件选择D.开发商不受任何限制2.下面关于Linux内核描述错误的是()。A.由于Linux内核全部使用Java语言编写,故Android的Linux内核层也全部是用Java语言编写的B.Linux是一个开源的操作系统,由非营利的组织——Linux基金会所管理C.Android的内核属于Linux内核的一个分支D.目前,Android的Linux内核层包括安全管理、内存管理、进程管理、网络协议栈、驱动程序模型和电源管理等3.在Android平台架中,浏览器位于()。A.Linux核心层B.系统运行库层C.应用层D.浏览器层4.下列说法正确的是()。A.每个进程都运行于自己的java虚拟机(VM)中B.默认情况下,每个应用程序中均运行于自己的进程中,而且此进程不会被消毁C.每个应用程序会被赋予一个唯一的linux用户ID,从而使得该应用程序下的文件,其它用户也可以访问D.一个应用程序数据,可以随意被其它应用程序所访问5.Android()版本使用一种新的MaterialDesign设计语言。A.Android2.3B.Android4.1C.Android4.3D.Android5.06.截至2015.8占有率最多的版本是()。A.Android1.XB.Android2.XC.Android3.XD.Android4.X7.AndroidStudio是基于哪个Java集成开发环境?()A.IntelliJIDEAB.EclipseC.DreamweaverD.VisualStudio8.截至2015年12月,Google官方推荐的开发工具是()。A.EclipseADTB.AndroidStudioC.DreamweaverD.VisualStudio9.使用AndroidStudio创建项目时,关于“CompanyDomain”说法正确的是()。A.公司中文名称B.公司英文名称C.公司域名D.公司IP地址10.使用AndroidStudio创建项目时,关于“Packagename”说法不正确的是()。A.应用程序包名B.每一个app都有一个独立的包名C.如果两个app的包名相同,Android会认为他们是同一个appD.默认与“CompanyDomain”有关,不可以单独设置Packagename11.下列说法正确的是()。A.每个进程都运行于自己的java虚拟机(VM)中B.默认情况下,每个应用程序中均运行于自己的进程中,而且此进程不会被消毁C.每个应用程序会被赋予一个唯一的linux用户ID,从而使得该应用程序下的文件,其它用户也可以访问D.一个应用程序数据,可以随意被其它应用程序所访问12.使用AndroidStudio创建项目时,“MinimumSDK”的意思是()。A.最低支持的AndroidAPI版本B.最高支持的AndroidAPI版本C.编译AndroidAPI版本D.最适合的AndroidAPI版本13.使用AndroidStudio创建项目时,“LayoutName”的意思是()。A.布局文件的名称B.Activity文件的名称C.Java文件的名称D.项目的名称14.如果发现UI布局在手机上出现问题,可以用sdk中的()工具查看。A.DDMSB.HierarchyViewerC.TraceViewD.ADB15.想把手机上的文件拷贝到电脑上,应当使用哪个命令?()A.adbpushB.adbinstallC.adbcopyD.adbpull16.Android开发中常用的开发与调试工具有很多,下面相关描述不对的是()。A.AndroidDebugBridge,简称adb,它只是一个能用来调试Android应用程序的工具B.DDMS的全称是DalvikDebugMonitorService,是Android开发环境中的Dalvik虚拟机调试监控服务C.LogCat日志记录工具,这个工具很常用,可以理解为C或Java程序中的控制台输出,常被用来在手写代码的调试方式中,输出调试信息D.DK的管理器,使用自动更新的方式从Google服务器中下载最新的SDK版本及工具到本机17.DDMS中Log信息分为()个级别。A.3B.4C.5D.718.主题资源文件可以定义在().A.style.xmlB.AndroidManifest.xmlC.ActivityD.Application19.以下关于Android的日志输出,()是输出警告消息。A.Log.d()B.Log.i()C.Log.w()D.Log.e()20.对于“src/main/res/layout”目录,以下正确的是()。A.用来保存图像文件B.用来保存与用户界面相关的布局文件C.用来保存菜单文件D.用来存放Java类21.在Android应用程序中,图片应放在()目录下。A.rawB.valuesC.layoutD.drawable22.Android项目工程下面的assets目录的作用是()。A.放置应用到的图片资源B.主要放置一些文件资源,这些文件会被原封不动打包到apk里面C.放置字符串,颜色,数组等常量数据D.放置一些与UI相应的布局文件,都是xml文件23.Activity全生命周期中,第一个需要执行的方法是()。A.onStart()B.onCreate()C.onReStart()D.onResume()24.退出activity对一些资源以及状态的操作保存,可以在生命周期的哪个方法中进行?()A.onPause()B.onCreate()C.onResume()D.onStart()25.以下关于移动互联网的说法正确的是()。A.移动互联网是PC互联网的别称B.移动互联网是将移动通讯和互联网二者结合起来C.移动互联网市场增长缓慢D.移动互联网与传统行业正在完全独立26.AndroidManifest文件的扩展名是apk。(×)27.O2O即OnlineToOffline(在线离线/线上到线下),是指将线下的商务机会与互联网结合,让互联网成为线下交易的前台。(√)28.Activity是为用户操作而展示的可视化用户界面。(√)29.以下关于Android的日志输出,Log.i()是输出普通消息。(√)30.以下关于Android的日志输出,Log.w()是输出调试信息。(×)31.以下关于Android的日志输出,警告消息的颜色是绿色。(×)32.以下关于Android的日志输出,错误消息的颜色是橙色。(×)33.可以通过设置android:theme="@android:style/Theme.Dialog",使Activity显示为对话框模式。(√)34.可视生命周期是Activity在界面上从可见到不可见的过程。(√)35.在Android平台架构中,底层是基于Windows内核的。(×)36.所谓"*.9.png"这是Android里所支持的一种特殊的图片格式,用它可以实现不失真拉伸。(√)37.Activity中,setContentView必须要放在findViewById之前。(√)38.Activity可以表现为一个悬浮窗体。(√)39.Activity可以通过一个别名去访问。(×)40.使用AndroidStudio创建一个项目后,AndroidStudio会自动创建相应的项目结构。(√)41.使用Intent启动一个Activity分为隐式Intent和显式Intent。(√)42.使用新的“holographic”主题的活动包含ActionBar。(√)43.发送通知需要通过NotificationManager.notify()来实现。(√)44.可以通过继承ImageView自定义RoundImageView。(√)45.可以通过重写Button来动态实现一些效果。(√)46.密度无关像素。(√)47.帧布局没有任何定位方式。(√)48.我们在写Android项目时可以直接使用Android提供的控件。(√)49.shape是一个形状定义工具。(√)50.Toast不获得焦点。(√)形考任务4【简答题】编写activity_main.xml,实现底部菜单,并且底部菜单可以滑动切换。答:<android.support.v4.view.ViewPagerandroid:layout_weight="1"android:id="@+id/viewpager"android:layout_width="match_parent"android:layout_height="0dp"android:layout_above="@+id/bottom_tab_layout"></android.support.v4view.ViewPager>…·1·2·3·4·5·6·7·8·9·自定义适配器adapten类,新CustomViewPagerAdapterjva文件packagecom.sylantysyvideo;impotandroidsppor.v4.view.PagerAdapter,importandroidview.View;importandroidview.ViewGroup;importjava.util.List;pubiccasCusomMewagerdapterextendsPagerAdapter(List<View>pages;pubicCustomVewagerdaper(ist<View>pages){this.pages=pages;};//获取页面数量@OverridepublicintgetCount(){returnpagessize();}//判断类型是否匹配@OverridepublicbooleanisViewFromObject(Viewview,Objectobject){returnobject==view;//加载page@OverridepublicObjectinstantiateltem(ViewGroupcontainer,intposition){Viewview=pagesget(position);container.addView(view);returnview;}//移除page@Overridepublicvoiddestroyltem(ViewGroupcontainer,intposition,Objectobject){container.removeView(pages.get(position));}}·1·2·3·4·5·6·7·8·9·10·11·12·13·14·15·16·17·18·19·20·21·22·23·24·25·26·27·28·29·30·31·32·33·34·35·36·37·38·39在MainActivity类文件,MainActivityjava中调用ViewPager...//MainActivity起始函数protectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentViewtttp://doc.yout.main_activity);initPages();//初始化自定义适配器customViewPagerAdapter=newCustomViewPagerAdapter(pages);//设置adapterviewPager.setAdapter(customViewPagerAdapter);viewPager.setOnPageChangeListener(this);}·1·2·3·4·5·6·7·8·9·10·11·12形考任务5【简答题】编写style.xml实现一个矩形,矩形为圆角、渐变色。答:/***带渐变色效果的圆角矩形*@description:*@authorldm*@date2016-4-26下午3:47:12*/publicclassRoundRectsActivityextendsActivity{@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(newRoundRectView(this));privatestaticclassRoundRectViewextendsView{//Rect类主要用于表示坐标系中的一块矩形区域privateRectmRect;//GradientDrawable支持使用渐变色来绘制图形,通常可以用作Button或是背景图形privateGradientDrawablemDrawable;publicRoundRectView(Contextcontext){super(context);setFocusable(true);initView();/***初始化数据*@description:*@authorldm*@date2016-4-26下午3:56:06*/privatevoidinitView(){mRect=newRect(0,0,240,240);//orientation指定了渐变的方向,int[]colors指定渐变的颜色由colors数组指定,数组中的每个值为一个颜色。mDrawable=newGradientDrawable(GradientDrawable.Orientation.TL_BR,newint[]{0xFFFF0000,0xFF00FF00,0xFF0000FF});//设置Drawable的形状为矩形mDrawable.setShape(GradientDrawable.RECTANGLE);//设置渐变的半径mDrawable.setGradientRadius((float)(Math.sqrt(2)*120));/***置图片四个角圆形半径*@description:*@authorldm*@date2016-4-26下午4:08:17*/staticvoidsetCornersRadii(GradientDrawabledrawable,floatr0,floatr1,floatr2,floatr3){//设置图片四个角圆形半径:1、2两个参数表示左上角,3、4表示右上角,5、6表示右下角,7、8表示左下角drawable.setCornerRadii(newfloat[]{r0,r0,r1,r1,r2,r2,r3,r3});@OverrideprotectedvoidonDraw(Canvascanvas){mDrawable.setBounds(mRect);floatr=16;canvas.save();形考任务6【简答题】编写strings.xml实现中文和英文两种字符串资源。答:#include<iostream>#include<string>usingnamespacestd;#definetab"/t"intmain(){localedef;cout<<()<<endl;localecurrent=cout.getloc();cout<<()<<endl;floatval=1234.56;cout<<val<<endl;//chagetofrench/francecout.imbue(locale("chs"));current=cout.getloc();cout<<()<<endl;cout<<val<<endl;//上面是说明locale的用法,下面才是本例的内容,因为其中用到了imbue函数cout<<"*********************************"<<endl;//为了保证本地化输出(文字/时间/货币等),chs表示中国,wcout必须使用本地化解析编码wcout.imbue(std::locale("chs"));//string英文,正确颠倒位置,显示第二个字符正确stringstr1("ABCabc");stringstr11(str1.rbegin(),str1.rend());cout<<"UK/ts1/t:"<<str1<<tab<<str1[1]<<tab<<str11<<endl;//wstring英文,正确颠倒位置,显示第二个字符正确wstringstr2=L"ABCabc";wstringstr22(str2.rbegin(),str2.rend());wcout<<"UK/tws4/t:"<<str2<<tab<<str2[1]<<tab<<str22<<endl;//string中文,颠倒后,变成乱码,第二个字符读取也错误stringstr3("你好么?");stringstr33(str3.rbegin(),str3.rend());cout<<"CHN/ts3/t:"<<str3<<tab<<str3[1]<<tab<<str33
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论