MSTAR平臺(tái)開發(fā)入手簡(jiǎn)中版_第1頁
MSTAR平臺(tái)開發(fā)入手簡(jiǎn)中版_第2頁
MSTAR平臺(tái)開發(fā)入手簡(jiǎn)中版_第3頁
MSTAR平臺(tái)開發(fā)入手簡(jiǎn)中版_第4頁
MSTAR平臺(tái)開發(fā)入手簡(jiǎn)中版_第5頁
已閱讀5頁,還剩82頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

DemoApp

快速指導(dǎo)

SunnyWang(王喬)2023/1/28Copyright?2021MStarSemiconductor,Inc.Allrightsreserved.2內(nèi)容MAE平臺(tái)簡(jiǎn)介Statemachine〔狀態(tài)機(jī)〕Widget/Container/Model(控件/容器/數(shù)據(jù)容器)View〔視圖〕APManager〔應(yīng)用程序管理者〕基于MAE平臺(tái)設(shè)計(jì)第一個(gè)應(yīng)用程序設(shè)計(jì)狀態(tài)機(jī)用XFSM實(shí)現(xiàn)狀態(tài)機(jī)用XRG裝載資源編寫代碼在模擬器上運(yùn)行1MAE平臺(tái)簡(jiǎn)介2023/1/28Copyright?2021MStarSemiconductor,Inc.Allrightsreserved.41.1

MAE平臺(tái)架構(gòu)1.2AP的組成2023/1/28Copyright?2021MStarSemiconductor,Inc.Allrightsreserved.51.3狀態(tài)機(jī)〔Statemachine〕狀態(tài)〔Mode〕狀態(tài)跳轉(zhuǎn)〔Transition〕執(zhí)行順序〔Sequence〕2023/1/28Copyright?2021MStarSemiconductor,Inc.Allrightsreserved.61.3.1狀態(tài)和活動(dòng)ModeandActivities一個(gè)狀態(tài)包含狀態(tài)名〔Modename〕進(jìn)入活動(dòng)〔Entryactivity〕退出活動(dòng)〔Exitactivity〕2023/1/28Copyright?2021MStarSemiconductor,Inc.Allrightsreserved.71.3.2狀態(tài)跳轉(zhuǎn)〔Transition〕狀態(tài)跳轉(zhuǎn)包含:源狀態(tài)〔SourceMode〕目標(biāo)狀態(tài)〔DestinationMode〕跳轉(zhuǎn)類型〔TransitionType〕事件/條件〔Event/Condition〕:Internal,External行為〔Action〕2023/1/28Copyright?2021MStarSemiconductor,Inc.Allrightsreserved.8SourceModeTargetModeEvent&Condition(optional)RunAction(optional)ExitActivitiesEntry

Activities1.3.3執(zhí)行順序〔Executesequence〕進(jìn)入退出函數(shù)和action的執(zhí)行順序執(zhí)行Condition函數(shù):returnTRUE退出源狀態(tài)〔Exist函數(shù)〕執(zhí)行Action函數(shù)進(jìn)入目的狀態(tài)〔Entry函數(shù)〕2023/1/28Copyright?2021MStarSemiconductor,Inc.Allrightsreserved.91.4XMMIUIlayoutXMMI給AP提供了containers和widgets來設(shè)計(jì)UIlayoutWidget是根本的UI單位,例如Imagewidget和Textwidget等Container用來把多個(gè)widget(和container)放在一起組成一個(gè)顯示單元UIflow是由Viewmanager控制的多個(gè)View組成的Model是數(shù)據(jù)的容器,通常和Widget搭配使用。2023/1/28Copyright?2021MStarSemiconductor,Inc.Allrightsreserved.101.5Widget顯示數(shù)據(jù)處理事件只知道自己的大小而不知道自己的位置必須放在一個(gè)Container里面通常情況下只能搭配一種Model需要監(jiān)聽數(shù)據(jù)的改變有一些共同和特殊的屬性〔properties〕Color,padding,widget-specificflags2023/1/28Copyright?2021MStarSemiconductor,Inc.Allrightsreserved.11Container(parent)Widget(child)1.6Container有一個(gè)

