《基于Andriod平臺的時間管理軟件設計7000字(論文)》_第1頁
《基于Andriod平臺的時間管理軟件設計7000字(論文)》_第2頁
《基于Andriod平臺的時間管理軟件設計7000字(論文)》_第3頁
《基于Andriod平臺的時間管理軟件設計7000字(論文)》_第4頁
《基于Andriod平臺的時間管理軟件設計7000字(論文)》_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

基于Andriod平臺的時間管理軟件設計目錄TOC\o"1-2"\h\u18588基于Andriod平臺的時間管理軟件設計 113123引言 127812研究背景 1173942.1系統(tǒng)的開發(fā)背景 195742.2系統(tǒng)開發(fā)內(nèi)容和意義

213792Android系統(tǒng)核心技術概述

2258903.1

Android架構分析

2306583.2Android應用的構成和工作機制 3223673.4Android系統(tǒng)的優(yōu)勢 518433備忘錄軟件設計 615004.1系統(tǒng)設計需求 688191、主界面模塊

6312072、時間管理的添加模塊

673813、時間管理的修改模塊

6259504、時間管理的刪除模塊

6123455、備忘時間到達提醒模塊

7309666、時間管理數(shù)據(jù)存儲模塊

77877結(jié)論 2131096參考文獻 21引言進入21世紀以來,我們正處在一個經(jīng)濟強勁發(fā)展的時代信息.發(fā)展移動通信平臺的速度越來越快,技術越來越廣泛成熟。在中國,Android手機的數(shù)量遠遠超過其他類型的手機。Android移動系統(tǒng)以其開放的平臺、許多免費應用程序、便捷的界面,友好的操作而深受消費者的青睞。對于不少人來說,隨身帶個本子記錄一些事情,筆記已經(jīng)形成了一種習慣,從這之中就出現(xiàn)了時間管理?;贏ndroid平臺的時間管理可以讓我們隨時隨隨地記錄自己的生活狀態(tài)和一些重要的事情,隨時翻閱"。因此,本文采用Java語言,利用Android和SQyang數(shù)據(jù)庫開發(fā)一個基于Android平臺的時間管理系統(tǒng),用來給人們的生活帶來便利。研究背景2.1系統(tǒng)的開發(fā)背景隨著Android系統(tǒng)逐漸占據(jù)市場,Android在智能手機已經(jīng)代替iOS成為用戶量最多的操作系統(tǒng)。智能手機也逐漸成為日常人們獲取信息的主要來源設備,尤其是在青年群體中中的表現(xiàn)最為突出。Android的應用已經(jīng)滲透到了人們?nèi)粘I钪?,人們的生活離不開各種應用。這些應用為消費者帶來了便利也讓開發(fā)者帶來了利益。通過Android智能手機,人們可以便捷的獲取各種消息。因此,基于Android平臺的便捷服務類應用將會有很好的發(fā)展機會和空間,手機隨身時間管理就是它們中的一員。在Android系統(tǒng)下的時間管理軟件中,可以為用戶提供非常方便的備忘事件查詢和提醒功能,為快節(jié)奏的生活提供高效率的保障。另外,由于Android平臺是開放的,平臺使用成本基本可以忽略不計,所以能夠很好的控制軟件的成本,為此類時間管理的普及做出貢獻。2.2系統(tǒng)開發(fā)內(nèi)容和意義

通過對現(xiàn)在市場上應用的IOS、Android等這些主流的平臺的狀況進行分析。研究和分析了Android平臺的組件以及系統(tǒng)架構,然后也析解了Android應用的生命周期機制。并在此基礎上設計開發(fā)了基于Android平臺的時間管理系統(tǒng)。本時間管理系統(tǒng)界面友好、方便操作,具有良好的擴展性和和維護性。本系統(tǒng)經(jīng)過測試,運行穩(wěn)定,滿足人們對于時間管理的使用要求。

Android系統(tǒng)核心技術概述

3.1

Android架構分析

