Công ty định hướng nghiên cứu, xây dựng , phát triển thương mại các hệ thống: Mô phỏng phục vụ đào tạo. Mô phỏng vũ khí,khí tài quân sự phục vụ huấn luyện. Mô phỏng thiết bị phục vụ nghành an ninh,cảnh sát. Mô phỏng thiết phòng cháy chữa cháy. Mô phỏng phục vụ nghành giao thông. Mô phỏng thiết bị phục vụ đào tạo trong nghành y tế. Sản xuất, chuyển giao thiết bị dạy nghề các nghành điện tử,công nghiệp… bằng công nghệ mô phỏng,thực tế ảo 3D,4D(AR,VR) tiên tiến. Sản xuất ,chuyển giao thiết bị dạy nghề các nghành công nghệ ô tô (khung, gần, điện, điện lạnh, động cơ….)…bằng công nghệ mô phỏng, thực tế ảo 3D,4D (AR,VR) tiên tiến. Game mô phỏng dạy học mẫu giáo và tiểu học. Mô phỏng môi trường ,địa hình,địa vật. Mô phỏng theo yêu cầu các bài toán cụ thể. Mô phỏng 3D. Phần mềm nhúng. Mô hình ERP,Phần mềm quản lý doanh nghiệp Website, outsourcing.
Trang 1ĐẠI HỌC CÔNG NGHỆ GTVT
KHOA CÔNG NGHỆ THÔNG TIN
Trang 2CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
NGƯỜI HƯỚNG DẪN
(Ký và ghi rõ họ tên)
Ngày tháng năm
GIÁM ĐỐC
(Ký tên và đóng dấu)
Trang 3NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
Ngày tháng năm
GIÁO VIÊN HƯỚNG DẪN
(Ký và ghi rõ họ tên)
LỜI CẢM ƠN
Trang 4Trong thời gian nghiên cứu, học tập tại khoa Công nghệ thông tin trường Đạihọc Công nghệ Giao thông vận tải, được sự giúp đỡ quý báu của quý thầy cô giáo,các bạn sinh viên cùng các doanh nghiệp là đối tác của nhà trường đã giúp em hoànthiện đồ án tốt nghiệp Trước tiên cho phép em được bày tỏ lời cảm ơn sâu sắc nhấttới các thầy cô trong khoa Công nghệ thông tin Đặc biệt là thầy Lê Trung Kiên,giảng viên khoa Công nghệ thông tin, trường Đại học Công nghệ Giao thông vậntải, người trực tiếp hướng dẫn, nhận xét, giúp đỡ em trong suốt quá trình thực hiện
và hoàn thành đồ án
Đồng thời em cũng xin chân thành cảm ơn Ban giám hiệu nhà trường, cácthầy cô trong khoa Công nghệ thông tin cùng các phòng ban nhà trường đã tạo điềukiện tốt nhất cho em trong suốt thời gian học tập và làm đồ án tốt nghiệp này
Tiếp theo em xin được cảm ơn anh Phan Tuấn Anh– Giảm Đốc Công Ty Cổ Phần Đầu Tư & Phát Triển Công Nghệ Mô Phỏng Việt Nam đã tạo điều kiện tốt nhất cho
em làm việc, học hỏi được nhiều điều trong suốt quá trình thực tập để em có thể tiếp thu được những kiến thức, những kinh nghiệm quý báu cho tương lai của mình
Trang 6CHƯƠNG I : GIỚI THIỆU CHUNG VỀ ĐƠN VỊ THỰC TẬP1.1 Sơ lược về công ty
- Tên Công Ty: Công Ty Cổ Phần Đầu Tư & Phát Triển Công Nghệ Mô PhỏngViệt Nam
- Địa chỉ: 848/850, Láng, Phường Láng Thượng, Quận Đống Đa, Thành Phố HàNội, Láng Thượng, Đống Đa, Hà Nội
-Lịch Sử Phát Triển : Công ty cổ phần đầu tư và phát triển công nghệ Mô phỏngViệt Nam thành lập năm 2009 bởi các chuyên gia giàu kinh nghiệm trong lĩnh vựccông nghệ mô phỏng (simulation)
1.2 Đối tượng đào tạo
- Kỹ sư, chuyên viên, kỹ thuật viên
- Sinh viên Đại học, Cao đẳng thuộc tất cả chuyên ngành
- Học sinh tốt nghiệp PTTH có kiến thức cơ bản về máy tính
- Những cán bộ quản lý, kinh doanh trong mọi lĩnh vực
1.3 Sản phẩm và dịch vụ cung cấp cho thị trường
Công ty định hướng nghiên cứu, xây dựng , phát triển thương mại các hệthống:
- Mô phỏng phục vụ đào tạo
- Mô phỏng vũ khí,khí tài quân sự phục vụ huấn luyện
- Mô phỏng thiết bị phục vụ nghành an ninh,cảnh sát
- Mô phỏng thiết phòng cháy chữa cháy
Trang 7- Mô phỏng phục vụ nghành giao thông.
- Mô phỏng thiết bị phục vụ đào tạo trong nghành y tế
- Sản xuất, chuyển giao thiết bị dạy nghề các nghành điện tử,công nghiệp… bằngcông nghệ mô phỏng,thực tế ảo 3D,4D(AR,VR) tiên tiến
- Sản xuất ,chuyển giao thiết bị dạy nghề các nghành công nghệ ô tô (khung, gần,điện, điện lạnh, động cơ….)…bằng công nghệ mô phỏng, thực tế ảo 3D,4D(AR,VR) tiên tiến
- Game mô phỏng dạy học mẫu giáo và tiểu học
- Mô phỏng môi trường ,địa hình,địa vật
- Mô phỏng theo yêu cầu các bài toán cụ thể
- Mô phỏng 3D
- Phần mềm nhúng
- Mô hình ERP,Phần mềm quản lý doanh nghiệp
- Website, outsourcing
Đội ngũ nhân viên
Tất cả các nhân viên đều có bằng tốt nghiệp từ đại học, cao đẳng, trường nghềtrong khu vực Đội ngũ nhân viên có kinh nghiệm nhiều năm, được đào tạo nhữngcông nghệ mới nhất, sẵn sàng phục vụ tận tình chu đáo mọi vấn đề của khách hàng
về các chương trình mô phỏng
Trang 8ĐỀ TÀI TÌM HIỂU VÀ CÔNG CỤ LẬP TRÌNH
2.1 Đề tài tìm hiểu
Việc kinh doanh buôn bán đã xuất hiện từ rất lâu, trải qua mỗi giai đoạn lịch
sử nó mang một hình thức đặc thù riêng Trước đây khi các công cụ hỗ trợ công việc mua bán chưa phát triển mạnh, chỉ diễn ra dưới hình thức mua bán trực tiếp Từ khi khoa học công nghệ phát triển, nó đã tạo ra sự phát triển các loại hình thức mua bán mới, điển hình là mua bán trực tuyến Hình thức mua bán trực tuyến hỗ trợ đắc lực cho người kinh doanh tiếp xúc được với nhiều khách hàng, còn khách hàng thì việc mua bán được diễn ra nhanh chóng, thuận lợi, tiết kiệm được thời gian,
Việc mua bán hàng qua mạng chỉ với thủ tục đăng ký mua sắm đơn giản nhưng đem lại nhiều lợi ích : Khách hàng chỉ cần vài thao tác đơn giản trên điện thoại
di động là có thể đặt được món ăn ưu thích được ngay.Tiết kiệm và chủ động về thời gian, tránh khỏi những phiền phức khó chịu Vậy nên việc mua bán hàng qua mạng đang rất được mọi người quan tâm, tỉ lệ mua sắm online của người Việt tăng gấp 3 lần trong vòng một vài năm qua, đặc biệt là đồ ăn nhanh Trên cơ sở các kiến thức được học trong trường và quá trình thực tập tại Công ty Mô Phỏng Việt Nam, em đã
quyết định chọn đề tài “Xây dựng ứng dụng giới thiệu bán hàng online”
Mục tiêu dự kiến đạt được
- Khách hàng có thể tìm kiếm, lựa chọn món và đăng ký thông tin để mua Sau khi khách hàng chọn mua, thông tin sẽ được chuyển vào giỏ hàng và lưu vào cơ sở dữ liệu thông qua Web Service.
- Xây dựng ứng dụng triển khai trên internet.
- Xây dựng chương trình hoản chỉnh.
2.2 Công cụ lập trình và máy ảo
2.2.1 Công cụ lập trình
Android Studio là một phầm mềm bao gồm các bộ công cụ khác nhau dùng
để phát triển ứng dụng chạy trên thiết bị sử dụng hệ điều hành Android như cácloại điện thoại smartphone, các tablet Android Studio được đóng gói với một bộcode editor, debugger, các công cụ performance tool và một hệ thống build/deploy(trong đó có trình giả lập simulator để giả lập môi trường của thiết bị điện thoại
Trang 9hoặc tablet trên máy tính) cho phép các lập trình viên có thể nhanh chóng phát triểncác ứng dụng từ đơn giản tới phức tạp.
Việc xây dựng một ứng dụng mobile (hoặc tablet) bao gồm rất nhiều cáccông đoạn khác nhau Đầu tiên chúng ta sẽ viết code ứng dụng sử dụng máy tính cánhân hoặc laptop Sau đó chúng ta cần build ứng dụng để tạo file cài đặt Sau khibuild xong thì chúng ta cần copy file cài đặt này vào thiét bị mobile (hoặc table) đểtiến hành cài đặt ứng dụng và chạy kiểm thử (testing) Bạn thử tưởng tượng nếuvới mỗi lần viết một dòng code bạn lại phải build ứng dụng, cài đặt trên điện thoạihoặc tablet và sau đó chạy thử thì sẽ vô cùng tốn thời gian và công sức AndroidStudio được phát triển để giải quyết các vấn đề này Với Android Studio tất cả cáccông đoạn trên được thực hiện trên cùng một máy tính và các quy trình được tinhgọn tới mức tối giản nhất
2.2.2 Máy ảo (VirtualBox và Genymotion)
a) VirtualBox
VirtualBox là phần mềm tạo máy ảo miễn phí tốt nhất hiện nay Bạn có thể
sử dụng VirtualBox để cài nhiều hệ điều hành trên một máy tính
VirtualBox có sẵn để cài đặt trên Windows, Linux Ubuntu, Mac OS X vàSolaris Vì VirtualBox là một phần mềm ảo hóa các nền tảng, nên bạn có thể sửdụng VirtualBox để cài nhiều hệ điều hành trên một máy tính Điều đó có nghĩa làgì? Nếu như bạn có thể cài đặt VirtualBox trên máy tính thì bạn cũng có thểtạo nhiều máy ảo để sử dụng các hệ điều hành khác thông qua VirtualBox
VirtualBox nhìn có vẻ đơn giản nhưng nó cũng rất mạnh mẽ và cung cấp đầy
đủ các tính năng không thua kém VMware Workstation Đặc biệt là nó rất nhẹ vàmiễn phí
Trang 10Hình 2.6.1: Giao diện máy ảob) Genymotion
Genymotion là ứng dụng giả lập Android trên máy tính với hiệu suất 3D caocho phép người sử dụng kiểm soát đầy đủ các thiết bị Android Đặc biệtGenymotion hỗ trợ giả lập rất nhiều dòng máy với các phiên bản hệ điều hànhAndroid khác nhau
Tính năng chính của máy ảo genymotion:
- Camera: Sử dụng webcam laptop như nguồn video cho camera Android
- Pin: Chạy thử ứng dụng với mức độ sạc khác nhau và xem nó xử lý các trườnghợp như thế nào
- GPS: Sử dụng widget GPS để dễ dàng phát triển và kiểm tra các ứng dụng địnhvị
- Công cụ test, plugin: Genymotion tương thích với các công cụ Android SDK,Eclipse và Android Studio
- Hệ thống mạng và wifi: Kiểm tra cường độ mạnh/yếu của wifi, 4G, 3G, Edge haygián đoạn tín hiệu trong tàu điện ngầm
- Điều chỉnh Disk IO: Mô phỏng các thiết bị có lưu trữ nội bộ chậm
- Sms và gọi điện: Thiết lập ngắt cuộc gọi hoặc SMS và theo dõi xem liệu phản hồicủa ứng dụng có chính xác
Trang 11- Tăng tốc và đa chạm: Chuyển tiếp con quay hồi chuyển hoặc các phiên đa chạm
từ thiết bị Android kết nối máy tính bất kỳ
- Pixel hoàn hảo: Hiển thị ứng dụng trên màn hình máy tính ở kích thước thựcchính xác
- Trình duyệt: Kiểm tra web chạy trên nhiều trình duyệt Android khác nhau nhưWebkit for Android, Firefox for Android và nhiều hơn thế nữa
Tính năng đặc biệt của genymotion:
- Java API: Tự động thử nghiệm ứng dụng ở các tình huống khác nhau bằng cáchthay đổi các giá trị cảm biến Qua đó, bạn sẽ biết định vị GPS, nguồn pin, độ mạnhcủa mạng, văn bản và chất lượng cuộc gọi có tốt hay không
- GMTool: Khởi động và boot các thiết bị ảo với Genymotion chỉ trong vài giây,nhanh hơn gấp 3 lần so với thiết bị thực tế Tính năng GMTool cho phép ngườidùng điều khiển Genymotion trực tiếp bằng dòng lệnh
- Quản lý toàn diện thiết bị: Tùy biến thiết bị ảo và nhân bản nó lên máy chủ làmnền tảng cho các hoạt động test và lặp lại Thiết lập gián đoạn cuộc gọi hay tinnhắn và xem liệu ứng dụng có phản hồi chính xác hay không
- Tương tác máy chủ tích hợp liên tục: Tạo, khởi động và cấu hình thiết bị ảo trựctiếp từ file build.gradle Nó cũng tích hợp hoàn hảo với máy chủ tích hợp liên tụcnhư Jenkins để người dùng có thể tự động chạy các quá trình script trên thiết bị ảo
cả ngày lẫn đêm
- Mang vật lý vào máy ảo: Thử nghiệm nâng cao trên ứng dụng bằng cách sao chépcon quay hồi chuyển hoặc hoạt động cảm ứng đa điểm từ bất kỳ thiết bị Androidkết nối máy tính của người dùng
- Không giới hạn screencast: Demo màn hình cho toàn đội để kiểm định chất lượnghay truyền tải thông điệp tới người dùng rõ ràng hơn Genymotion cho phép ngườidùng quay video màn hình ổn định, tùy chọn âm thanh, đảm bảo khán giả theo dõitrên cùng một trang
- Thiết kế thân thiện: Genymotion hiển thị ứng dụng trên màn hình máy tính chínhxác tới từng pixel Vì thế, người dùng không cần lo lắng về việc mở rộng công việc
từ mô phỏng lên thiết bị
Trang 12Hình 2.6.2: Giao diện máy ảo genymotion
Trang 13BÁO CÁO THỰC TẬP TỪNG TUẦN
3.1 Báo cáo thực tập tuần 1
3.1.1 Cài đặt server localhost.
- Bật xampp.
- Vào xampp -> htdocs ->tạo một thư mục server ->trong server tạo
các file chuyển về dạng php.
Trang 143 1.2 Tạo và thêm dữ liệu cho database.
• Vào http://localhost/phpmyadmin ->Tạo mới 1 database có tên thietbi1 -> Tạo và thêm dữ liệu cho database.
Trang 153.1.3 Thiết kế giao diện màn hình chính, viewflipper chạy quảng cáo.
Trang 16
3.1.4 Tạo file kết nối database và móc dữ liệu bảng.
• Trong thư mục server tạo file getloaisp.php.
• Dữ liệu dạng json.
Trang 173.1.5 Tạo adapter cho listview menu chọn sản phẩm,đổ dữ liệu cho thanh menu.
- Tạo 2 Adapter LoaispAdapter và SanphamAdapter đổ dữ liệu ra MainActivity để
người dùng có thể thao tác với dữ liệu
LoaispAdapter:
SanphamAdapter:
Trang 184.1.Báo cáo thực tập tuần 3.
4.1.1 Đổ dữ liệu cho thanh menu.
- Trong Util tạo 2 file checkConnection và server:
checkConnection để kiểm tra kết nối internet
Trang 19server để kết nối với dữ liệu trong máy chủ Xampp thông qua web service.
4.1.2 Tạo file lấy dữ liệu mới nhất từ bảng sản phẩm.
• Vào xampp -> htdocs -> server -> tạo file getsanphammoinhat.php
• Dữ liệu dạng json
Trang 204.1.3 Tạo adapter cho layout sản phẩm mới nhất.
- Trong model tạo một java class có tên sản phẩm,truyền các thuộc tính vàokhuôn như “id,tensp,giasp ”
- Trong adapter tạo 1 java class mới có tên SanphamAdapter
Trang 21- Trong layout tạo 1 layout resource file có tên dong_sanphammoinhat để vẽtừng dòng của RecyclerView.
4.1.4 Đổ dữ liệu cho sản phẩm mới nhất.
Trang 23
5.1 Báo Cáo tuần 4
5.1.1 Bắt sự kiện chuyển màn hình cho menu.
- Bắt sự kiện cho listview: sử dụng CatonItemsListView
- Trong activity tạo một Empty activity có tên DienThoaiActivity
- Trong activity tạo một Empty activity có tên LapTopActivity
- Trong activity tạo một Empty activity có tên LienHeActivity
Trang 24- Trong activity tạo một Empty activity có tên ThongTinActivity.
5.1.2 Tạo File lấy giá trị sản phẩm.
- Vào xampp -> htdocs ->trong thư mục server tạo 1 file getsanpham.php
Trang 25- Dữ liệu dạng json:
5.1.3 Custom dòng dữ liệu màn hình điện thoại.
Trang 26- Trong Adapter tạo 1 java class có tên DienThoaiAdapter: truyền các thuộctính vào khuôn như “id,tensp,giasp ”.
Trang 27- Trong layout tạo 1 layout resource file có tên dong_dienthoai để thiết kế chonó.
Trang 285.1.4 Đổ dữ liệu cho màn hình sản phẩm điện thoại.
Trang 29- Sử dụng đường link kết nối với server để lấy dữ liệu đã được tạo.
Trang 30
5.1.5 Loadmore cho màn hình sản phẩm điện thoại.
- Trong layout tạo 1 layout resource file có tên progressbar
Trang 316.1.Báo cáo tuần 6.
6.1.1 Tạo màn hình Latop và đổ dữ liệu cho màn hình latop
Trang 32- Trong file adapter tạo một thư mục là LatopAdapter và thiết kế mnf hình cho nó
Trang 33- Trong layout tạo 1 layout resource file có tên dong_laptop để thiết kế chonó.
6.1.2 Tạo màn hình giỏ hàng và thiết ế các phần liên quan đến giỏ hàng
- Trong activity tạo một resource file có tên là GiohangActivity
Trang 34- Trong file Adapter tạo một resource file có tên là GiohangAdapter