BÀI tập lớn xây DỰNG ỨNG DỤNG QUẢN lý đặt vé XEM PHIM NGÀNH CÔNG NGHỆ THÔNG TIN CHUYÊN NGÀNH MẠNG máy TÍNH TRUYỀN THÔNG

90 28 0
BÀI tập lớn xây DỰNG ỨNG DỤNG QUẢN lý đặt vé XEM PHIM NGÀNH CÔNG NGHỆ THÔNG TIN CHUYÊN NGÀNH MẠNG máy TÍNH  TRUYỀN THÔNG

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT HƯNG YÊN BÀI TẬP LỚN XÂY DỰNG ỨNG DỤNG QUẢN LÝ ĐẶT VÉ XEM PHIM NGÀNH: CÔNG NGHỆ THƠNG TIN CHUN NGÀNH: MẠNG MÁY TÍNH & TRUYỀN THƠNG SINH VIÊN THỰC HIỆN: MAI TIẾN THÀNH LÊ TRÍ TRUNG CHU VĂN TIẾN MÃ LỚP: 101192 GIẢNG VIÊN: VŨ XUÂN THẮNG HƯNG YÊN - 2021 NHẬN XÉT Nhận xét giảng viên hướng dẫn: GIẢNG VIÊN HƯỚNG DẪN (Ký ghi rõ họ tên) Xây dựng ứng dụng quản lí đặt vé xem phim MỤC LỤC NHẬN XÉT Xây dựng ứng dụng quản lí đặt vé xem phim 2.4 Giới thiệu drawable animation .24 Xây dựng ứng dụng quản lí đặt vé xem phim 2.4.1 Drawables gì? 24 2.4.2 Animation gì? 25 CHƯƠNG 3: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 28 3.1 Khảo sát yêu cầu ứng dụng .28 3.2 Phân tích đặc tả yêu cầu ứng dụng .28 3.2.1 Yêu cầu chức ứng dụng .28 3.2.2 Các chức cần đạt 28 CHƯƠNG 4: TRIỂN KHAI ỨNG DỤNG 40 4.1 Triển khai chức hệ thống 40 4.1.1 Chức quản lí lớp học .40 4.1.2 Chức quản lí sinh viên 51 4.2 Kiểm thử triển khai ứng dụng 70 4.2.1 Kiểm thử 70 4.2.2 Đóng gói ứng dụng 70 4.2.3 Triển khai ứng dụng 71 KẾT LUẬN 72 TÀI LIỆU THAM KHẢO .73 DANH MỤC CÁC BẢNG Bảng Tên chức Form ứng dụng 29 DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ Hình Giao diện Form đăng ký .30 Hình Giao diện Form đăng nhập 31 Hình 3 Giao diện Form quản trị .32 Hình Form quản lý khách hàng .33 Hình Form thơng tin khách hàng 34 Hình Form quản lý lịch chiếu 35 Hình Form quản lý phim 36 Hình Form thêm phòng chiếu 37 CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI 1.1 Lý chọn đề tài Giả sử bạn muốn xem phim việc chờ đợi mua vé rạp lại khiến bạn nhiều thời gian lại không mong muốn khơng chọn xuất chiếu ý Việc khiến bạn chán nản gây lười biếng nghĩ đến việc xem phim rạp Để khắc phục tình trạng này, chúng tơi mang đến cho bạn giải pháp nhanh chóng tiện lợi, từ bây giờ, bạn ngồi nhà, cơng ty, hay nơi với cú click chuột, bạn hồn tồn an tâm có chỗ ngồi rạp phim xem phim theo ngày chiếu mong muốn Ở Việt Nam, hình thức đặt vé online cịn mẻ thị trường đầy tiềm Hơn nữa, ngày Việt Nam, công nghệ thông tin áp dụng rộng rãi hiệu tới nhiều lĩnh vực hoạt động xã hội Với thực tế phát triển công nghệ thực tiễn ứng dụng Việt Nam, với tâm Đảng Chính phủ định hướng thúc đẩy phát triển ứng dụng Công nghệ thông tin (CNTT) vào đời sống kinh tế làm tăng cao tốc độ ứng dụng số lượng người làm việc trực tiếp Internet Cùng với hạ tầng CNTT đầu tư nhiều để sẵn sàng cho ứng dụng tin học hóa Số lượng người thường xuyên truy cập Internet để làm việc cập nhật tìm kiếm thơng tin ngày nhiều với tốc độ tăng trưởng 40%/năm 1.2 Mục tiêu đề tài 1.2.1 Mục tiêu tổng quát Mục tiêu làm ứng dụng để khắc phục tất đặc điểm có, nhằm tạo tiện lợi, minh bạch cho người dung lẫn người quản lý Thứ nhất, ứng dụng khắc phục tình trạng bán vé cho khách hàng, để thuận tiện việc mua, đổi vé tốn Ngồi cịn lưu giữ thơng tin lần đầu tạo thuận lợi ưu đãi cho khách hang lần tiếp Hệ thống online giúp khách hang theo dõi xác thơng tin phim ưu đãi hệ thống Thứ hai, ứng dụng đưa quản lý dễ dàng, dễ tiếp cận cho người quản lý nhân viên Giả bớt nguồn nhân lực rạp Đánh giá, thống kê mức tiêu thụ phim theo thể loại để người quản lý biết phương án để tiếp tục phát triển theo xu hướng - 1.3 Giới hạn phạm vi đề tài 1.3.1 Đối tượng nghiên cứu - Đối tượng nghiên cứu: Ứng dụng quản lí - Khách thể nghiên cứu: Thông tin lịch phim 1.3.2 Phạm vi nghiên cứu - Phạm vi không gian: Nghiên cứu thực mạng xã hội, thực tế - Phạm vi thời gian: Số tài liệu thu thập internet trình học - Ứng dụng thân thiện 1.4 Nội dung thực Khảo sát lấy yêu cầu người chức mong muốn với hệ thống - Lập biểu đồ use-case chức cho hệ thống - Lập mô hình tổng thể thành phần hệ thống( gồm giao diện hệ thống thao tác với hệ thống thao tác với người dùng) - Lập trình kiện cho hệ thống - Thiết kế sở liệu 1.5 Phương pháp tiếp cận - - Cách tiếp cận: • Nghiên cứu ngơn ngữ lập trình Java • Nghiên cứu hệ quản trị SQLite Các phương pháp nghiên cứu • Đọc tài liệu online Internet, tài liệu offline thư viện • Khảo sát hệ thống có sẵn public Object getItem(int position) { return ds.get(position); } @Override public long getItemId(int position) { return 0; } @Override public void notiíyDataSetChanged() { super.notiíyDataSetChanged(); } public void changeDataSet(ArrayList dsl) { this.ds = dsl; notiíyDataSetChanged(); } public void resetData() { this.ds = dsSortSinhVien; } @Override public Filter getFilter() { if (svFilter == null) { svFilter = new CustomFilter(); } return svFilter; } public class CustomFilter extends Filter { @Override protected FilterResults performFiltering(CharSequence constraint) { FilterResults results = new FilterResults(); if (constraint == null || constraint.length() == 0) { results.values = dsSortSinhVien; results.count = dsSortSinhVien.size(); } else { ArrayList dssv = new ArrayList(); for (SinhVien sv : ds) { if (sv.getTenSv().toUpperCase().startsWith(constraint.toString().toUppe rCase())) { dssv.add(sv); ,} } results.values = dssv; results.count = ds.size(); } return results; } @Override protected void publishResults(CharSequence constraint, FilterResults results) { if (results.count == 0) { notiíyDataS etInvalidated(); } else { ds = (ArrayList) results.values; notiíyDataS etChanged(); ,} ,} } private class ViewHolder extends AppCompatActivity { TextView txtTensv, txtMasv, txtemail, txtMalop; CircleImageView imageView_Avatalist; ImageView ivDelete, ivEdit; LinearLayout linearLayout; } @Override public View getView(final int position, View convertView, ViewGroup parent) { final ViewHolder holder; if (convertView == null) { LayoutInflater inílater = ((Activity) context) getLayoutInflater(); convertView = inflater.inflate(R.layout.dongsinhvien, null); holder = new ViewHolder(); holder.txtMasv = convertView.findViewById(R.id tvmasv); holder.txtTensv = convertView.findViewById(R.id.tvtensv); holder.txtemail = convertView.findViewById(R.id tvemaiĩ); holder.txtMalop = convertView.findViewById(R.id tvmalop); holder.linearLayout = convertView.findViewById(R.id linearLayoutSuaLop); holder.ivDelete = convertView findViewById(R.id image ViewDele te); holder.imageView_Avatalist = convertView.findViewById(R.id image ViewHinh); holder.ivEdit = convertView findViewById(R.id image View edit); convertView.setT ag(holder); } else { holder = (ViewHolder) convertView.getTag(); }J final SinhVien s = ds.get(position); holder.ivEdit.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { lopDao = new LopDao(context); final AlertDialog.Builder builder = new AlertDialog Builder(context); LayoutInílater inílater = ((Activity) context) getLayoutInflater(); View view = inflater.inflate(R.layoutsua_sinhvien, null); final EditText etMasv = view.findViewById(R.id edMaSvedit); final EditText etTensv = view.findViewById(R id edTenSvedit); final EditText etemail = view.findViewById(R.id.edemail); final EditText ethinh = view.findViewById(R.id edhinh); final CircleImageView imgAvata = view.findViewById(R id image View_avataedit); final Spinner spMalop = view.findViewById(R id spEdmalop); Button btnReview = view.findViewById(R.id.btnÃeviewSuaSV); final Button btnSua = view.findViewById(R.id.btnEdSua); final Button btnLai = view.findViewById(R id.btnEdNhapLai); final Button btnHuy = view.findViewById(R id.btnHuyeditSV); dsmaLop = lopDao.getAll(); final ArrayAdapter adapter = new ArrayAdapter(context, android.R.layout.simple_spinner_item, dsmaLop); spMalop setAdapter(adapter); //Đổ liệu etMasv setT ext(s getMaSv()); etT ensv setT ext(s.getT enSv()); etemail.setT ext(s.getEmail()); ethinh setT ext(s getHinh()); int id_hinh = ((Activity) context).getResources().getIdentifier(s.getHinh(), "drawable", ((Activity) context) getPackageN ame()); imgAvata setImageResource(id_hinh); int giatri = -1; for (int i = 0; i < dsmaLop.size(); i++) { if (dsmaLop.get(i).toString() equalsIgnoreCase(s.getMaLop())) { giatri = i; break; } }' spMalop.setSelection(giatri); builder s etView(view); final AlertDialog alertDialog = builder.create(); //Sửa liệu btnReview setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { if(ethinh.getText().toString().equalsIgnoreCase("")){ imgAvata.setImageResource(R.drawable avatamacdinh'); }else if(ethinh.getText().toString()!=""){ int id_hinh = ((Activity)context).getResources().getIdentifier(ethinh.getText().toStri ng(), "drawable", ((Activity) context).getPackageName()); imgAvata.setImageResource(id_hinh); } } }); btnSua.setOnClickListener(new View.OnClickListener() { _@Override public void onClick(View v) { tìy { String maSv = etMasv.getText().toString(); String tenSv = etTensv.getText().toString(); String email = etemail.getText().toString(); Lop lop = (Lop) spMalop.getSelectedItem(); String maLop = lop.getMaLop(); String hinh = ethinh.getText().toString(); if (maSv.equals("")) { Toast.makeText(context, "Bạn cần thêm mã sinh viên", T oast LENGTH_LONG) show(); } else if (tenSv.equals("")) { Toast.makeText(context, "Bạn cần thêm tên sinh viên", T oast LENGTHLONG} show(); } else if (email.equals("")) { Toast.makeText(context, "Bạn cần thêm email sinh viên", Toast.LENGTH_LONG).show(); } else if (hinh.equals("")) { ethinh.setText("avatamacdinh"); } else { SinhVien sinhVien = new SinhVien(maSv, tenSv, email, hinh, maLop); //Update vào sql if (sinhVienDao.update(sinhVien)) { Toast.makeText(context, "Sửa thành công!", Toast.LENGTH_LONG).show(); ds.clear(); ds.addAll(sinhVienDao.getALL()); notifyDataSetChanged(); alertDialog dismiss(); } else { Toast.makeText(context, "Sửa thất bại!", Toast.LENGTH_LONG).show(); } } } catch (Exception ex) { ex.printStackTrace(); ,} ,.} }); btnLai.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { etMasv.setText(s.getMaSv()); etT ensv setT ext(s.getT enSv()); etemail setT ext( s getEmail()); int giatri = -1; for (int i = 0; i < dsmaLop.size(); i++) { if (dsmaLop.get(i).toString() equalsIgnoreCase(s.getMaSv())) { giatri = i; break; } }' spMalop.setSelection(giatri); } }); }); alertDialog show(); btnHuy.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { alertDialog dismiss(); } }); } holder.ivDelete.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { final AlertDialog.Builder builder = new AlertDialog Builder(context); builder.setTitle("Thơng báo"); builder.setMessage("Bạn có chắn xóa sinh viên " + s.getTenSv() + " không ?"); final SinhVien s = ds.get(position); builder.setNegativeButton("Yes", new DialogInterface OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { if (sinhVienDao.delete(s)) { _Toast.makeText(context, "Xoa thành công!", Toast LENGTH_SHORT) show(); ds.clear(); ds addAll(sinhVienDao getALL()); notiíyDataS etChanged(); dialog.dismiss(); } else { Toast.makeText(context, "Xóa thất bại!", Toast LENGTH_SHORT) show(); ,} ,.} }); builder.setPositiveButton("No", new DialogInterface OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); ,.} }); final AlertDialog myAlert = builder.create(); myAlert.show(); } }); holder.txtMasv.setT ext(s.getMaSv()); holder.txtT ensv setT ext(s.getT enSv()); holder.txtemail.setT ext(s.getEmail()); holder.txtMalop setT ext(s.getMaLop()); int id_hinh = ((Activity) context).getResources().getIdentifier(ds.get(position).getHinh(), "drawable", ((Activity) context).getPackageName()); if (ds.get(position).getHinh().length() + "" == null) { holder.imageView_Avatalist.setImageResource(R.drawable avatamac dinh); } else { holder.imageView_Avatalist.setImageResource(id_hinh); } return convertView; } 4.2 Kiểm thử triển khai ứng dụng 4.2.1 Kiểm thử - Đã thực thi kiểm tra sửa lỗi chức hồn tất - Mơ tả liệu hành động: J Input: Nhập liệu thông tin sinh viên, lớp học J Output: Thống kê liệu nhập vào, tìm kiếm, thêm, sửa, xóa liệu 4.2.2 Đóng gói ứng dụng Đóng gói ứng dụng thành fĩle thực thi apk: Bước 1: Tại Giao diện Android Studio, chọn chức build công cụ Bước 2: Chọn Build Bundle(s)/APK(s), chọn Build APK(s) hình Hình 4.1 Đóng gói ứng dụng Bước 3: Đã xuất file APK Hình 4.2 Xuất file APK 4.2.3 Triển khai ứng dụng - Môi trường chạy: Android - Yêu cầu s Android 6.0 Mashmallow trở lên J CPU nhân trở lên •C Ram 2GB trở lên J Bộ nhớ trống: 200mb KẾT LUẬN - Trình bày kết đạt được: Kiến thức, sản phẩm - Những hạn chế đề tài: Sản phẩm (ví dụ: chức cịn thiếu, chưa hồn thiện ); Kỹ (phân tích thiết kế hệ thống, lập trình ) - Hướng phát triển đề tài: (Giải hạn chế đề tài) TÀI LIỆU THAM KHẢO [1] Tên tác giả (năm XB), Tên sách, NXB, Nơi XB [2] Đề cương lập trình android bản, Đại học SPKT Hưng Yên [3] Bộ môn CNPM (2019), Đề cương giảng mơn Lập trình ứng dụng đa phương tiện Android, Tài liệu lưu hành nội ... Xây dựng ứng dụng quản lí đặt vé xem phim MỤC LỤC NHẬN XÉT Xây dựng ứng dụng quản lí đặt vé xem phim 2.4 Giới thiệu drawable animation .24 Xây dựng ứng dụng quản lí đặt vé. .. chiếu phim □ Quản lý danh sách kiện khuyến rạp phim □ Quản lý danh sách thành viên □ Quản lý danh sách nhân viên □ Thống kê số lượng phim vé xem phim Nhân viên bán vé có thể: □ Xử lý đặt vé □... cho người quản lý nhân viên bán vé, module dành cho thành viên khách 3.2 Phân tích đặc tả yêu cầu ứng dụng 3.2.1 Yêu cầu chức ứng dụng Xây dựng ứng dụng giúp rạp phim bán vé quản lý rạp cách

Ngày đăng: 04/03/2022, 08:23

Tài liệu cùng người dùng

Tài liệu liên quan