最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

安卓APP源碼和設(shè)計(jì)報(bào)告——購物APP的設(shè)計(jì)與實(shí)現(xiàn)

2022-12-06 23:51 作者:ChatGPT云炬學(xué)長  | 我要投稿

2021—2022學(xué)年第二學(xué)期期末考試

《Android手機(jī)軟件開發(fā)》實(shí)踐考核

項(xiàng)目設(shè)計(jì)說明書

項(xiàng)目名稱: 購物APP的設(shè)計(jì)與實(shí)現(xiàn)

專 業(yè): 計(jì)算機(jī)科學(xué)與技術(shù)

學(xué) 號(hào):

姓 名:

任課教師:

2022年6月12日

目 錄

1.項(xiàng)目概述11

2.項(xiàng)目需求分析11

3.開發(fā)環(huán)境22

4.界面設(shè)計(jì)22

4.1登錄22

4.2主頁面22

4.3商品詳情頁面33

4.4商品頁面44

4.5購物車頁面55

4.6個(gè)人界面66

5.數(shù)據(jù)存儲(chǔ)77

6.項(xiàng)目開發(fā)與實(shí)現(xiàn)88

6.1登錄88

6.2主頁面88

6.3商品詳情頁面88

6.4商品頁面88

6.5購物車頁面99

6.6個(gè)人界面99

7.開發(fā)總結(jié)99

1.項(xiàng)目概述

如今,隨著互聯(lián)網(wǎng)技術(shù)的日新月異,移動(dòng)互聯(lián)網(wǎng)技術(shù)的提高。電子商務(wù)行業(yè)已經(jīng)成為了當(dāng)今的一個(gè)熱門的話題。雖然,電子商務(wù)行業(yè)在國內(nèi)起步比較晚,但是由于國內(nèi)阿里巴巴、京東等優(yōu)秀的企業(yè),使得我國在電子商務(wù)領(lǐng)域的地位排在世界前列。雖然,電子商務(wù)技術(shù)已經(jīng)趨于成熟,但是對(duì)于市場來說,電子商務(wù)軟件的需求仍然很大。有很高的研究價(jià)值和市場價(jià)值。

隨著科技的進(jìn)步,電子產(chǎn)品的普及,智能手機(jī)品牌不斷擴(kuò)大,功能逐漸完善,使得移動(dòng)應(yīng)用出現(xiàn)了井噴式的產(chǎn)生和爆炸式的發(fā)展。由于移動(dòng)應(yīng)用的多元化人性化,更新快、新鮮度高、使得80后、90成為智能手機(jī),app 的主要用戶。

購物商城App 的設(shè)計(jì)響應(yīng)現(xiàn)代信息化的潮流,跟上時(shí)代發(fā)展的步伐,便利使用安卓設(shè)備進(jìn)行移動(dòng)網(wǎng)上購物作為購物商城設(shè)計(jì)的目的。其中用到類似淘寶商城和京東商城的設(shè)計(jì)原理,創(chuàng)造功能合理、界面友善、滿足使用者簡單的網(wǎng)上購物體驗(yàn)。

該系統(tǒng)共包括六個(gè)主要頁面,其中五個(gè)activity頁面,四個(gè)fragment頁面。

2.項(xiàng)目需求分析

在移動(dòng)互聯(lián)網(wǎng)不普及的時(shí)候,我們需要攜帶大量的現(xiàn)金,去固定的集市購買我們的生活所需。在過去,沒有電子商務(wù)的時(shí)候,如果我們需要購買一件商品顯得非常的不容易,同時(shí),購買的過程中我們需要攜帶現(xiàn)金,這一行為存在著很大的安全隱患。在交易的時(shí)候,賣家和買家需要花很長的時(shí)間清點(diǎn)現(xiàn)金,但還是有少付、多付或者存在支付假幣的情況。

隨著互聯(lián)網(wǎng)技術(shù)的普及,中國電子商務(wù)從起初的舉步維艱的萌芽期,到如今的鼎盛時(shí)期,經(jīng)歷了很長時(shí)間。從1997年我國的B2B中國化工網(wǎng)上線,以及C2C模式的易趣網(wǎng)上線,標(biāo)志著,我國的電子商務(wù)行業(yè)開始進(jìn)入了萌芽期,但是這個(gè)時(shí)候,互聯(lián)網(wǎng)技術(shù)不發(fā)達(dá),大眾對(duì)電子商務(wù)缺乏準(zhǔn)確的認(rèn)識(shí)和了解,這一階段成立的互聯(lián)網(wǎng)公司,顯得有心無力。一直到2003年阿里巴巴成立淘寶,推出支付寶開始,大量的網(wǎng)民開始進(jìn)行網(wǎng)購,這個(gè)時(shí)候騰訊推出了基于C2C模式的拍拍網(wǎng),我國電子商務(wù)三足鼎立的格局形成。

