FPT POLYTECHNIC DỰ ÁN 1 NGÀNH LẬP TRÌNH MÁY TÍNH (LẬP TRÌNH MOBILE) GIẢNG VIÊN HƯỚNG DẪN: NGUYỄN SƠN HẢI NAM SINH VIÊN THỰC HIỆN 1. Huỳnh Ngọc Hùng (pd02375) 2. Nguyễn Thiện Hồng Phước (PD02330) 3. Phạm Duy Trung (PD02207) ĐÀ NẴNG 2018 1 PHÂN TÍCH 1.1 HIỆN TRẠNG Ngành du lịch Việt Nam đang càng ngày càng phát triển, lượng khách trong và ngoài nước càng ngày càng tăng. Du lịch Việt Nam càng ngày càng được biết đến nhiều hơn trên thế giới, nhiều điểm đến trong nước được bình chọn là địa điểm yêu thích của du khách quốc tế.Du lịch đang cần ngày được sự quan tâm của toàn xã hội. Bên cạnh đó đối với những người du lịch họ đều có một nỗi lo và sự bất ổn mà ai cũng phải suy nghĩ, đau đầu khi trải nghiệm tại một điểm đến mới mà mình chưa từng đến đó là đi đâu, ở đâu, ăn gì, và di chuyển như thế nào. Dù bạn là dân phượt chuyên nghiệp hay chỉ mới đi du lịch lần đầu, ai cũng muốn chuyến hành trình của mình diễn ra thật suôn sẻ. Với sự hỗ trợ của Smartphone, các tín đồ du lịch sẻ thoải mái bay nhảy mà không lo suy nghĩ rằng mình sẽ đi đâu, ở đâu, ăn gì, và di chuyển bằng phương tiện gì..v.v.. Nếu như các bạn chỉ biết đến GoogleMap, thì hãy đến với chúng tôi.Chúng tôi, sẽ mang lại cho bạn một trải nghiệm chân thực nhất, một trải nghiệm hoàn chỉnh nhất, và một trải nghiệm đáng nhớ nhất. Chúng tôi sẽ hướng dẫn cho bạn cụ thể
về chuyến du lịch của bạn và đánh đuổi những âu lo, những suy nghĩ đau đầu để
bạn có thể có một chuyến du lịch tuyệt vời.
Hãy đến với chúng tôi Du Lịch Bụi luôn chào đón các bạn.
1.2 YÊU CẦU HỆ THỐNG
- Có kết nối Internet, GPS.
- Hệ điều hành Android 4.2 trở lên.
DỰ ÁN 1 – LẬP TRÌNH MOBILE
TRANG 1
1.3 USE CASE
FaceBook
Đăng nhập
Tạo tài khoản
Quên mật khẩu
Đổi mật khẩu
User
Cập nhật thông tin
Trung tâm hỗ trợ
Điều khoản và chính sách
Đăng xuất
Địa điểm
Ăn uống, đi chơi
Ăn uống
Đi chơi
Trang Chủ
Khách sạn
Danh sách gợi ý
Yêu thích
Trang chủ
Tìm theo yêu
cầu
Sđt taxi mỗi khu
vực
Hình 1. User Case
DỰ ÁN 1 – LẬP TRÌNH MOBILE
TRANG 2
2 THIẾT KẾ
2.1 MÔ HÌNH TRIỂN KHAI
Servers
Máy chủ
Người dùng
Hình 2. Mô hình triển khai
DỰ ÁN 1 – LẬP TRÌNH MOBILE
TRANG 3
2.2 THIẾT KẾ CSDL
Bảng User:
Tên
HovaTen
Email
SDT
Ngaysinh
Matkhau
Thuộc tính
Char
Char
Integer(10)
Char
Char
Note
Đăng nhập,đổi mk,tạo tk..
Thông tin
Thông tin
Đăng nhập,đổi mk,tạo tk..
Hình 3-4. CSDL User
DỰ ÁN 1 – LẬP TRÌNH MOBILE
TRANG 4
Bảng tt Khách sạn:
Tên
DiaChi
SDT
Email
WebSite
Sophong
GiaTien
SoSao
Thuộc tính
Char
Integer
Varchar
Varchar
Varchar
Double
Note
Integer
Hình 5-6. CSDL Khách sạn
DỰ ÁN 1 – LẬP TRÌNH MOBILE
TRANG 5
Bảng taxi:
Tên
Hangtaxi
SDTlienhe
Khuvuc
Thuộc tính
Char
Integer
Char
Note
Hình 7-8. CSDL Taxi
DỰ ÁN 1 – LẬP TRÌNH MOBILE
TRANG 6
Bảng địa điểm đi chơi:
Tên
Tendiadiem
Diachi
Thongtin
Thuộc tính
Char
Char
Char
Note
Hình 9-10. CSDL địa điểm đi
chơi
DỰ ÁN 1 – LẬP TRÌNH MOBILE
TRANG 7
Bảng địa điểm ăn uống:
Tên
Tendiadiem
Diachi
Khuvuc
SDT
Thoigianphucvu
Gia
Thongtin
Thuộc tính
Char
Char
Char
Integer(10)
Varchar
Double
Char
Note
Hình 11-12. CSDL địa điểm ăn nuống
DỰ ÁN 1 – LẬP TRÌNH MOBILE
TRANG 8
2.3 THIẾT KẾ GIAO DIỆN
- Giao diện Login :
Hình 13. Giao diện đăng nhập
DỰ ÁN 1 – LẬP TRÌNH MOBILE
TRANG 9
- Code :
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android=" />xmlns:app=" />xmlns:tools=" />android:layout_width="match_parent"
android:background="@drawable/login"
android:layout_height="match_parent"
tools:context=".TaiKhoan.Login">
android:id="@+id/btnTaoTaiKhoan"
android:layout_width="200dp"
android:layout_height="40dp"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="22dp"
android:background="#00112233"
android:text="Tạo tài khoản"
android:textColor="@android:color/white"
android:textSize="12sp" />
android:id="@+id/pbLoading"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_marginStart="-7dp"
DỰ ÁN 1 – LẬP TRÌNH MOBILE
TRANG 10
android:layout_marginBottom="136dp"
android:layout_toEndOf="@+id/checkBox"
android:visibility="invisible" />
android:textSize="15dp"
android:id="@+id/edtPassWord"
android:layout_width="318dp"
android:layout_height="40dp"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="177dp"
android:background="@drawable/back"
android:drawableLeft="@drawable/ic_vpn_key_black_24dp"
android:drawablePadding="10dp"
android:drawableTint="#3ca40f"
android:ems="10"
android:hint="Password"
android:inputType="textPassword"
android:paddingLeft="10dp"
android:textColorHint="#878889" />
android:id="@+id/imageView"
android:layout_width="80dp"
android:layout_height="75dp"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
DỰ ÁN 1 – LẬP TRÌNH MOBILE
TRANG 11
android:layout_marginTop="4dp"
android:src="@drawable/iconphu" />
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/imageView"
android:layout_centerHorizontal="true"
android:fontFamily="@font/lobster"
android:text="Đăng nhập thành viên"
android:textColor="@android:color/background_light"
android:textSize="24sp"
android:textStyle="bold" />
android:id="@+id/edtUser"
android:layout_width="318dp"
android:layout_height="40dp"
android:layout_below="@+id/textView"
android:layout_centerHorizontal="true"
android:background="@drawable/back"
android:drawableLeft="@drawable/name"
android:drawablePadding="10dp"
android:drawableTint="#3ca40f"
android:hint="User name"
android:inputType="textPersonName"
android:paddingLeft="10dp"
DỰ ÁN 1 – LẬP TRÌNH MOBILE
TRANG 12
android:textColorHint="#878889"
android:textSize="15dp" />
android:id="@+id/btgo"
android:layout_width="200dp"
android:layout_height="40dp"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="197dp"
android:background="@drawable/button"
android:text="Đăng nhập!"
android:textColor="@android:color/white"
android:textSize="18sp" />
android:id="@+id/checkBox"
android:layout_width="wrap_content"
android:layout_height="30dp"
android:layout_alignParentTop="true"
android:layout_alignStart="@+id/edtPassWord"
android:layout_marginTop="225dp"
android:text="Lưu mật khẩu!"
android:textColor="@android:color/background_light"
android:textSize="16sp" />
</RelativeLayout>
DỰ ÁN 1 – LẬP TRÌNH MOBILE
TRANG 13
- Giao diện Trang chủ
Hình 14. Giao diện trang chủ
DỰ ÁN 1 – LẬP TRÌNH MOBILE
TRANG 14
- Code
xmlns:android=" />xmlns:app=" />xmlns:tools=" />android:layout_width="match_parent"
android:layout_height="1865dp"
tools:context=".MainActivity">
android:layout_width="match_parent"
android:layout_height="1865dp">
android:id="@+id/mainGrid"
android:layout_width="match_parent"
android:layout_height="205dp"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_marginStart="0dp"
android:layout_marginTop="272dp"
android:layout_weight="8"
android:alignmentMode="alignMargins"
android:columnCount="2"
android:columnOrderPreserved="false"
android:padding="0dp"
android:rowCount="2">
<!-- ROW 1 -->
DỰ ÁN 1 – LẬP TRÌNH MOBILE
TRANG 15
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_rowWeight="1"
android:layout_columnWeight="1"
android:layout_marginLeft="10dp"
android:layout_marginRight="3dp"
android:layout_marginBottom="5dp"
app:cardCornerRadius="8dp"
app:cardElevation="8dp">
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal|center_vertical"
android:layout_margin="18dp"
android:orientation="vertical">
android:layout_width="60dp"
android:layout_height="40dp"
android:layout_gravity="center_horizontal"
android:src="@drawable/icondulich" />
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Du lịch"
DỰ ÁN 1 – LẬP TRÌNH MOBILE
TRANG 16
android:textAlignment="center"
android:textColor="#000"
android:textSize="16sp" />
</LinearLayout>
</android.support.v7.widget.CardView>
<!-- COLUMN 2 -->
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_rowWeight="1"
android:layout_columnWeight="1"
android:layout_marginLeft="3dp"
android:layout_marginRight="10dp"
android:layout_marginBottom="5dp"
app:cardCornerRadius="8dp"
app:cardElevation="8dp">
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal|center_vertical"
android:layout_margin="16dp"
android:orientation="vertical">
android:layout_width="60dp"
android:layout_height="40dp"
DỰ ÁN 1 – LẬP TRÌNH MOBILE
TRANG 17
android:layout_gravity="center_horizontal"
android:src="@drawable/iconkhuyenmai" />
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Khuyến mãi"
android:textAlignment="center"
android:textColor="#000"
android:textSize="16sp" />
</LinearLayout>
</android.support.v7.widget.CardView>
<!-- ROW 3 -->
<!-- COLUMN 1 -->
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_rowWeight="1"
android:layout_columnWeight="1"
android:layout_marginLeft="10dp"
android:layout_marginRight="3dp"
android:layout_marginBottom="10dp"
app:cardCornerRadius="8dp"
app:cardElevation="8dp">
android:layout_width="wrap_content"
DỰ ÁN 1 – LẬP TRÌNH MOBILE
TRANG 18
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal|center_vertical"
android:layout_margin="16dp"
android:orientation="vertical">
android:layout_width="60dp"
android:layout_height="40dp"
android:layout_gravity="center_horizontal"
android:src="@drawable/icontuvan" />
android:layout_width="match_parent"
android:layout_height="19dp"
android:text="Tư vấn du lịch"
android:textAlignment="center"
android:textColor="#000"
android:textSize="16sp" />
</LinearLayout>
</android.support.v7.widget.CardView>
<!-- COLUMN 2 -->
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_rowWeight="1"
android:layout_columnWeight="1"
android:layout_marginLeft="3dp"
DỰ ÁN 1 – LẬP TRÌNH MOBILE
TRANG 19
android:layout_marginRight="10dp"
android:layout_marginBottom="10dp"
app:cardCornerRadius="8dp"
app:cardElevation="8dp">
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal|center_vertical"
android:layout_margin="16dp"
android:orientation="vertical">
android:layout_width="60dp"
android:layout_height="40dp"
android:layout_gravity="center_horizontal"
android:src="@drawable/iconamthuc" />
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Ẩm thực"
android:textAlignment="center"
android:textColor="#000"
android:textSize="16sp" />
</LinearLayout>
</android.support.v7.widget.CardView>
</GridLayout>
DỰ ÁN 1 – LẬP TRÌNH MOBILE
TRANG 20
android:id="@+id/listviewVideo3"
android:layout_width="match_parent"
android:layout_height="400dp"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_marginStart="0dp"
android:layout_marginTop="1415dp"
android:background="@drawable/roundlist"
android:padding="10dp"
android:scrollbars="vertical"></ListView>
android:id="@+id/listviewVideo2"
android:layout_width="match_parent"
android:layout_height="400dp"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_marginStart="0dp"
android:layout_marginTop="968dp"
android:background="@drawable/roundlist"
android:padding="10dp"
android:scrollbars="vertical"></ListView>
android:id="@+id/textView8"
android:layout_width="match_parent"
DỰ ÁN 1 – LẬP TRÌNH MOBILE
TRANG 21
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_marginStart="0dp"
android:layout_marginTop="1369dp"
android:fontFamily="@font/lobster"
android:paddingLeft="15dp"
android:textStyle="bold"
android:text="Khách sạn-Khu nghỉ dưỡng"
android:textAlignment="center"
android:textColor="@android:color/black"
android:textSize="24sp" />
android:id="@+id/textView2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_marginStart="0dp"
android:layout_marginTop="924dp"
android:fontFamily="@font/lobster"
android:paddingLeft="15dp"
android:textStyle="bold"
android:text="Món ăn nổi tiếng"
android:textAlignment="center"
DỰ ÁN 1 – LẬP TRÌNH MOBILE
TRANG 22
android:textColor="@android:color/black"
android:textSize="24sp" />
android:id="@+id/flipper"
android:layout_width="match_parent"
android:layout_height="214dp"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_marginStart="0dp"
android:layout_marginTop="54dp"
android:paddingLeft="10dp"
android:paddingRight="10dp"
app:cardCornerRadius="8dp"
app:cardElevation="8dp">
</technolifestyle.com.imageslider.FlipperLayout>
android:id="@+id/textView7"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_marginStart="0dp"
android:layout_marginTop="479dp"
android:fontFamily="@font/lobster"
android:paddingLeft="15dp"
DỰ ÁN 1 – LẬP TRÌNH MOBILE
TRANG 23
android:textStyle="bold"
android:text="Địa điểm du lịch"
android:textAlignment="center"
android:textColor="@android:color/black"
android:textSize="24sp" />
android:id="@+id/listviewVideo"
android:layout_width="match_parent"
android:layout_height="400dp"
android:layout_below="@+id/textView7"
android:layout_alignParentStart="true"
android:layout_marginStart="0dp"
android:layout_marginTop="-4dp"
android:background="@drawable/roundlist"
android:padding="10dp"
android:scrollbars="vertical"></ListView>
</RelativeLayout>
</android.support.v4.widget.NestedScrollView>
DỰ ÁN 1 – LẬP TRÌNH MOBILE
TRANG 24