NGÀNH LẬP TRÌNH MÁY TÍNH (LẬP TRÌNH MOBILE)

148 180 0
NGÀNH LẬP TRÌNH MÁY TÍNH (LẬP TRÌNH MOBILE)

Đ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

FPT POLYTECHNIC DỰ ÁN 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 Huỳnh Ngọc Hùng (pd02375) Nguyễn Thiện Hồng Phước (PD02330) Phạm Duy Trung (PD02207) ĐÀ NẴNG 2018 PHÂN TÍCH 1.1 HIỆN TRẠNG Ngành du lịch Việt Nam ngày phát triển, lượng khách nước ngày tăng Du lịch Việt Nam ngày biết đến nhiều giới, nhiều điểm đến nước bình chọn địa điểm u thích du khách quốc tế.Du lịch cần ngày quan tâm tồn xã hội Bên cạnh người du lịch họ có nỗi lo bất ổn mà phải suy nghĩ, đau đầu trải nghiệm điểm đến mà chưa đến đâu, đâu, ăn gì, di chuyển Dù bạn dân phượt chuyên nghiệp hay du lịch lần đầu, muốn chuyến hành trình diễn thật sn sẻ Với hỗ trợ Smartphone, tín đồ du lịch sẻ thoải mái bay nhảy mà không lo suy nghĩ đâu, đâu, ăn gì, di chuyển phương tiện v.v Nếu bạn biết đến GoogleMap, đến với chúng tơi.Chúng tôi, mang lại cho bạn trải nghiệm chân thực nhất, trải nghiệm hoàn chỉnh nhất, trải nghiệm đáng nhớ Chúng hướng dẫn cho bạn cụ thể chuyến du lịch bạn đánh đuổi âu lo, suy nghĩ đau đầu để bạn có chuyến du lịch tuyệt vời Hãy đến với Du Lịch Bụi ln chào đón bạn 1.2 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 – LẬP TRÌNH MOBILE TRANG 1.3 USE CASE FaceBook Đăng nhập Tạo tài khoản Quên mật Đổi mật User Cập nhật thông tin Trung tâm hỗ trợ Điều khoản sách Đăng xuất Địa điểm Ăn uống, chơi Ăn uống Đi chơi Trang Chủ Khách sạn Danh sách gợi ý u thích Trang chủ Tìm theo u cầu Sđt taxi khu vực Hình User Case DỰ ÁN – LẬP TRÌNH MOBILE TRANG 2 THIẾT KẾ 2.1 MƠ HÌNH TRIỂN KHAI Servers Máy chủ Người dùng Hình Mơ hình triển khai DỰ ÁN – LẬP TRÌNH MOBILE TRANG 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 – LẬP TRÌNH MOBILE TRANG 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 – LẬP TRÌNH MOBILE TRANG Bảng taxi: Tên Hangtaxi SDTlienhe Khuvuc Thuộc tính Char Integer Char Note Hình 7-8 CSDL Taxi DỰ ÁN – LẬP TRÌNH MOBILE TRANG Bảng địa điểm chơi: Tên Tendiadiem Diachi Thongtin Thuộc tính Char Char Char Note Hình 9-10 CSDL địa điểm chơi DỰ ÁN – LẬP TRÌNH MOBILE TRANG 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 – LẬP TRÌNH MOBILE TRANG 2.3 THIẾT KẾ GIAO DIỆN - Giao diện Login : Hình 13 Giao diện đăng nhập DỰ ÁN – LẬP TRÌNH MOBILE TRANG } else if (i == 2) { adapter = new DiaDiemDiChoiAdapter(diadiemdichoiHN, Diadiem.this, recyclerView); adapter.notifyDataSetChanged(); recyclerView.setAdapter(adapter); } } @Override public void onNothingSelected(AdapterView adapterView) { } }); return view; } public void GetDataAnUong(String url, final List list) { list.clear(); final RequestQueue requestQueue = Volley.newRequestQueue(getContext()); JsonArrayRequest jsonArrayRequest = new JsonArrayRequest(Request.Method.GET, url, null, new Response.Listener() { @Override //Nếu thực Response public void onResponse(JSONArray response) { for (int i = 0; i < response.length(); i++) { try { // int id, String tenDiaDiem, String diaChi, String thongTin, String thoiGianPhucVu, String hinhAnh, int sdt, double x, double y, double gia JSONObject object = response.getJSONObject(i);//lấy đối tượng JSon DỰ ÁN – LẬP TRÌNH MOBILE TRANG 133 diaDiemAnUong = new DiaDiemAnUong(object.getInt("Id"), object.getString("TenDiaDiem"), object.getString("DiaChi"), object.getString("ThongTin"), object.getString("ThoiGian"), object.getString("HinhAnh"), object.getString("HinhAnh1"), object.getString("HinhAnh2"), object.getString("HinhAnh3"), object.getString("HinhAnh4"), object.getString("Sdt"), object.getDouble("X"), object.getDouble("Y"), object.getString("Gia")); list.add(diaDiemAnUong); //Thêm vào mảng để set adapter } catch (JSONException e) { e.printStackTrace(); } } // Toast.makeText(getContext(), ""+response.toString(), Toast.LENGTH_SHORT).show(); } }, new Response.ErrorListener() { @Override //Nếu sai thực Error DỰ ÁN – LẬP TRÌNH MOBILE TRANG 134 public void onErrorResponse(VolleyError error) { Toast.makeText(getContext(), "" + error.toString(), Toast.LENGTH_SHORT).show(); } } ); Log.d("", "LIST AN UONG "+list); requestQueue.add(jsonArrayRequest); } public void GetDataDiChoi(String url, final List list) { list.clear(); final RequestQueue requestQueue = Volley.newRequestQueue(getContext()); JsonArrayRequest jsonArrayRequest = new JsonArrayRequest(Request.Method.GET, url, null, new Response.Listener() { @Override //Nếu thực Response public void onResponse(JSONArray response) { for (int i = 0; i < response.length(); i++) { try { JSONObject object = response.getJSONObject(i);//lấy đối tượng JSon diadiemdichoi = new DiaDiemDiChoi(object.getInt("Id"), object.getString("TenDiaDiem"), object.getString("DiaChi"), object.getString("ThongTin"), object.getString("HinhAnh"), object.getString("HinhAnh1"), object.getString("HinhAnh2"), DỰ ÁN – LẬP TRÌNH MOBILE TRANG 135 object.getString("HinhAnh3"), object.getString("HinhAnh4"), object.getDouble("X"), object.getDouble("Y")); list.add(diadiemdichoi); //Thêm vào mảng để set adapter } catch (JSONException e) { e.printStackTrace(); } } // Toast.makeText(MainActivity.this, ""+response.toString(), Toast.LENGTH_SHORT).show(); } }, new Response.ErrorListener() { @Override //Nếu sai thực Error public void onErrorResponse(VolleyError error) { Toast.makeText(getContext(), "" + error.toString(), Toast.LENGTH_SHORT).show(); } } ); requestQueue.add(jsonArrayRequest); } public void GetDataTrongNgay(String url, final List list) { list.clear(); final RequestQueue requestQueue = Volley.newRequestQueue(getContext()); DỰ ÁN – LẬP TRÌNH MOBILE TRANG 136 JsonArrayRequest jsonArrayRequest = new JsonArrayRequest(Request.Method.GET, url, null, new Response.Listener() { @Override //Nếu thực Response public void onResponse(JSONArray response) { for (int i = 0; i < response.length(); i++) { try { JSONObject object = response.getJSONObject(i);//lấy đối tượng JSon duLichTrongNgay = new DuLichTrongNgay(object.getInt("Id"), object.getString("TieuDe"), object.getString("ThongTin"), object.getString("ThongTinChiTiet"), object.getString("HinhAnh"), object.getString("HinhAnh1"), object.getString("HinhAnh2"), object.getString("HinhAnh3"), object.getString("HinhAnh4") ); list.add(duLichTrongNgay); //Thêm vào mảng để set adapter } catch (JSONException e) { e.printStackTrace(); } } // Toast.makeText(MainActivity.this, ""+response.toString(), Toast.LENGTH_SHORT).show(); } DỰ ÁN – LẬP TRÌNH MOBILE TRANG 137 }, new Response.ErrorListener() { @Override //Nếu sai thực Error public void onErrorResponse(VolleyError error) { Toast.makeText(getContext(), "" + error.toString(), Toast.LENGTH_SHORT).show(); } } ); requestQueue.add(jsonArrayRequest); } } + Địa điểm adapter: package com.example.hungparos123.duan1_android.DiaDiem.DiaDiemAnUong; import android.content.Intent; import android.support.annotation.NonNull; import android.support.v7.widget.RecyclerView; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.TextView; import com.example.hungparos123.duan1_android.DiaDiem.DiaDiemDiChoi.DiaDiemDiChoi; import com.example.hungparos123.duan1_android.DiaDiem.DiaDiemDiChoi.ThongTinView_Activity; import com.example.hungparos123.duan1_android.DiaDiem.Diadiem; DỰ ÁN – LẬP TRÌNH MOBILE TRANG 138 import com.example.hungparos123.duan1_android.R; import com.squareup.picasso.Picasso; import java.util.ArrayList; public class DiaDiemAnUongAdapter extends RecyclerView.Adapter { public DiaDiemAnUongAdapter(ArrayList list, Diadiem context, RecyclerView recyclerView) { this.list = list; this.context = context; this.recyclerView = recyclerView; } ArrayList list; Diadiem context; RecyclerView recyclerView; ImageView imgHinhAnh; @NonNull @Override public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { LayoutInflater inflater = LayoutInflater.from(parent.getContext()); View view = inflater.inflate(R.layout.dong_dia_diem_an_uong, parent, false); return new ViewHolder(view); } @Override public void onBindViewHolder(@NonNull ViewHolder holder, int position) { holder.tvTenDiaDiem.setText(list.get(position).getTenDiaDiem()); holder.tvDiaChi.setText(list.get(position).getDiaChi()); DỰ ÁN – LẬP TRÌNH MOBILE TRANG 139 holder.tvGia.setText("Giá: "+list.get(position).getGia()); holder.tvThoiGian.setText("Thời gian phục vụ: "+list.get(position).getThoiGianPhucVu()); holder.tvSdt.setText("Sđt liên lạc: "+list.get(position).getSdt()); loadImageFromUrlI(list.get(position).getHinhAnh().toString()); Log.d("", "IMG -: "+list.get(position).getHinhAnh()); } private void loadImageFromUrlI(String url){ Picasso.with(context.getActivity()).load(url).placeholder(R.drawable.loading) //optional error(R.drawable.error) //error into(imgHinhAnh, new com.squareup.picasso.Callback(){ @Override public void onSuccess() { } @Override public void onError() { } }); } //Load Img Tren Internet // @Override public int getItemCount() { return list.size(); } public void OnClick(int position) { DỰ ÁN – LẬP TRÌNH MOBILE TRANG 140 DiaDiemAnUong DiaDiemAnUong = (DiaDiemAnUong) list.get(position); Intent i = new Intent(context.getContext(), ThongTinViewAnUong_Activity.class); i.putExtra("TenDiaDiem",DiaDiemAnUong.getTenDiaDiem().toString()); i.putExtra("ThongTin", DiaDiemAnUong.getThongTin().toString()); i.putExtra("HinhAnh",DiaDiemAnUong.getHinhAnh().toString()); i.putExtra("HinhAnh1",DiaDiemAnUong.getHinhAnh1().toString()); i.putExtra("HinhAnh2",DiaDiemAnUong.getHinhAnh2().toString()); i.putExtra("HinhAnh3",DiaDiemAnUong.getHinhAnh3().toString()); i.putExtra("HinhAnh4",DiaDiemAnUong.getHinhAnh4().toString()); i.putExtra("X",DiaDiemAnUong.getX()); i.putExtra("Y",DiaDiemAnUong.getY()); context.startActivity(i); // Toast.makeText(context, "" + list.get(position).getThongTin(), Toast.LENGTH_SHORT).show(); } public class ViewHolder extends RecyclerView.ViewHolder { TextView tvTenDiaDiem, tvDiaChi,tvGia,tvThoiGian,tvSdt; public ViewHolder(View itemView) { super(itemView); tvDiaChi = itemView.findViewById(R.id.tvDiaChi); tvTenDiaDiem = itemView.findViewById(R.id.tvTenDiaDiem); tvGia = itemView.findViewById(R.id.tvGia); tvThoiGian = itemView.findViewById(R.id.tvThoiGian); tvSdt = itemView.findViewById(R.id.tvSdt); imgHinhAnh = itemView.findViewById(R.id.imgHinhAnh); itemView.setOnClickListener(new View.OnClickListener() { DỰ ÁN – LẬP TRÌNH MOBILE TRANG 141 @Override public void onClick(View view) { OnClick(getLayoutPosition()); } } ); } } } + Địa điểm chi tiết package com.example.hungparos123.duan1_android.DiaDiem.DiaDiemAnUong; import android.content.Intent; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.CardView; import android.util.Log; import android.view.View; import android.widget.ImageView; import android.widget.TextView; import com.example.hungparos123.duan1_android.DiaDiem.DiaDiemDiChoi.MapsActivity; import com.example.hungparos123.duan1_android.R; import com.smarteist.autoimageslider.SliderLayout; import com.smarteist.autoimageslider.SliderView; import com.squareup.picasso.Picasso; public class ThongTinViewAnUong_Activity extends AppCompatActivity { DỰ ÁN – LẬP TRÌNH MOBILE TRANG 142 TextView tvThongTin; CardView btnMap; String URL_HinhAnh1, URL_HinhAnh2, URL_HinhAnh3, URL_HinhAnh4,URL_HinhAnh; SliderLayout sliderLayout; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_thong_tin_view_); tvThongTin = findViewById(R.id.tvThongTin); sliderLayout = findViewById(R.id.imageSlider); sliderLayout.setIndicatorAnimation(SliderLayout.Animations.DROP); //set indicator animation by using SliderLayout.Animations :WORM or THIN_WORM or COLOR or DROP or FILL or NONE or SCALE or SCALE_DOWN or SLIDE and SWAP!! sliderLayout.setScrollTimeInSec(1); //set scroll delay in seconds : setSliderViews(); final Intent i = getIntent(); // i.getExtras().get("ThongTin"); String ThongTin = i.getExtras().getString("ThongTin"); tvThongTin.setText(ThongTin); String URL_HinhAnh = i.getExtras().getString("HinhAnh"); btnMap = findViewById(R.id.btnMap); btnMap.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { double x = i.getExtras().getDouble("X"); double y = i.getExtras().getDouble("Y"); DỰ ÁN – LẬP TRÌNH MOBILE TRANG 143 String TenDiaDiem = i.getExtras().getString("TenDiaDiem"); // Toast.makeText(ThongTinView_Activity.this, "ban do", Toast.LENGTH_SHORT).show(); Intent i = new Intent(ThongTinViewAnUong_Activity.this,MapsActivityAnUong.class); i.putExtra("X",x); i.putExtra("Y",y); i.putExtra("TenDiaDiem",TenDiaDiem); startActivity(i); } }); } private void setSliderViews() { final Intent intent = getIntent(); URL_HinhAnh = intent.getExtras().getString("HinhAnh"); URL_HinhAnh1 = intent.getExtras().getString("HinhAnh1"); URL_HinhAnh2 = intent.getExtras().getString("HinhAnh2"); URL_HinhAnh3 = intent.getExtras().getString("HinhAnh3"); URL_HinhAnh4 = intent.getExtras().getString("HinhAnh4"); for (int i = 0; i

Ngày đăng: 01/01/2019, 14:19

Từ khóa liên quan

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

Tài liệu liên quan