本次項(xiàng)目設(shè)計(jì)的目的在于結(jié)合現(xiàn)在電子商務(wù)發(fā)展的特點(diǎn)和趨勢(shì),市場上電子商務(wù)產(chǎn)業(yè)的有優(yōu)缺點(diǎn),開發(fā)出一款方便快捷安全的購物APP。

3.開發(fā)環(huán)境

本次開發(fā)使用的開發(fā)工具:

操作系統(tǒng):WIN10系統(tǒng)

開發(fā)工具:JDK8 Android Studio 4.0.1

API版本:Android API 30

4.界面設(shè)計(jì)

4.1登錄

用戶可以通過登錄賬號(hào)密碼,來進(jìn)行APP功能使用,同時(shí)查看賬號(hào)訂單,并更改個(gè)人信息。登錄頁面效果如圖4-1所示:

圖4-1 登錄頁面

4.2主頁面

用戶瀏覽網(wǎng)上商城,可以在網(wǎng)上商城首頁查看產(chǎn)品詳細(xì)信息,并點(diǎn)擊進(jìn)入商品詳情查看,可通過點(diǎn)擊事件設(shè)置喜歡,并添加購物車。主頁面效果如圖4-2所示:

圖4-2 主頁面

4.3商品詳情頁面

此頁面用來展示商品詳情及介紹。商品詳情頁面效果如圖4-3所示:

圖4-3商品詳情頁面

4.4商品頁面

在商品界面,可以通過點(diǎn)擊左側(cè)分類通知欄,進(jìn)入商品分類,并進(jìn)行添加購物車。商品頁面效果如圖4-4所示:

圖4-4 商品頁面

4.5購物車頁面

選擇完商品后可進(jìn)入購物車頁面,查看自己要購買的商品,可修改某一商品數(shù)量、取消購買某商品和清空整個(gè)購物車。購物車頁面效果如圖4-5所示:

圖4-5購物車頁面

4.6個(gè)人界面

用戶在個(gè)人界面登錄后,可在此頁面查看訂單,并進(jìn)行個(gè)人信息的修改。個(gè)人界面效果如圖4-6所示:

圖4-6登錄頁面

5.數(shù)據(jù)存儲(chǔ)

Android提供了四種數(shù)據(jù)存儲(chǔ)方式:

  1. 使用Preference存儲(chǔ)數(shù)據(jù):Preference采用“鍵-值”對(duì)方式組織和管理數(shù)據(jù),其數(shù)據(jù)存儲(chǔ)在XML文件中。相對(duì)于其他方式,它是一個(gè)輕量級(jí)的存儲(chǔ)機(jī)制。該方式實(shí)現(xiàn)比較簡單,適合簡單數(shù)據(jù)的存儲(chǔ)。

  2. 使用File存儲(chǔ)數(shù)據(jù):文件存儲(chǔ)的特點(diǎn)介于Preference與SQLite之間。從存儲(chǔ)量來看,文件存儲(chǔ)是一個(gè)“重量級(jí)”存儲(chǔ)機(jī)制,比Preference方式更適合存儲(chǔ)較大的數(shù)據(jù);從存儲(chǔ)結(jié)構(gòu)化來看,這種方式不同于SQLite,不適合結(jié)構(gòu)化的數(shù)據(jù)存儲(chǔ)。

  3. 使用SQLite存儲(chǔ)數(shù)據(jù):SQLite使用數(shù)據(jù)庫作為存儲(chǔ)方式,它是一個(gè)重量級(jí)的存儲(chǔ)機(jī)制,適合大數(shù)據(jù)量的數(shù)據(jù)存儲(chǔ),通過這種方式能夠很容易的對(duì)數(shù)據(jù)進(jìn)行增加、插入、刪除、更新等操作。相比Preference和文件存儲(chǔ),使用SQLite較為復(fù)雜。

  4. ContentProvider:數(shù)據(jù)共享,四大組建之一。

本次項(xiàng)目開發(fā)使用了使用File存儲(chǔ)數(shù)據(jù),代碼如下:

