王娟
(山西華澳商貿職業(yè)學院 山西省晉中市 030600)
隨著計算機和網絡的日趨普及,網絡在人們的生活中占據(jù)了不可替代的地位。根據(jù)CNNIC 發(fā)布第46 次《中國互聯(lián)網絡發(fā)展狀況統(tǒng)計報告》顯示,截至2020年6月,我國移動端網民規(guī)模達9.40 億,互聯(lián)網普及率達67.0%。如今,手機移動端購物相對PC 購物方式來說更加的簡單、快捷、操作方便,人們不必被限制在電腦前購物,也不用刻意的找時間去上網購買商品,不需要在客服固定的上線時間咨詢產品信息。只要擁有一款Android 智能手機,你就可以隨時隨地的查看商品,這很大程度上來說大大的增加了購物的效率。
目前國內各大網站都有自己對應的手機客戶端,他們抓住手機網上購物的消費者,從而更好的提高自己的銷售額度。國內優(yōu)秀的手機移動客戶端用戶基群大,數(shù)據(jù)交互龐大。盡管國內已經有了很多優(yōu)秀的APP 客戶端,但是從客戶端的不斷更新,功能上推陳出新,以及用戶提出的使用習慣,需求,貨品種類更新來考慮,開發(fā)設計一個更加新穎的APP 永遠是這個市場最需要的。
設計并實現(xiàn)一個基于Android 平臺的手機網上商城。用戶可以通過Android 系統(tǒng)手機登錄該商城,登錄商城之后,可以完成對商品的搜索,瀏覽,購買支付,同一款商品之間價格的比對,以及用戶可以針對購買的商品進行撰寫詳細描述和使用感受等功能。
一個基于Android 平臺的手機網上商城系統(tǒng),該系統(tǒng)提供用戶注冊和用戶登錄功能,登錄商城系統(tǒng)后用戶可完成商品瀏覽,商品搜索,購物車,發(fā)表商品筆記,瀏覽商品筆記,訂單管理等一系列功能。
登錄模塊主要包括LoginActivity、UserInfo 三個類文件。其中:
LoginActivity 文件是登錄頁的主頁面,實現(xiàn)登錄頁面的UI 展示和登錄邏輯處理,該文件實現(xiàn)OnClickListener 接口的OnClick 方法,用于響應用戶觸發(fā)登錄按鈕的點擊事件處理。
UserInfo 文件存儲用戶登錄名、密碼,手機號,收貨地址等相關參數(shù)的Bean 對象。
注冊模塊主要包括RegisterActivity、UserInfo三個類文件。其中:
RegisterActivity 文件是注冊頁面的主頁面,實現(xiàn)注冊頁面的UI 展示和注冊功能邏輯處理,該文件實現(xiàn)OnClickListener 接口的OnClick 方法,用于響應用戶觸發(fā)注冊按鈕的點擊事件處理。
UserInfo 文件存儲用戶登錄名、密碼,手機號,收貨地址等相關參數(shù)的Bean 對象。
商品搜索模塊實現(xiàn)商品的搜索功能,商品價格比一比功能,加入購物車功能。主要包括SearchActivity、DaoUtil、ProductInfo 三個類文件。其中:
SearchActivity 文件是搜索功能的主頁面,實現(xiàn)搜索頁面的UI 展示和搜索功能邏輯處理,該文件實現(xiàn)OnClickListener 接口的OnClick 方法,用于響應用戶觸發(fā)搜索按鈕的點擊事件處理。
ProductInfo 文件是存儲商品信息如:商品名、商品價格,商品圖片等相關參數(shù)的Bean 對象。
DaoUtil 文件是針對數(shù)據(jù)庫操作的文件,調用QueryProductInfo(String name)方法,根據(jù)關鍵字從數(shù)據(jù)庫中查找相關商品并以集合的方式返回。
購物車模塊可對商品完成刪除,選中,支付操作。主要包括ShoppingCarActivity 文件。
ShoppingCarActivity 文件是購物車模塊的主頁面,實現(xiàn)購物車頁面的UI 展示和購物車商品選中,商品刪除,商品支付邏輯處理,該文件實現(xiàn)OnClickListener 接口的OnClick 方法,用于響應用戶觸發(fā)選中按鈕,刪除按鈕,支付按鈕的點擊事件處理。
訂單模塊主要為了便于用戶查看自己的支付訂單,目前只支持查看功能。主要包括OrderListActivity、DaoUtil、OrderInfo 三個類文件。其中:
OrderListActivity 文件是訂單模塊的主頁面,實現(xiàn)訂單頁面的UI 展示和邏輯處理,該文件實現(xiàn)OnClickListener 接口的OnClick方法,用于響應用戶刷新列表的事件處理。
OrderInfo 文件是存儲訂單信息如:訂單號,商品名、商品價格,商品圖片,用戶名,訂單時間,訂單數(shù)量等相關參數(shù)的Bean 對象。
DaoUtil 文件是針對數(shù)據(jù)庫操作的文件,調用QueryOrderList(String userName)方法,根據(jù)用戶名從數(shù)據(jù)庫中查找該用戶的所有訂單信息列表,并以集合的方式返回。
該模塊用于用戶購買商品之后,針對商品編寫詳細描述和使用感受,并發(fā)布到該系統(tǒng)平臺上供其他用戶瀏覽。模塊主要包括SendNotesActivity 文件。
SendNotesActivity 文件是發(fā)布商品筆記模塊的主頁面,實現(xiàn)發(fā)布筆記頁面的UI 展示和邏輯處理,該文件實現(xiàn)OnClickListener 接口的OnClick 方法,用于響應用戶觸發(fā)發(fā)布筆記按鈕的點擊事件處理。
筆記瀏覽模塊主要包括NotesListActivity、NotesInfo文件。其中:
NotesListActivity 文件是筆記瀏覽模塊的主頁面,實現(xiàn)筆記頁面的UI 展示和邏輯處理,該文件實現(xiàn)OnClickListener 接口的OnClick 方法,用于響應用戶刷新列表的事件處理。
NotesInfo 文件是存儲筆記信息如:用戶名、發(fā)布時間,筆記標題、筆記內容、筆記圖片等相關參數(shù)的Bean 對象。
商品瀏覽模塊用于展示商品信息,該模塊除瀏覽功能外還可以對商品進行價格比對,添加購物車的功能。主要包括ProductListActivity 文件。其中:
ProductListActivity 文件是商品瀏覽模塊的主頁面,實現(xiàn)商品瀏覽頁面的UI 展示和邏輯處理,該文件實現(xiàn)OnClickListener 接口的OnClick 方法,用于響應用戶刷新列表的事件處理。
個人信息模塊用于管理個人信息,用戶可更改自己的賬戶名,手機號,收貨地址,身份證等信息。該模塊主要包括PersionInfo Activity、UserInfo 文件。其中:
PersionInfoActivity 文件是個人信息模塊的主頁面,實現(xiàn)個人信息頁面的UI 展示和功能邏輯處理,該文件實現(xiàn)OnClickListener 接口的OnClick 方法,用于響應用戶觸發(fā)保存按鈕的點擊事件處理。
UserInfo 文件存儲用戶登錄名、密碼,手機號,收貨地址等相關參數(shù)的Bean 對象。
商品支付模塊采用第三方支付寶支付。主要包括OrderDetail Activity 文件。其中:
OrderDetailActivity 文件是支付模塊的主頁面,實現(xiàn)支付頁面的UI 展示和功能邏輯處理,該文件實現(xiàn)OnClickListener 接口的OnClick 方法,用于響應用戶觸發(fā)支付按鈕的點擊事件處理。
本系統(tǒng)采用的是SQLite數(shù)據(jù)庫,存放著系統(tǒng)頁面中的動態(tài)數(shù)據(jù),基于系統(tǒng)功能需求中的各項功能,數(shù)據(jù)供需4 張表。分別是用戶信息表、商品信息表、文章信息表、訂單信息表。
(1)用戶信息表。用戶信息表具有用戶ID,用戶昵稱、密碼、手機號、收貨地址、身份證等基本信息。設置用戶uid 為主鍵,主鍵的生成策略采用自動增長的方式。
(2)商品信息表。商品信息表具有商品ID、商品名稱、商品價格、商品圖片、商品描述等基本信息。設置商品ID 為主鍵,主鍵的生成策略采用自動增長的方式。
(3)筆記信息表。筆記信息表具有筆記ID、筆記標題、筆記描述、筆記圖片、用戶ID、發(fā)布時間等基本信息。設置筆記ID 為主鍵,主鍵的生成策略采用自動增長的方式。
(4)訂單信息表。訂單信息表具有訂單編號、用戶Id、用戶昵稱、用戶姓名、用戶手機號、收貨地址、商品名稱、商品數(shù)量、商品價格、訂單狀態(tài)、訂單日期等。設置訂單編號為主鍵。
手機購物商城是一個完善的購物系統(tǒng),用戶能夠完成商品瀏覽、商品購買、商品搜索、購物車、編寫商品筆記、查看商品筆記等功能。根據(jù)系統(tǒng)功能區(qū)分共涉及16 個頁面,具體有登錄頁面,注冊頁面,首頁,購物車頁面,搜索頁面,訂單管理頁面,個人信息管理頁面等。
登錄頁面是指需要提供賬號密碼的頁面,用戶輸入自己的賬號和密碼進入商城系統(tǒng)。
注冊頁面用戶提供賬號,密碼,手機號,身份證號,收貨地址等注冊信息,系統(tǒng)對注冊信息的格式進行檢查,注冊成功后跳轉系統(tǒng)首頁并將注冊信息插入數(shù)據(jù)庫。
首頁是系統(tǒng)的主頁面,該頁面提供首頁、發(fā)現(xiàn)、編輯、購物車、我的這5 個功能按鈕,分別對應商品瀏覽、瀏覽商品筆記、發(fā)表商品筆記、添加購物車、個人信息管理這五個功能。
檢索商品的信息,輸入框中輸入關鍵字,點擊搜索按鈕將所有檢索到的商品信息在列表展示,該功能的意義在于,面對琳瑯滿目的商品,用戶根據(jù)自己的需求快速定位商品,節(jié)省時間提高效率。
用戶可將選中的商品放入購物車,頁面展示商品名,商品價格,商品圖片等信息。在購物車頁面用戶可完成商品的選擇,商品刪除,和立即支付三個功能。
該頁面是用戶針對購買的商品撰寫商品的詳細描述和商品的使用感受,商品編輯支持文字描述和添加圖片,商品編輯完成后,點擊發(fā)布按鈕,將編輯信息和圖片保存數(shù)據(jù)庫。
使用EditText 控件支持文字輸入,文字換行。
使用InputStream 和OutputStream 輸入輸出流,讀取圖片信息,并將圖片信息利用OutputStream 輸出流寫入本地文件。
用戶發(fā)表商品筆記后可在該模塊查看,也可以瀏覽其他用戶發(fā)表的筆記。該功能的意義在于幫助用戶更加詳細的了解商品,從用戶需求來說,比較人性化。
筆記列表,展示所有用戶發(fā)表的筆記,支持上拉刷新,筆記展示信息有商品圖片,筆記標題,用戶名,筆記發(fā)表時間等信息。使用了Recyclerview、Adapter、GridLayoutManager 技術,在布局重用,代碼簡潔性方面來說有很大的改善,布局采用兩列布局,界面美觀大方。
頁面主要對一些信息的管理,功能分為三部分個人資料管理、訂單管理、退出系統(tǒng)。
比一比功能是一個很人性化的設計,充分根據(jù)用戶的需求所設計,通過比一比功能用戶可以花最少的時間買到最便宜的商品,大大提高用戶效率。在商品瀏覽模塊,長按某一個商品圖片,彈出比一比功能按鈕,點擊比一比按鈕后,系統(tǒng)將商品名作為關鍵字在數(shù)據(jù)庫中查找相關信息,并顯示在當前列表中,用戶可加入購物車等執(zhí)行一系列的后續(xù)操作。
本系統(tǒng)采用Android 技術和SQLite 數(shù)據(jù)庫相結合而成。程序采用Java 語言編寫,利用Java 面向對象的繼承和封裝特性,程序對公共代碼部分做了很好的封裝,大大的提高了系統(tǒng)的開發(fā)效率。系統(tǒng)集成了GreenDao 框架,GreenDao 是一個將對象映射到SQLite數(shù)據(jù)庫中的輕量且快速的ORM 解決方案,RecyclerView 內部封裝了viewholder 的回收復用,并提供一個耦合度更低的方式來復用ViewHolde,故代碼實現(xiàn)更加簡單,也很好的解決了卡頓和布局錯位的問題。
未來隨著移動端用戶越來越多數(shù)據(jù)越來越龐大,為了能夠很好的對數(shù)據(jù)進行管理,再者考慮訂單支付安全性,后續(xù)將結合JavaWeb 技術實現(xiàn)客戶端與web 服務器的網絡交互。客戶端的訂單列表等數(shù)據(jù)均從后臺數(shù)據(jù)庫拉取,保證了數(shù)據(jù)的唯一性。