Android的操作系統(tǒng)是一個由軟件組件的棧。在Android在架構中可以分為四個主要層。從下層到上層依次為Linux內(nèi)核層、系統(tǒng)運行庫層、應用程序框架層和應用程序?qū)?。Linux內(nèi)核層提供了基本的系統(tǒng)功能,比如進程管理,內(nèi)存管理,設備管理(如攝像頭,鍵盤,顯示器)。同時,內(nèi)核處理所有Linux所擅長的工作提供了基本的系統(tǒng)功能,比如進程管理,內(nèi)存管理,設備管理(如攝像頭,鍵盤,顯示器)。同時,內(nèi)核處理所有Linux所擅長的工作。Linux內(nèi)核層是Android平臺的基礎,比如ART虛擬機最終是調(diào)用最底層的Linux內(nèi)核來執(zhí)行功能。Linux內(nèi)核的安全機制也為Android的應用提供相應的保障,同時允許設備制造商為內(nèi)核開發(fā)硬件驅(qū)動程序。系統(tǒng)運行庫層包括了專門為Android開發(fā)的基于Java的程序庫。這個類別程序庫的示例包括應用程序框架庫,如用戶界面構建,圖形繪制和數(shù)據(jù)庫訪問。分為程序庫和Android運行庫。程序庫,在Android中包含一些C/C++庫,這些庫可以被Android系統(tǒng)中不同的組件使用。它們通過\t"/item/Android%E7%B3%BB%E7%BB%9F%E6%9E%84%E6%9E%B6/_blank"Android應用程序框架為開發(fā)者提供服務。Android運行庫Android運行庫中包含了一個核心庫,這個核心庫提供了JAVA編程語言的大部分功能。每一個Android應用程序都按照它自己的進程運行,擁有一個獨立的Dalvik虛擬機實例,它依賴于linux內(nèi)核的一些功能。應用程序框架層以Java類的形式為應用程序為用程序開發(fā)者提供許多高級的服務。開發(fā)人員也可以完全訪問核心應用程序所使用的API框架。該應用程序的架構設計簡化了組件的作用,每一個應用程序都可以發(fā)布它的功能塊并且任何其它的應用程序都可以使用其所發(fā)布的功能塊,但是要遵循框架的安全性。同樣的該應用程序重用機制也方便用戶替換程序組件。在每個應用后面都有一系列的服務和系統(tǒng)。應用層是Android會和一系列核心應用程序包一起發(fā)布,Android的應用程序包包含了email客戶端,SMS短消息程序,日歷,地圖,瀏覽器,聯(lián)系人管理程序等。通常情況下它們都是使用Java語言進行編寫。所有的Android應用程序都將被安裝在這層應用層。3.2Android應用的構成和工作機制 一個完整Android應用程序通常是由四種構造塊:ActivityIntent,Receiver,Service,ContentProvider組織而成的,但不是每一個Android應用程序都需要全部四個構造塊。在一些時候,我們只需要這四個構造塊中的一部分組合成應用。我們需要明確開發(fā)的應用需要哪些構造塊,這些構造塊要在AndroidManifest.xml中記錄。AndroidManifest.xml是一個XML配置文件,這個配置文件是每一個Android應用所必需的。這個配置文件用于定義我們的應用程序的組件、組件的功能及必要條件等。Activity構造塊是Android中最基礎的一種。在應用中,一個activity構造塊就是一個單獨的屏幕。每一個activity構造塊都會被實現(xiàn)成為一個獨立的類。這個activity類會顯示出由控件組成的視圖,并且對事件做出響應。很多的應用會包含多個的屏幕。在默認情況下,Android應用會保留從主屏幕到每一個應用的運行屏幕。IntentReceiver構造塊是在想要Android應用能夠?qū)σ粋€外部的事件做出響應的時候來使用。雖然IntentReceiver構造塊會在事件發(fā)生時,會使用NotificationManager來告知用戶,但它不可以自己生成一個UI。IntentReceiver需要在AndroidManifest.xml中注冊,也可以在代碼中使用Context.registerReceiver()進行注冊。當intentreceiver構造塊被觸發(fā)時,應用可以不去請求調(diào)用intentreceiver。Service構造塊是一段長生命周期的,這個構造塊是沒有用戶界面的程序的。Service構造塊用來執(zhí)行后臺程序。每當Activity構造塊需要進行操作的時候,在離開用戶界面后,就會啟用Service構造塊的特殊服務。開發(fā)人員通常把Service構造塊作為在底層運行的守護進程,用來定義一個遠程過程中的調(diào)用接口。Service構造塊還可以使其他組件用它來傳遞命令和檢索數(shù)據(jù),還可以用來記錄回調(diào)函數(shù)。ContentProvider構造塊在應用程序中可以將數(shù)據(jù)保存到相應的文件、SQL數(shù)據(jù)庫中。當需要應用中的數(shù)據(jù)與其它的應用共享時,可以使用ContentProvider構造塊。ContentProvider構造塊能夠讓其它應用保存或讀取在這個ContentProvider構造塊處理的各種數(shù)據(jù)類型。Android應用的構成和工作流程如圖1:圖1Android的工作流程3.4Android系統(tǒng)的優(yōu)勢(1)Android操作平臺的優(yōu)勢主要在于Android的開放性。Android平臺是允許所有移動終端的廠商加入并對Android平臺進行開發(fā)。其中包括底層操作系統(tǒng)、用戶界面和應用程序。移動終端所有需要的軟件都包含在應用程序中。各種各樣的應用程序共同構成了Android這個平臺。同時也可以在虛擬機上運行相應的應用程序,讓開發(fā)者體驗應用的功能,進一步優(yōu)化應用程序。Android的開放性可以幫助平臺獲得更多的用戶。在用戶和應用日益增長的時代,讓Android這個操作平臺迅速發(fā)展起來。Android平臺的開放性為它的發(fā)展,集聚了人氣,其中包括各種廠商和消費者。對于消費者,豐富多彩的軟件資源是他們所看重的。對于開發(fā)者,為了獲取更多的用戶,他們需要在這個開放的平臺開發(fā)出方便用戶的軟件。在這樣的背景下,Android平臺快速發(fā)展了起來,并被眾人認可。(2)Android平臺所有的應用程序包括第三方的應用之間是平等的。消費者可以使用第三方的軟件來代替系統(tǒng)的默認軟件。例如:用戶可以使用微信這個軟件來代替系統(tǒng)默認的短信。(3)Android應用程序之間無界限。Android的開發(fā)人員能夠?qū)⒃谑謾C本地的電話、聯(lián)系人、位置、時間等信息與網(wǎng)絡上的數(shù)據(jù)結(jié)合起來,讓用戶可以有更好的體驗。(4)Android平臺給開發(fā)者提供便捷的庫和工具。開發(fā)者只需要幾行簡單的代碼就可以快速地在Android平臺創(chuàng)建應用程序。(5)Android平臺中有一個輕量級的SQLite數(shù)據(jù)庫。這個SQLite數(shù)據(jù)庫