(widget)stack來存放其子widget對(duì)widget的Layout進(jìn)行管理處理Widget繪制的請(qǐng)求自下而上的繪制其子widget2023/1/28Copyright?2021MStarSemiconductor,Inc.Allrightsreserved.121.7Model一個(gè)數(shù)據(jù)容器只用來存放數(shù)據(jù)而不去管數(shù)據(jù)如何呈現(xiàn)可以對(duì)其存放的數(shù)據(jù)進(jìn)行操作有一個(gè)通知機(jī)制〔IModel〕添加listener(注冊(cè)一個(gè)callback函數(shù))通知取消(Cancel)listener2023/1/28Copyright?2021MStarSemiconductor,Inc.Allrightsreserved.132023/1/28Copyright?2021MStarSemiconductor,Inc.Allrightsreserved.141.8Container,Widget

和Model之間的通知機(jī)制WidgetContainerModelAddListenerNotifyEventsICONTAINER_Invalidate()IWIDGET_Draw()1.9VDF(ViewDescriptionFile)〔一〕什么是VDF? VDF即ViewDescriptionFile,是一種XML格式的編程語言,我們可以用VDF來描述畫面。如widget和container的大小、位置、屬性等。為什么要使用VDF? 我們可以在C代碼中把widget插入container,但是對(duì)于復(fù)雜的View來說這樣就太麻煩了。于是XMMI提供了VDF的機(jī)制來簡(jiǎn)化UI的實(shí)現(xiàn)。VDF的優(yōu)點(diǎn)語法簡(jiǎn)單,容易使用具有高可讀性容易定制2023/1/28Copyright?2021MStarSemiconductor,Inc.Allrightsreserved.152023/1/28Copyright?2021MStarSemiconductor,Inc.Allrightsreserved.161.9VDF(ViewDescriptionFile)〔二〕VDFId:View1Id:View2…Widget1Widget2Widget3Widget4APViewMgrViewLoaderResourceFile.cGeneratorHeaderfile(ViewID&WidgetID)2023/1/28Copyright?2021MStarSemiconductor,Inc.Allrightsreserved.171.9VDF(ViewDescriptionFile)〔三〕<App><ViewClsID=“OOXX〞Id=“SAMPLE_OO〞LayoutType=“VT_NORMAL〞><WidgetClsID=“LaLa〞Id=“SAMPLE_W1SizeWidth=“176〞SizeHeight=“176〞><Widget…><ModelClsID=“Hello〞></Model></Widget></Widget></View><ViewClsID=“OOXX〞Id=“SAMPLE_XX〞LayoutType=“VT_DIALOG〞>…</View><ModelClsID=“Paul〞><ModelItem>…</ModelItem></Model></App>VDF的語法可以參考ViewDefinitionLanguage.dtd,mae_vdftags.h1.10AP

Manager2023/1/28Copyright?2021MStarSemiconductor,Inc.Allrightsreserved.18AppletAAppletBAAPHistoryStartApplet(B)MAEEVT_APP_SUSPENDEVT_APP_STARTB1.10APManager