public class DataServer {

private static List<String> snackOrderList;

private static List<Snack> homeList;

private static List<Snack> fujianList;

private static List<Snack> guangxiList;

private static List<Snack> guangzhouList;

private static List<Snack> beijingList;

private static List<Snack> chongqingList;

private static List<User> accountList;

public static List<Snack> getHomeList() {

if (homeList == null) {

homeList = new ArrayList<Snack>() {{

add(new Snack("蘋果13", 5999, R.mipmap.sp1, "蘋果13一般指iPhone 13。"));

add(new Snack("華為mate40", 5888, R.mipmap.sp2, "華為Mate40一般指HUAWEI Mate 40。"));

add(new Snack("聯(lián)想Y9000P", 8999, R.mipmap.sp3, "聯(lián)想Y9000P采用了雙面金屬設(shè)計(jì),搭載16英寸四邊窄邊框屏,支持杜比視界。"));

}

return homeList;

}

6.項(xiàng)目開發(fā)與實(shí)現(xiàn)

6.1登錄

此頁面顯示登錄頁面的信息,布局文件在activity_login.xml,頂部使用LinearLayout組件來進(jìn)行LOGO展示,下方使用EditText組件來顯示登錄賬號(hào)及密碼,使用戶進(jìn)行賬號(hào)登錄功能。

6.2主頁面

此頁面顯示主頁面的信息,布局文件在activity_main.xml,頂部用了有個(gè)ImageView配件來進(jìn)行頁面展示,下面用fragment組件來進(jìn)行商品展示,通過點(diǎn)擊事件可以調(diào)用DetailActivity頁面,同時(shí)跳轉(zhuǎn)到activity_detail.xml來對(duì)用戶進(jìn)行商品頁面展示。

6.3商品詳情頁面

此頁面顯示商品詳情頁面的信息,布局文件在activity_detail.xml,頂部用ImageView來進(jìn)行商品圖片展示,在下面用兩個(gè)TextView組件來進(jìn)行商品詳情展示,并添加了一個(gè)Button按鈕調(diào)用通過onCreate功能來進(jìn)行添加到購物車的功能。

6.4商品頁面

此頁面顯示商品頁面的信息,布局文件在fragment_snack.xml,左邊使用LinearLayout組件寫了一個(gè)分類布局,來進(jìn)行商品分類的實(shí)現(xiàn),在右邊則用LinearLayout組件展示添加到購物車的實(shí)現(xiàn),通過調(diào)用BaseQuickAdapter方法來對(duì)購物車功能進(jìn)行實(shí)現(xiàn)及提示。

6.5購物車頁面

此頁面顯示購物車頁面的信息,布局文件在fragment_place.xml,頁面下方使用LinearLayout組件來進(jìn)行商品金額的顯示,右側(cè)用Button來實(shí)現(xiàn)下單功能,通過AppCompatActivity調(diào)用OrderActivity頁面對(duì)添加到購物車的商品進(jìn)行展示,使用戶來對(duì)挑選的商品進(jìn)行炒作。

6.6個(gè)人界面

此頁面顯示個(gè)人頁面的信息,布局文件在fragment_my.xml,此頁面用了多個(gè)LinearLayout組件來進(jìn)行設(shè)計(jì),在ScrollView配件中,添加了一個(gè)圖像組件及兩個(gè)TextView組件,來進(jìn)行用戶的登錄功能。下面用一個(gè)LinearLayout中設(shè)定了查看訂單及未來得及添加的功能,在下方設(shè)置了多個(gè)TextView組件來進(jìn)行個(gè)人信息的添加和修改。

7.開發(fā)總結(jié)

在這學(xué)期Android的學(xué)習(xí)中不僅學(xué)習(xí)了相關(guān)的專業(yè)知識(shí),更讓我對(duì)Android系統(tǒng)有了一個(gè)更加深入的了解,在Android編程過程中鞏固熟悉了Java的編程。由于Android應(yīng)用程序的開發(fā)離不開Java的支持,所以基礎(chǔ)的Java知識(shí)是必須的。但在期末項(xiàng)目開發(fā)中,功能設(shè)計(jì)并不是很完善,還有許多地方需要進(jìn)行修改改進(jìn),時(shí)間有限是因素之一,其次是因?yàn)閷?duì)于技術(shù)開發(fā)仍然有些不足。

回顧以前所走的路,太多的是無奈和迷茫,這次跟隨老師的安卓學(xué)習(xí)就像是我人生道路上的航標(biāo),為我指明了前進(jìn)的方向,使我對(duì)自己的前途充滿了信心,同時(shí)也知道了自己的前進(jìn)方向。

我會(huì)在接下來的學(xué)習(xí)時(shí)間里,認(rèn)真學(xué)習(xí),充分利用時(shí)間完成相應(yīng)的學(xué)科作業(yè),并合理安排時(shí)間進(jìn)行復(fù)習(xí),以此更好的完成接下來的期末考試。

附錄:

1.登錄

DBHelper(MainActivity.this,"db_project",null,1);

Button btn_login=findViewById(R.id.btn_login);

EditText login_username=findViewById(R.id.login_username);

EditText login_password=findViewById(R.id.login_password);

btn_login.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

//1.獲取輸入的用戶名和密碼

String username=login_username.getText().toString();

String password=login_password.getText().toString();

//2.去數(shù)據(jù)庫里進(jìn)行查詢

Cursor cursor=helper.getReadableDatabase().query("tb_user",null,"username=? and password=?",new String[]{username,password},null,null,null);

if (cursor.moveToNext()){

//跳轉(zhuǎn)

Intent intent=new Intent(MainActivity.this,MActivity.class);

Bundle bundle=new Bundle();

bundle.putCharSequence("username",cursor.getString(2));

bundle.putCharSequence("id",cursor.getString(0));

intent.putExtras(bundle);

// Toast.makeText(MainActivity.this,cursor.getString(2),Toast.LENGTH_SHORT).show();

startActivity(intent);

}else {

//沒有查詢到

Toast.makeText(MainActivity.this, "請(qǐng)輸入正確的用戶名和密碼", Toast.LENGTH_SHORT).show();

}

}

});