是嵌入式的數(shù)據(jù)庫引擎。SQLite數(shù)據(jù)庫是專門在資源有限的設備上進行數(shù)據(jù)存儲的。例如:手機、平板等這些物理存儲比較小的。SQLite具備檢索效率高,系統(tǒng)開銷小等優(yōu)點。備忘錄軟件設計4.1系統(tǒng)設計需求 4.1.1需求分析 本課題在研究了Android平臺的開發(fā)流程和人們?nèi)粘J褂檬謾C軟件的習慣,以Java為開發(fā)語言,Androidstudio為開發(fā)環(huán)境,實現(xiàn)了時間管理系統(tǒng)。包括主界面、刪除模塊、數(shù)據(jù)存儲模塊、修改模塊和時間到達提醒模塊。各個模塊的主要功能如下:

1、主界面模塊

在用戶進入應用后,在主界面可以看到所有事項,包括添加,查看,刪除和各個事項的內(nèi)容和時間。

2、時間管理的添加模塊

在用戶在進入主界面后,點擊添加按鈕,就會彈出相應的添加界面,用戶可以根據(jù)提示依次輸入備忘事項的標題、設置提醒日期、提醒時間、以及備忘事項的具體內(nèi)容。內(nèi)容添加完成后,點擊保存按鈕,時間管理添加成功。返回主界面后,即可看到剛剛添加的備忘事件。