2023/1/28Copyright?2021MStarSemiconductor,Inc.Allrightsreserved.19AppletAAppletBAAPHistoryMAEEVT_APP_RESUMEEVT_APP_STOPBCloseApplet1.11引用個(gè)數(shù)ReferencecountMAE把每一個(gè)APP/SRV/Widget看做一個(gè)對(duì)象,Referencecount用來表示使用該對(duì)象當(dāng)前被引用的個(gè)數(shù)。當(dāng)一個(gè)對(duì)象被另一個(gè)對(duì)象創(chuàng)立或引用時(shí),這個(gè)對(duì)象的Referencecount會(huì)被加一。當(dāng)一個(gè)對(duì)象被引用它的對(duì)象釋放的時(shí)候,MAE會(huì)將其Referencecount減一,然后判斷Referencecount是否等于0。只有Referencecount等于0時(shí)該對(duì)象才會(huì)真正被釋放。2023/1/28Copyright?2021MStarSemiconductor,Inc.Allrightsreserved.201.12事件處理流程Eventflow2023/1/28Copyright?2021MStarSemiconductor,Inc.Allrightsreserved.21每一個(gè)object有它自己的事件處理函數(shù)叫做xxx_HandleEvent1、用戶可以對(duì)接收到的Event進(jìn)行處理2、該Event被交給Viewmanager處理3、如果Viewmanager未處理,把該事件交給statemachine處理2.基于MAE平臺(tái)設(shè)計(jì)第一個(gè)應(yīng)用程序?qū)⒅v述以下內(nèi)容創(chuàng)立一個(gè)范例AP使用XFSM設(shè)計(jì)AP通過主菜單啟動(dòng)AP2023/1/28Copyright?2021MStarSemiconductor,Inc.Allrightsreserved.232023/1/28Copyright?2021MStarSemiconductor,Inc.Allrightsreserved.242.1設(shè)計(jì)工具XMMI提供了以下工具,這些工具讓我們?cè)O(shè)計(jì)AP變得更容易XFSM(XmmiFiniteStateMachine):這個(gè)工具幫助我們用狀態(tài)機(jī)來設(shè)計(jì)AP。程序員可以使用XFSM來設(shè)計(jì)狀態(tài)樹和狀態(tài)條狀。XFSM會(huì)把這些設(shè)計(jì)轉(zhuǎn)變成C代碼。XRG(XmmiResourceGenerator):XRG管理所有的資源,這些資源會(huì)在AP中用到,例如:字符串圖片和鈴聲VDF用戶設(shè)定值〔可定制〕其他(菜單,字體,PLMN表格等)2.2XFSM與XRG的關(guān)系XFSM幫助我們建立AP的程序框架

XRG提供AP要用到的資源將框架和資源組合在一起2.3創(chuàng)立一個(gè)新AP的過程AP設(shè)計(jì)階段〔狀態(tài)機(jī),UI流圖〕使用XFSM實(shí)現(xiàn)狀態(tài)機(jī)創(chuàng)立一個(gè)新工程設(shè)計(jì)狀態(tài)樹(ModeTree)創(chuàng)立事件(Event)設(shè)計(jì)狀態(tài)跳轉(zhuǎn)(Transition)將設(shè)計(jì)轉(zhuǎn)成C代碼使用XRG新增需要的資源添加需要的字符串,圖片添加demo中要用到的菜單添加Shortcut創(chuàng)立一個(gè)新的VDF文件和頭文件〔headfile),并添加到XRG中編輯mmi_mainmenuapp.vdf,將demo參加主菜單編譯XRG編寫代碼在模擬器上運(yùn)行休息脫衣服穿衣服洗澡看電視開電視關(guān)電視打睡覺閉眼睜眼去洗澡9:00PM鈴響去接接完去睡覺洗完澡狀態(tài)分級(jí)后的簡(jiǎn)化狀態(tài)模型2.4狀態(tài)跳轉(zhuǎn)圖狀態(tài)樹Root休息看電視洗澡睡覺接電話英文化RootInit

StopSuspendActiveTakearestWatchTVTakeashower

GotoBedAnsweracallRootTakearestWatchTVTakeashower

GotoBedAnsweracall系統(tǒng)化范例APP狀態(tài)樹2.5狀態(tài)樹2.6UIFlowSelectDemoIncomingcallEndcallEndcallSelect9:00PMGotoBed3用XFSM實(shí)現(xiàn)狀態(tài)機(jī)2023/1/28Copyright?2021MStarSemiconductor,Inc.Allrightsreserved.313.1創(chuàng)立一個(gè)新XFSM工程〔一〕在XFSM翻開工程文件1.運(yùn)行tools\XFSM\XFSMWin.exe,菜單File\Open(proj\sc\customer\SZ\src\mmi\resource\XFSMProject\XFSMWS_xmmi.xml)3.1創(chuàng)立一個(gè)新XFSM工程〔二〕新增一個(gè)子工程,

