

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 綿陽師范學院《臨床醫學工程技術》2023-2024學年第二學期期末試卷
- 上海市高境第一中學2024-2025學年高三第二次綜合考試試題含解析
- 四川民族學院《機器人學》2023-2024學年第二學期期末試卷
- 許昌學院《醫學科學研究導論》2023-2024學年第二學期期末試卷
- 宣化科技職業學院《新媒體藝術傳播》2023-2024學年第二學期期末試卷
- 四川工業科技學院《結構疲勞與斷裂力學》2023-2024學年第一學期期末試卷
- 邢臺學院《醫學人文導論》2023-2024學年第一學期期末試卷
- 山東省德州市齊河縣一中2025年高三教學測試(二)英語試題含解析
- 嘉應學院《創新方法與實踐(以競賽導向的信息技術創新實踐)》2023-2024學年第二學期期末試卷
- 石家莊二手房房屋買賣合同二零二五年
- 2019版新人教版高中英語必修+選擇性必修共7冊詞匯表匯總(帶音標)
- 智能移動焊接機器人設計案例及分析
- DB13(J)-T 8496-2022 城市污水處理廠提標改造技術標準
- 相撲場上的力量對決
- 抗生素合理應用課件
- 2024年廣西廣投資本管理有限公司招聘筆試參考題庫含答案解析
- 化工生產操作工培訓教材
- 預防人畜共患病課件
- 輕量化目標檢測模型的研究
- 腎移植圍手術管理的課件
- 09DX004 民用建筑工程電氣初步設計深度圖樣
評論
0/150
提交評論