3、時間管理的修改模塊

用戶進入主界面后,可以看到所保存的備忘事項一覽表,找到需要修改的備忘記錄并長按,會彈出時間管理修改界面,用戶可以對備忘的標題、日期、時間、和備忘具體內(nèi)容進行修改。修改完成后,點擊保存按鈕,備忘時間即被修改成功。

4、時間管理的刪除模塊

用戶進入主界面后,在備忘事項一覽表中找到想要刪除的事件,并長按,會彈出修改菜單,點擊刪除按鈕,所選備忘時間即被刪除,系統(tǒng)提示刪除成功。

5、備忘時間到達提醒模塊

當用戶所保存的備忘事項時間到達后,系統(tǒng)會發(fā)出通知提醒,開啟手機聲音提醒,并在手機桌面通知欄處顯示備忘事件時間到達通知,提醒用戶有待辦事項。

6、時間管理數(shù)據(jù)存儲模塊

時間管理的最重要功能就是記錄和保存用戶容易遺忘的日期和事件,為了持久地將用戶的時間管理信息保存下來,需要將這些信息存儲在數(shù)據(jù)庫中。時間管理需要保存的信息有:編號(ID)、標題(Title)提醒日期(Date)、提醒時間(Time)、提醒內(nèi)容(Content)、創(chuàng)建時間(Create

Date)等.