菜單File\Add\NewProject在彈出的串口輸入如下信息,文件路徑選擇

proj\sc\application\mmi\app設(shè)置頁面默認(rèn)值即可。如果需要為DEMOAPP設(shè)置一個(gè)編譯宏,可以再CompilerOption一項(xiàng)中輸入“definded(__MMI_DEMOAPP__)〞3.1創(chuàng)立一個(gè)新XFSM工程〔二〕3.2設(shè)計(jì)狀態(tài)樹Init:entryActive:TakeRest:entry&exitWatchTV:Entry&ExitTakeShower:entry&exitAnswerCall:entry&exitGotoBed:entry&exitError:entry&exitSuspend:Stop:3.2.1添加Initmode在Modes頁面,在rootmode“DemoApp〞上點(diǎn)鼠標(biāo)右鍵.選擇“Additem“.3.2.2添加Activemode3.2.3添加Suspendmode3.2.4添加Stopmode3.2.5添加TakeRestmode3.2.6添加AnswerCallmode3.2.7添加GotoBedmode3.2.8添加ShowErrormode3.3添加內(nèi)部事件InitSuccessShowErrorRingTakeShowerEndCallGoToSleepWatchTVCloseApp3.4

添加狀態(tài)跳轉(zhuǎn)狀態(tài)跳轉(zhuǎn)列表

Transitions:[FROM]-[TO]-[TYPE]-[ACTION]-[CONDITION]-[EVENT1]-[EVENT2]-...[_DemoApp]-[_DemoApp]-[internal]-[TRUE]-[FALSE]-[DEMOAPP_IEVT_CloseApp][_DemoApp]-[_Active_Error]-[default]-[FALSE]-[FALSE]-[DEMOAPP_IEVT_ShowError][_Init]-[_Active]-[default]-[FALSE]-[FALSE]-[DEMOAPP_IEVT_InitSuccess][_Active_TakeRest]-[_Active_AnswerCall]-[default]-[FALSE]-[FALSE]-[DEMOAPP_IEVT_Ring][_Active_AnswerCall]-[_Active_TakeRest]-[deep]-[FALSE]-[FALSE]-[DEMOAPP_IEVT_EndCall][_Active_TakeRest_WatchTV]-[_Active_TakeRest_TakeShower]-[default]-[FALSE]-[FALSE]-[DEMOAPP_IEVT_TakeShower][_Active_TakeRest_TakeShower]-[_Active_GotoBed]-[default]-[FALSE]-[FALSE]-[DEMOAPP_IEVT_GoToSleep][_Active_TakeRest_TakeShower]-[_Active_TakeRest_TakeShower]-[internal]-[TRUE]-[FALSE]-[MAE_EVT_KEY_PRESS]添加transition〔一〕2023/1/28Copyright?2021MStarSemiconductor,Inc.Allrightsreserved.453.4.2添加transition〔二〕2023/1/28Copyright?2021MStarSemiconductor,Inc.Allrightsreserved.463.4.3添加transition〔三〕2023/1/28Copyright?2021MStarSemiconductor,Inc.Allrightsreserved.473.4.4添加transition〔四〕2023/1/28Copyright?2021MStarSemiconductor,Inc.Allrightsreserved.483.4.5添加transition〔五〕2023/1/28Copyright?2021MStarSemiconductor,Inc.Allrightsreserved.493.4.6添加transition〔六〕2023/1/28Copyright?2021MStarSemiconductor,Inc.Allrightsreserved.503.4.7添加transition〔七〕2023/1/28Copyright?2021MStarSemiconductor,Inc.Allrightsreserved.513.4.8添加transition〔八〕2023/1/28Copyright?2021MStarSemiconductor,Inc.Allrightsreserved.52步驟4–添加transition3.4.9狀態(tài)跳轉(zhuǎn)結(jié)果

生成代碼2023/1/28Copyright?2021MStarSemiconductor,Inc.Allrightsreserved.54將XFSM的設(shè)計(jì)生成代碼,執(zhí)行菜單Build->GenAll3.4.11XFSM幫我們做的修改

