Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 65 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
65
Dung lượng
2,17 MB
Nội dung
TRƯỜNG ĐẠI HỌC VINH VIỆN KỸ THUẬT VÀ CÔNG NGHỆ ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC Đề tài: XÂY DỰNG APP BÁN HÀNG TRÊN NỀN ANDROID SV thực : Lê Khắc Trung Lớp 54K2 - ĐTTT : GV hướng dẫn: TS Đặng Thái Sơn NGHỆ AN - 2018 LỜI MỞ ĐẦU Trong thời đại cơng nghiệp hóa, đại hóa cơng nghệ thơng tin coi ngành quan trọng cần thiết kinh tế nhiều nước giới, công nghệ thông tin ngày khẳng định vị trí quan trọng phạm vi giới nói chung Việt Nam nói riêng Một xu hướng tương lai kỉ 21 hướng tới “Internet of Things”, tức tất thứ kết nối với qua internet Đây xu hướng đánh giá có triển vọng, tác động lớn đến công việc, sống xã hội người Điều kiện cần có, mạng lưới hạ tầng internet ngày phủ rộng khắp trái đất Điều kiện đủ ứng dụng, thiết bị có sử dụng internet ngày phát triển hồn thiện, hứa hẹn giúp ích cho người nhiều tương lai, khiến chi phí thời gian đáp ứng công việc giảm mà lại cho hiệu cao Nắm bắt xu này, qua trình tìm hiểu, khảo sát, đánh giá, lấy ý tưởng ứng dụng TMĐT em xin mạnh dạn lựa chọn đề tài đồ án tốt “Xây dựng App bán hàng điện tử Android” với mục đích giúp cho doanh nghiệp quản lý sản phẩm khoa học, tối ưu hóa kinh doanh, giảm thiểu chi phí từ kênh cửa hàng phân phối mà giới thiệu quảng bá sản phẩm đến gần với người tiêu dùng, đồng thời giúp cho người tiêu dùng giảm thời gian, chi phí, cơng sức lại mà lựa chọn sản phẩm ưng ý Qua đây, em xin chân thành cảm ơn thầy TS.Đặng Thái Sơn theo dõi, tận tình bảo, giúp đỡ em trình thực đề tài Sinh viên Lê Khắc Trung TĨM TẮT ĐỒ ÁN Đồ án trình bày App bán hàng điện tử Android với hai sản phẩm điện thoại laptop App bán hàng viết phần mềm Android studio với ngơn ngữ lập trình Java với hỗ trợ sở liệu viết PHP để quản lý liệu lưu thông tin khách hàng mua hàng Với bùng nổ thị trường công nghệ 4.0, người mua hàng không cần phải lại, tốn nhiều thời gian Chỉ cần điện thoại laptop có kết nối mạng, người dùng mua sắm thỏa thích, lý nên em triển khai đề tài “App bán hàng điện tử ” Kết mô đạt yêu cầu chung, phần mềm bán hàng bắt mắt, dễ sử dụng tính cập nhật sản phẩm mới, lưu lại thông tin khách hàng giao dịch ABSTRACT The design is about APP which sales types of electronic products on the Android platform with two main products including phones and laptops The sales app is written in the Android studio software with the Java programming language along with the support of PHP-based databases for managing data and saving customer information when making purchases With the 4.0 technology market boom, shoppers not need to travel or spend a lot of time Just by a phone or laptop connected with the internet, users can buy anything they want For this reason I decided to deploy the plan: " Electronic sales Apps” Simulation results meet the general requirements of its products including eye-catching, easy to use and features such as updating new products, saving customer information when dealing MỤC LỤC LỜI MỞ ĐẦU TÓM TẮT ĐỒ ÁN MỤC LỤC DANH MỤC BẢNG BIỂU DANH MỤC HÌNH VẼ THUẬT NGỮ VIẾT TẮT CHƯƠNG TỔNG QUAN VỀ ĐỀ TÀI MỘT SỐ PHẦN MỀM XÂY DỰNG HỆ THỐNG BÁN HÀNG 1.1 Mục đích yêu cầu, phạm vi thiết kế 1.2 Tổng quang PHP 1.2.1 Khái niệm PHP 1.2.2 Lịch sử phát triển 1.2.3 Ưu điểm PHP 10 1.2.4 Các công cụ mã nguồn mở PhpMyadmin 11 1.2.4.1 Khái niệm 11 1.2.4.2 Tính bảo mật phpMyAdmin 12 1.2.5 Giới thiệu chuỗi JSON cấu trúc chuỗi JSON 13 1.2.5.1 Khái niệm chuỗi JSON 13 1.2.5.2 Cấu trúc chuỗi JSON 13 1.2.6 Tiêu chuẩn mơi trường Java điển hình 14 CHƯƠNG XÂY DỰNG KIẾN TRÚC HỆ THỐNG BÁN HÀNG 16 2.1 Xây dựng kiến trúc hệ thống 16 2.2 Phân tić h yêu cầ u ̣ thố ng 16 2.2.1 Phần Android 16 2.2.2 Phần webservice 17 2.3 Phân tích thiết kế hệ thống 17 2.3.1 Biểu đồ Use case 17 2.3.2 Biểu đồ lớp 22 2.3.3 Phân tích thiết kế CSDL 23 2.4 Các phần mềm sử dụng mô App bán hàng điện tử 24 2.4.1 Giới thiệu phần mềm Android Studio 24 2.4.2 Các bước tạo Project Android Studio 25 2.4.3 Cấu trúc Project Android Studio 29 2.4.4 Cài đặt máy ảo Genymotion 33 2.5 Nội dung mơ hình app Bán hàng thương mại điện tử 36 CHƯƠNG KẾT LUẬN ĐỀ TÀI 44 KẾT LUẬN 45 TÀI LIỆU THAM KHẢO 46 PHỤ LỤC 47 DANH MỤC BẢNG BIỂU DANH MỤC HÌNH VẼ Bảng 1.1 Danh sách Actor 18 Bảng 1.2 Danh sách use case 18 Bảng 1.3 Các đối tượng thuộc tính đối tượng 23 Bảng 1.4 Bảng thiết bị 23 Bảng 1.5 Bảng loại sản phẩm 23 Bảng 1.6 Bảng sản phẩm 24 DANH MỤC HÌNH VẼ Hình 1.1 Mơ hình app bán hàng Hình 1.2 Giao diện PhpMyAdmind 12 Hình 1.3 Các platfrom Java 14 Hình 1.4 Tiêu chuẩn mơi trường Java điển hình 15 Hình 2.1 Biểu đồ use case mức tổng quát 19 Hình 2.2 Biểu đồ use case Quản lý danh mục sản phẩm 19 Hình 2.3 Biểu đồ use case Quản lý sản phẩm 20 Hình 2.4 Biểu đồ use case Tìm kiếm sản phẩm 20 Hình 2.5 Biểu đồ use case xem sản phẩm 21 Hình 2.6 Biểu đồ use case Bình luận đánh giá 21 Hình 2.7 Biểu đồ use case Đặt hàng sản phẩm 21 Hình 2.8 Biểu đồ lớp 22 Hình 2.9 Cách tạo project 25 Hình 2.10 Cách tạo project 25 Hình 2.11 Cách tạo project 26 Hình 2.12 Cách tạo project 26 Hình 2.13 Cách tạo project 27 Hình 2.14 Cách tạo project 27 Hình 2.15 Cách tạo project 28 Hình 2.16 Cách tạo 28 Hình 2.17 Cấu trúc project Android Studio 29 Hình 2.18 Cấu trúc project Android Studio 29 Hình 2.19 Cấu trúc project Android Studio 30 Hình 2.20 Cấu trúc project Android Studio 30 Hình 2.21 Cấu trúc project Android Studio 31 Hình 2.22 Cấu trúc project Android Studio 31 Hình 2.23 Cấu trúc project Android Studio 32 Hình 2.24 Cấu trúc project Android Studio 32 Hình 2.25 Thanh chạy ứng dụng Debug ứng dụng 33 Hình 2.26 Cài đặt máy ảo Genymotion 33 Hình 2.27 Cài đặt máy ảo Genymotion 34 Hình 2.28 Cài đặt máy ảo Genymotion 34 Hình 2.29 Cài đặt máy ảo Genymotion 35 Hình 2.30 Chạy máy ảo Genymotion 35 Hình 2.31 Nội dung mơ hình app Bán hàng thương mại điện tử 36 Hình 2.32 Kết hình mơ 37 Hình 2.33 Thiết kế chọn sản phẩm 38 Hình 2.34 Thiết kế hình sản phẩm điện thoại 39 Hình 2.35 Thiết kế hình sản phẩm laptop 40 Hình 2.36 Thiết kế hình chi tiết sản phẩm 40 Hình 2.37 Thiết kế hình giỏ hàng 41 Hình 2.38 Thiết kế hình thơng tin khách hàng 42 Hình 2.39 Thiết kế hình liên hệ 42 Hình 2.40 Thiết kế hình thơng tin 43 THUẬT NGỮ VIẾT TẮT Thuật ngữ TMĐT Nghĩa tiếng Anh Nghĩa tiếng Việt Ecommerce Thương mại điện tử PHP Hypertext Preprocessor Ngôn ngữ lập trình kịch CPU Central Processing Unit Bộ xử lý trung tâm RAM Random Accesss Memory Bộ nhớ truy cập ngẫu nhiên HDD Hard Disk Drive Ổ cứng truyền thống CSDL Database Cơ sở liệu JSON Javascript Object Notation WYSIWYG What you See Is What You Get XML Extensible Markup Language HTML HyperText Markup Language API Appalication Programming Interface Kiểu liệu mở Giao diện tương tác tức thời Ngôn ngữ đánh dấu mở rộng Ngôn ngữ đánh dấu Giao diện lập trình ứng dúng CHƯƠNG TỔNG QUAN VỀ ĐỀ TÀI MỘT SỐ PHẦN MỀM XÂY DỰNG HỆ THỐNG BÁN HÀNG 1.1 Mục đích yêu cầu, phạm vi thiết kế Qua khảo sát tìm hiểu, website, ứng dụng TMĐT nói chung có mơ hình xử lý hàng hóa sau: Nhập kho: - Nhà cung cấp trở hàng đến - Phân loại xếp chuyển hàng đến kho - Cập nhật tình trạng hàng Webservice Bán hàng: - Khách hàng đặt hàng ứng dụng - Hệ thống chuyển hàng kho Quy trình sản xuất hàng hóa Đóng gói: - Nhân viên lấy hàng đóng gói - Cập nhật tình trạng sản phẩm kho Vận chuyển: - Nhân viên giao hàng lấy hàng từ kho giao cho khách - Nhân viên giao hàng chuyển biên lai kho Hậu mãi: - Giải đáp thắc mắc khách hàng - Xử lý hàng hóa khơng có người nhận - Xử lý hàng hóa bị trả lại Hình 1.1 Mơ hình app bán hàng 1.2 Tổng quang PHP 1.2.1 Khái niệm PHP PHP (viết tắt Hypertext Preprocessor) ngơn ngữ lập trình kịch (scripting language), loại mã lệnh chủ yếu dùng để phát triển trang web động PHP ngôn ngữ mã nguồn mở Khác với ngôn ngữ clientside, Javascript, mã lệnh PHP thực thi phía server sau mã HTML, trả cho trình duyệt (client) Cú pháp PHP vay mượn nhiều từ C Java, nên có nhiều điểm tương đồng với ngơn ngữ C/C++ PHP hỗ trợ nhiều sở liệu như: MySQL, Informix, Oracle, Sybase, Solid, PostgreSQL, Generic ODBC… 1.2.2 Lịch sử phát triển PHP mà biết đến ngày kế thừa sản phẩm có tên PHP/FI Được viết Rasmus Lerdorf, PHP tập hợp đơn giản Common Gateway Interface (CGI) – chuẩn giao tiếp client server – nhị phân viết ngôn ngữ C Ban đầu, Rasmus sử dụng để theo dõi người dùng truy cập vào hồ sơ cá nhân internet Vì vậy, ơng đặt tên “Personal Home Page Tools” Theo thời gian, nhiều tính thêm vào, Rasmus viết lại PHP Tools này, tạo công cụ lớn phong phú tính Mơ hình có khả tương tác với sở liệu, nữa, giúp cho người dùng, tạo ứng dụng web động, ví dụ guestbooks Tháng 6/1995, Rasmus public mã nguồn PHP Tools cộng đồng, cho phép nhà phát triển sử dụng phát triển cách miễn phí Tháng 9/1995, Rasmus mở rộng PHP, thêm vào cơng cụ có tên FI (Forms Interpreter), số chức biết ngày Nó có biến kiểu Perl cú pháp cho phép nhúng mã HTML Cú pháp này, tương tự Perl, hạn chế hơn, đơn giản có phần khơng phù hợp Trong thực tế, để nhúng mã lệnh PHP/FI vào tập tin HTML, lập trình viên phải sử dụng comment HTML Và phương pháp không hồn tồn đón nhận, FI tiếp tục phát triển đem lợi nhuận thương mại Nội dung code giao diện phần slide_in_right.xlm slide_out_right.xlm: Nội dung code giao diện phần MainActivity.xlm package com.example.thanhhuyen.banhangdientu.activity; public class MainActivity extends AppCompatActivity { Toolbar toolbar; ViewFlipper viewFlipper; RecyclerView recyclerViewmanhinhchinh; NavigationView navigationView; ListView listViewmanhinhchinh; 50 protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Anhxa(); if(CheckConnection.haveNetworkConnection(getApplicationContext())) { Actionbar(); ActionViewFlipper(); GetDuLieuLoaisp(); GetDuLieuSPMoiNhat(); CatchOnItemListView(); }else { CheckConnection.ShowToast_Short(getApplicationContext(),"Ban hay kiem tra lai ket noi"); finish(); } } private void ActionViewFlipper() { ArrayList mangquangcao = new ArrayList(); mangquangcao.add("https://i.ytimg.com/vi/tdZDzj_yO3c/maxresdefault jpg"); mangquangcao.add("https://cdn.tgdd.vn/Files/2017/03/09/958798/sontung-oppo-f3_800x450.jpg"); mangquangcao.add("https://i.ytimg.com/vi/ZJV7_S6a4U/maxresdefault.jpg"); mangquangcao.add("http://genknews.genkcdn.vn/k:thumb_w/640/2016/ dsc-10971468597028546/toancanhtaiwanexcellence2016suxuathiencuanhieusanp hamantuong.JPG"); for(int i=0 ; i < mangquangcao.size();i++){ ImageView imageView = new ImageView(getApplicationContext()); Picasso.with(getApplicationContext()).load(mangquangcao.get(i)).into(i 51 mageView); imageView.setScaleType(ImageView.ScaleType.FIT_XY); viewFlipper.addView(imageView); } viewFlipper.setFlipInterval(5000); viewFlipper.setAutoStart(true); Animation animation_slide_in = AnimationUtils.loadAnimation(getApplicationContext(),R.anim.slide_in _right); Animation animation_slide_out = AnimationUtils.loadAnimation(getApplicationContext(),R.anim.slide_ou t_right); viewFlipper.setAnimation(animation_slide_in); viewFlipper.setAnimation(animation_slide_out); private void Actionbar() { setSupportActionBar(toolbar); getSupportActionBar().setDisplayHomeAsUpEnabled(true); toolbar.setNavigationIcon(android.R.drawable.ic_menu_sort_by_size); toolbar.setNavigationOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { drawerLayout.openDrawer(GravityCompat.START); } }); } Nội dung code thiết kế chọn sản phẩm package com.example.thanhhuyen.banhangdientu.adapter; import android.content.Context; import android.support.annotation.Nullable; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; 52 import android.widget.ImageView; import android.widget.TextView; import com.example.thanhhuyen.banhangdientu.R; import com.example.thanhhuyen.banhangdientu.model.Loaisp; import com.squareup.picasso.Picasso; import com.example.thanhhuyen.banhangdientu.R; import com.example.thanhhuyen.banhangdientu.model.Loaisp; import java.util.ArrayList; public class LoaispAdapter extends BaseAdapter { ArrayList arraylistloaisp; Context context; public LoaispAdapter(ArrayList arraylistloaisp, Context context) { this.arraylistloaisp = arraylistloaisp; this.context = context; } @Override public int getCount() { return arraylistloaisp.size(); } @Override public Object getItem(int i) { return arraylistloaisp.get(i); } @Override public long getItemId(int i) { return i; } public class ViewHolder{ TextView txttenloaisp; ImageView imgloaisp; 53 } @Override public View getView(int i, View view, ViewGroup viewGroup) { ViewHolder viewHolder = null; if (view == null) { viewHolder = new ViewHolder(); LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); view = inflater.inflate(R.layout.dong_listview_loaisp, null); viewHolder.txttenloaisp = (TextView) view.findViewById(R.id.textviewloaisp); viewHolder.imgloaisp = (ImageView) view.findViewById(R.id.imageviewloaisp); view.setTag(viewHolder); } else { viewHolder = (ViewHolder) view.getTag(); } Loaisp loaisp = (Loaisp) getItem(i); viewHolder.txttenloaisp.setText(loaisp.getTenloaisp()); Picasso.with(context).load(loaisp.getHinhanhloaisp()) placeholder(R.drawable.khonganh) error(R.drawable.erro) into(viewHolder.imgloaisp); return view; } } Nội dung code dong_listview_loaisp 55 Nội dung code thiết kế hình sản phẩm Nội dung code activity_dienthoai.xml Nội dung code thiết kế hình sản phẩm laptop Nội dung code activity_laptop.xml Nội dung code thiết kế giỏ hàng Nội dung code activity_laptop.xml 59 60