4.1.2下載開發(fā)資源 (l)首先下載最新的AndroidSDK。國內(nèi)基本是用Windows系統(tǒng),所以就選擇Windows版本的SDK。下載后直接解壓縮就可以使用,為了在控制臺中直接使用SDK中的工具,把SDK目錄添加到Windows的path環(huán)境變量中。圖4環(huán)境變量配置(2)接著設置JDK環(huán)境變量Java_home,classPath,path)。(3)最后是打開開發(fā)Android的IDE。4.1.3更新Ec1ipse并下載ADT(Android開發(fā)插件) (1)啟動Eclipse,選擇Help>softwareupdates>findandInstall。(2)彈出對話框后,選擇Searchfornewfeaturestoinstall,然后點擊Next。(3)點擊NewRemoteSite。(4)在編輯框中輸入更新插件的地址:/android/eclipse/,點擊OK。(5)看到一個更新的列表,點擊Finish。(6)在返回的對話框中選擇Androidplugin>EclipseIntegration>AndroiddevelopmentTools并且點擊Next。(7)選擇Accepttermsofthelicenseagreement,點擊Next。(8)點擊Finish。(9)選擇InstallAll。(10)重新啟動Eclipse。(11)重啟后設置Android屬性中的AndroidSDK目錄(不包括SDK下的Tools):①選擇Window→Preferences打開編輯屬性窗口。②選擇Android屬性面板。③點擊Browse…,選擇加入AndroidSDK的目錄。④選擇Apply,最后點擊OK。圖5AndroidPreferences4.1.4使用Ec1ipse開發(fā)Android應用 使用EclipseIDE開發(fā)一個Android應用。首先是創(chuàng)建一個Android工程,然后設置應用啟動配置。然后可以編輯代碼,啟動,調(diào)試應用。(l)創(chuàng)建一個Android工程。ADT插件提供了一個新的工程向?qū)椭焖俚慕ndroid工程和編輯現(xiàn)存的Android項目的代碼。按照下面的步驟建立Android工程:①選擇File>New>project。②選擇Android>Androidproject,點擊Next。③設置工程的用途:選擇createnewprojectinworkspace可以建立一個新的Android工程,輸入工程的名字,代碼的開發(fā)包的名字,應用界面的類名字,應用程序的標題的名字。選擇createprojectfromexistingsource可以根據(jù)現(xiàn)存的代碼建立一個工程.通過這個選項可以建立并運行現(xiàn)存的Google提供的ExampleApplication(在AndroidSDK的目錄中可以找到)。④點擊Finish。ADT插件將會為工程建立src/代碼文件存放的目錄、res/資源文件目錄和AndroidManifest.xml應用工程的主配置文件。(2)創(chuàng)建Android虛擬機點擊windows>androidSDKandAVDManager,選中VirtualDevices,選擇new按鈕,填寫需要創(chuàng)建的name,并且選擇Target,從Android1.5-2.2版本。填寫虛擬機的sd卡內(nèi)存(如設置size為256MB),然后點擊CreateAVD。就完成對應版本的android虛擬機創(chuàng)建。圖6虛擬機創(chuàng)建(3)調(diào)試應用程序。一旦建立了工程啟動配置就可以按照如下的步驟調(diào)試程序:從Eclipse的主菜單中選擇Run>Run或Run>Debug或者點擊工程文件右鍵選擇runas>AndroidApplication。如果需要還可以重新配置啟動參數(shù),比如選擇其他的程序界面作為啟動的主界面。4.2備忘錄軟件程序中各類組件 4.2.1PackageExplorer中的組件 (1)src文件夾包含示例應用程序的包,即mars.xingzuo。(2)R.javaAndroidDeveloperTools自動創(chuàng)建這個文件,它提供訪問Android應用程序的各種資源所需的常量。(3)res文件夾包含應用程序的資源,包括:圖標,布局文件,字符串。(4)AndriodManifest.xml示例應用程序的部署描述符。4.2.2應用程序的資源 正如前面提到的,Android中的資源放在項目的res子目錄中。資源分為三類:(1)Drawables:這個文件夾包含圖形文件,比如圖標和位圖。(2)Layouts:這個文件夾包含表示應用程序布局和視圖的XML文件。后面會詳細研究這些文件。(3)Values:這個文件夾包含strings.xml文件。這是為應用程序?qū)崿F(xiàn)字符串本地化的主要方法。4.2.3布局文件main.xml 圖7main布局fill_parent:使視圖元素占滿可用的空間。也可以認為這就是“拉伸”。wrap_content:這個值讓Android把元素一個接一個地排列,不進行拉伸。在構建期間對所有資源進行編譯。編譯過程的輸出之一是R.java文件,這個文件向應用程序的其余部分提供資源。4.2.4AndroidManifest.xml 圖8Manifest文件AndroidManifest.xml文件是Android應用程序的部署描述符。這個文件列出應用程序中包含的所有活動、服務、內(nèi)容提供器和接收器,以及應用程序支持的IntentFilter。4.3備忘錄軟件設計實現(xiàn) AndroidManifest.xml清單文件見附錄。所有代碼和布局文件見附錄。4.3.1數(shù)據(jù)存儲實現(xiàn) 為了持久地將用戶的備忘錄信息保存下來,需要將這些信息存儲在SQLite數(shù)據(jù)庫中。以下將設計存儲數(shù)據(jù)表以及創(chuàng)建ContentProvider來實現(xiàn)數(shù)據(jù)的增、刪、查、改等操作。數(shù)據(jù)庫表設計備忘錄要保存的信息有:編號(ID)、提醒日期(Date1)、提醒時間(Time1)、提醒內(nèi)容(Content)、是否啟用(ON_OFF)、是否聲音提醒(ALARM)、創(chuàng)建時間(CREATED)等.在操作備忘錄數(shù)據(jù)表時,一些屬性在幾個類中使用,為此我們將其定義為一個常量類,在該常量類中聲明。常量類名稱為TaskList,該類有個內(nèi)部類Tasks實現(xiàn)了BaseColums接口,在該類中聲明URI和列表常量等,方便后面使用。BaseColums接口中只有2個被定義為publicstaticfinal類型的數(shù)據(jù)域,他們是_COUNT、_IDTask,分別代表目錄的行數(shù)和每行的ID,Tasks類里定義了上面列舉的備忘錄要保存的信息。備忘錄ContentProvider實現(xiàn)為了使備忘錄數(shù)據(jù)表具有通用的數(shù)據(jù)共享訪問機制,需要通過ContentProvider來實現(xiàn)。這里定義一個TaskListProvider類,該類繼承ContentProvider,實現(xiàn)了onCreat、query、getType、insert、delete、update等方法,來支持數(shù)據(jù)的增、刪、查、改等操作。在該類內(nèi)部還定義了一個DatabaseHelper內(nèi)部類繼承SQLiteHelper,該類提供了常見或打開數(shù)據(jù)庫、創(chuàng)建或刪除表的功能。具體請看附件中的代碼。圖9是代碼縮略圖。圖9TaskListProvider類縮略圖4.3.2備忘錄列表展示 用戶可能要創(chuàng)建很多條備忘錄信息,并且需要維護這些備忘錄信息,例如刪除、修改等功能。這里通過一個ListView來展示備忘錄列表,通過選項菜單提供維護數(shù)據(jù)接口。 為了實現(xiàn)這一功能,這里定義一個TaskListActivity類,該類繼承ListView來顯示備忘錄列表。該類主要功能有三個:一是通過前面定義的TaskListProvider查詢備忘錄列表,到Cusor游標,通過Cusor游標構建SimpleCusorAdapter,并通過ListView顯示;二是響應ListView單擊事件,當用戶單擊某備忘錄信息時,顯示該條備忘錄的詳細信息;三是提供選項菜單添加和刪除備忘錄信息。圖10是代碼,圖11是運行結(jié)果。圖10主界面代碼縮略圖在onCreat方法里,首先調(diào)用Intent里的getIntent方法得到Intent對象,接著使用getData方法得到數(shù)據(jù),當未取到數(shù)據(jù)時使用setData方法將數(shù)據(jù)設置成Tasks類里對應的uri。然后使用getListView取到用來顯示數(shù)據(jù)的組件,使用managedQuery方法得到一個Cusor類對象,用來創(chuàng)建一個SimpleCusorAdapter對象,并將其作為參數(shù)傳遞給setListAdapter方法,最后為列表項創(chuàng)建單擊事件監(jiān)聽器使用setOnItemClickListener方法。 接著用onCreatOptionMenu方法創(chuàng)建選項菜單,以及用onOptionsItemSelected方法創(chuàng)建選項菜單單擊方法。此Activity對應main.xml文件,圖11為運行結(jié)果。圖11主界面4.3.3備忘錄維護 當用戶單擊主界面的一個列表時會在4.3.2列表展示中提到的setOnItemClickListener方法中響應,此方法體中定義一個Intent對象,使用setClass方法實現(xiàn)界面跳轉(zhuǎn)到此TaskDetailActivity所對應的界面.結(jié)果如圖13。圖12備忘錄維護代碼縮略圖備忘錄維護時該應用程序的核心,提供了添加、修改備忘錄信息的功能。備忘錄信息業(yè)通過ListView來顯示,ListView的每一項通過自定義View來實現(xiàn)。單擊ListView的每一項來設置備忘錄信息。圖12為代碼縮略圖。圖13為運行結(jié)果。圖13列表單擊響應圖12中init方法用來初始化接收的來自TaskListActivity類傳遞過來的數(shù)據(jù)信息;在onCreate方法中首先使用getListView方法取到ListView,接著使用getLayoutInflater方法實例化LayoutInflacter,接著設置ListView適配器,使用Calendar中的靜態(tài)方法getInstance獲得Calendar實例,得到當前日期、時間。使用setOnItemClickListener響應單擊事件,里面重寫的OnItemClick方法里面來處理某一個選項被單擊后的響應。當日期、時間、內(nèi)容項被單擊后的顯示結(jié)果分別如下圖14至16。圖14日期項被單擊圖15時間項被單擊圖16內(nèi)容項被單擊4.3.4定時提醒 為了更好地提醒用戶在特定的時間做某項工作,設置語音或振動提醒是必不可少的。此功能通過定義A

溫馨提示

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

最新文檔

評論

0/150

提交評論