DemoApp源文件在\App_mmi\SourceFiles\app下創(chuàng)立DemoApp文件夾,并將mmi_DemoApp.c放入其中的src目錄DemoApp頭文件在DemoApp\inc目錄中放mmi_DemoApp.h,在DemoApp\inc\priv中放mmi_DemoApp_priv.h模擬器AP包含路徑:修改\proj\sc\application\mmi\app\AppIncludePath_V2.ini.makefile:修改proj\sc\application\mmi\app\app.makClasseID頭文件:修改proj\sc\application\mmi\core\mmi_clstbl.h2023/1/28Copyright?2021MStarSemiconductor,Inc.Allrightsreserved.554在XRG中添加資源4.1翻開XRG工程4.2添加字符串4.3添加圖片4.4添加菜單ID4.5添加ShortcutfunctionID4.6添加與修改VDF4.1翻開XRG工程2023/1/28Copyright?2021MStarSemiconductor,Inc.Allrightsreserved.57運(yùn)行\(zhòng)tools\XRG\XRG.exe,菜單File->OpenProject翻開工程文件\proj\sc\customer\SZ\src\mmi\resource\xmmi_base\xmmi.xml4.2添加字符串2023/1/28Copyright?2021MStarSemiconductor,Inc.Allrightsreserved.58添加一個(gè)字符串的步驟如下:翻開StringIDManager添加一個(gè)新的字符串ID填充該ID對(duì)應(yīng)的每種語言的內(nèi)容4.2.1翻開StringIDManager2023/1/28Copyright?2021MStarSemiconductor,Inc.Allrightsreserved.59添加字符串在StringTable上點(diǎn)擊右鍵,在彈出的菜單中,選擇StringIDManager4.2.2添加一個(gè)新的字符串ID(一)2023/1/28Copyright?2021MStarSemiconductor,Inc.Allrightsreserved.60添加字符串在Common上點(diǎn)擊右鍵,在彈出的菜單中,選擇Add->Single4.2.2添加一個(gè)新的字符串ID(二)2023/1/28Copyright?2021MStarSemiconductor,Inc.Allrightsreserved.61添加字符串生成如下紅框內(nèi)所示的新字符串ID4.2.2添加一個(gè)新的字符串ID(三)2023/1/28Copyright?2021MStarSemiconductor,Inc.Allrightsreserved.62添加字符串按紅色框內(nèi)修改字符串ID,然后點(diǎn)擊OK4.2.3填充新字符串內(nèi)容〔一〕2023/1/28Copyright?2021MStarSemiconductor,Inc.Allrightsreserved.63添加字符串雙擊Chinese_S,在String處輸入“樣例〞,添加該字符的中文文字4.2.3填充新字符串內(nèi)容〔二〕2023/1/28Copyright?2021MStarSemiconductor,Inc.Allrightsreserved.64添加字符串雙擊English,在String處輸入“Demo〞,添加該字符的英文文字4.2.4參照前面的步驟添加其他字符串TXT_LIL_N_DEMO_WATCH_TV〔中文“看電視〞,英“WatchTV〞TXT_LIL_N_DEMO_REACH_9〔中文“9點(diǎn)到〞,英“9:00PM〞〕TXT_LIL_N_DEMO_TAKE_SHOWER〔中文“洗澡〞,英“Takeshower〞〕TXT_LIL_N_DEMO_SPREAD_SOAP〔中文“擦肥皂〞,英“Spreadsoap〞〕4.3添加圖片4.3.1將圖片參加目錄2023/1/28Copyright?2021MStarSemiconductor,Inc.Allrightsreserved.67添加圖片在目錄\proj\sc\customer\SZ\src\mmi\resource\xmmi_base_Res\image\QVGA中新建Demo文件夾,并將DEMO_IMG_ANSWER_CALL.png,DEMO_IMG_SLEEP.png,DEMO_IMG_TAKE_SHOWER.png拷貝到此目錄中4.3.2翻開圖片列表2023/1/28Copyright?2021MStarSemiconductor,Inc.Allrightsreserved.68添加圖片雙擊image_list,XRG會(huì)裝載所有圖片資源界面。4.3.3添加圖片(wxd)2023/1/28Copyright?2021MStarSemiconductor,Inc.Allrightsreserved.69添加圖片點(diǎn)擊鼠標(biāo)右鍵,選擇Add->Multiple,此功能可以一次把一個(gè)目錄下的圖片添加進(jìn)來。Single就只能一次添加一張圖片。在彈出的窗口選中Demo,如右圖。然后點(diǎn)擊OK4.4添加菜單ID4.4.1翻開菜單列表2023/1/28Copyright?2021MStarSemiconductor,Inc.Allrightsreserved.71添加菜單雙擊menu_list,XRG裝載MENU界面,如以下圖。點(diǎn)擊紅色框內(nèi)的MainMenu切換到mainmenu界面4.4.2添加該AP在主菜單中菜單ID(一)2023/1/28Copyright?2021MStarSemiconductor,Inc.Allrightsreserved.72添加菜單在Organizer上點(diǎn)擊右鍵,選擇AddSub-Menu,在彈出的對(duì)話框中按右圖進(jìn)行輸入4.4.3添加該AP在主菜單中菜單ID(二)2023/1/28Copyright?2021MStarSemiconductor,Inc.Allrightsreserved.73添加菜單輸入完畢后如下所示4.4.4添加AP內(nèi)部的菜單ID〔一〕2023/1/28Copyright?2021MStarSemiconductor,Inc.Allrightsreserved.74添加菜單切換到APMENU頁面,在Application上點(diǎn)右鍵,在新窗口如下輸入4.4.4添加AP內(nèi)部的菜單ID〔二〕2023/1/28Copyright?2021MStarSemiconductor,Inc.Allrightsreserved.75添加菜單再次在application上點(diǎn)右鍵,輸入左圖數(shù)據(jù),添加完菜單后在樹狀結(jié)構(gòu)中新增菜單,如右圖4.5添加ShortcutfunctionID(一)2023/1/28Copyright?2021MStarSemiconductor,Inc.Allrightsreserved.76在Setting上點(diǎn)擊右鍵,選擇LibraryMode.在彈出的窗口中,點(diǎn)開Enum,雙擊ShortcutsFunctionID4.5添加ShortcutfunctionID(二)2023/1/28Copyright?2021MStarSemiconductor,Inc.Allrightsreserved.77添加Shortcut點(diǎn)擊ADD,添加SHORTCUTS_FUNC_DEMO4.6添加VDF4.6.1準(zhǔn)備VDF和頭文件2023/1/28Copyright?2021MStarSemiconductor,Inc.Allrightsreserved.79編輯VDF和頭文件demoapp.vdf,放入左圖所示目錄中proj\sc\customer\SZ\src\mmi\resource\xmmi_base_Res\vdf\QVGA\app\Demommi_demoapp_view_id.h,放入右圖所示目錄中proj\sc\application\mmi\app\DemoApp\inc4.6.2翻開VDF列表2023/1/28Copyright?2021MStarSemiconductor,Inc.Allrightsreserved.80添加VDF雙擊vdf_list,XRG裝載VDF界面4.6.3增加一個(gè)VDF〔一〕2023/1/28Copyright?2021MStarSemiconductor,Inc.Allrightsreserved.81添加VDF點(diǎn)擊鼠標(biāo)右鍵,選擇Add->Single4.6.3增加一個(gè)VDF〔二〕2023/1/28Copyright?2021MStarSemiconductor,Inc.Allrightsreserved.82添加VDF點(diǎn)擊鼠標(biāo)右鍵,在彈出的對(duì)話框中作如下輸入.VDFFile和HeaderFile分別選擇之前編譯好的VDF和HeaderFile添加成功后可以找到VIEW_DEMO項(xiàng),如右圖所示4.6.4在主菜單中參加該AP的啟動(dòng)菜單2023/1/2

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論