2.主界面

public class WelcomeActivity extends AppCompatActivity {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_welcome);

View decorView = getWindow().getDecorView();

// Hide the status bar.

int uiOptions = View.SYSTEM_UI_FLAG_FULLSCREEN;

decorView.setSystemUiVisibility(uiOptions);

new Handler().postDelayed(new Runnable() {

@Override

public void run() {

Intent intent = new Intent(WelcomeActivity.this, MainActivity.class);

startActivity(intent);

finish();

}

}, 800);

}

3.商品詳情頁面

public class DetailActivity extends AppCompatActivity {

@BindView(R.id.detailImage)

ImageView image;

@BindView(R.id.detailName)

TextView name;

@BindView(R.id.detailPrice)

TextView price;

@BindView(R.id.detailContent)

TextView detail;

@BindView(R.id.detailAddCartBtn)

Button addCart;

@BindView(R.id.detailFavorite)

ImageView favorite;

public static void actionStart(Context context, Snack snack) {

Intent intent = new Intent(context, DetailActivity.class);

intent.putExtra("snack", snack);

context.startActivity(intent);

}

4.商品頁面

public class SnackRightAdapter extends BaseQuickAdapter<Snack, BaseViewHolder> {

public SnackRightAdapter(List<Snack> snacks) {

super(R.layout.item_snack_right, snacks);

}

@Override

protected void convert(@NotNull BaseViewHolder baseViewHolder, Snack snack) {

baseViewHolder.setImageResource(R.id.snackRightImage, snack.getImage())

.setText(R.id.snackRightName, snack.getName())

.setText(R.id.snackRightPrice, "¥" + snack.getPrice());

}

}

5.購物車頁面

public class PlaceOrderAdapter extends BaseQuickAdapter<Snack, BaseViewHolder> {

public PlaceOrderAdapter(List<Snack> snacks) {

super(R.layout.item_place_order, snacks);

}

@Override

protected void convert(@NotNull BaseViewHolder baseViewHolder, Snack snack) {

baseViewHolder.setImageResource(R.id.placeOrderImage, snack.getImage())

.setText(R.id.placeOrderName, snack.getName())

.setText(R.id.placeOrderPrice, "¥" + snack.getPrice())

.setText(R.id.orderCountBtn, String.valueOf(snack.getCount()));

}

}

6.個(gè)人頁面

private void initView() {

if (MyApplication.isLogin()) {

User user = MyApplication.getUser();

image.setImageResource(user.getHeadImage());

nickname.setText(user.getNickname());

username.setText("賬號(hào): " + user.getUsername());

}

}

@OnClick(R.id.myUserHead)

void clickImage() {

if (MyApplication.isLogin()) {

Tips.show("已登錄");

} else {

LoginActivity.actionStart(getActivity());

}

}

@OnClick(R.id.constraintLayout)

void clickcslayout() {

if (MyApplication.isLogin()) {

Tips.show("已登錄");

} else {

LoginActivity.actionStart(getActivity());

}


安卓APP源碼和設(shè)計(jì)報(bào)告——購物APP的設(shè)計(jì)與實(shí)現(xiàn)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
衡山县| 绵竹市| 宁陕县| 澄迈县| 东兴市| 凤冈县| 桑日县| 桓仁| 枞阳县| 阿拉善右旗| 汶上县| 安顺市| 海林市| 扎赉特旗| 望江县| 察隅县| 华坪县| 青铜峡市| 彩票| 昂仁县| 忻城县| 固始县| 连云港市| 迁安市| 堆龙德庆县| 开封市| 盘山县| 富蕴县| 邛崃市| 长岛县| 怀柔区| 台江县| 湖北省| 怀仁县| 遵义市| 华安县| 泸水县| 如皋市| 天全县| 榆社县| 花垣县|