Bài Tập Lớn Phát Triển Ứng Dụng Cho Thiết Bị Di Động -Xây Dựng Ứng Dụng Mobile Đọc Sách Điện Tử.pdf

29 0 0
Tài liệu đã được kiểm tra trùng lặp
Bài Tập Lớn Phát Triển Ứng Dụng Cho Thiết Bị Di Động -Xây Dựng Ứng Dụng Mobile Đọc Sách Điện Tử.pdf

Đ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

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠOTRƯỜNG ĐẠI HỌC CÔNG NGHỆ ĐÔNG Á

KHOA: CÔNG NGHỆ THÔNG TIN

Trang 2

BỘ GIÁO DỤC VÀ ĐÀO TẠOTRƯỜNG ĐẠI HỌC CÔNG NGHỆ ĐÔNG Á

KHOA: CÔNG NGHỆ THÔNG TIN

Trang 3

MỤC LỤC

LỜI MỞ ĐẦU 4

CHƯƠNG I: TỔNG QUAN VỀ ĐỀ TÀI 5

1.1 Lý do chọn đề tài 5

1.2 Mục tiêu của đề tài 5

1.3 Nội dung thực hiện 5

1.4 Khảo sát và phân tích ứng dụng 6

1.5 Các yêu cầu về chức năng 6

2 Biểu đồ Diagram 8

CHƯƠNG 2 TRIỂN KHAI ỨNG DỤNG 9

1 Triển Khai Giao Diện Hệ Thống 9

2 Triển khai các chức năng của hệ thống 16

Chức năng đăng nhập 16

Chức năng tìm kiếm 22

Chức năng đăng bài 26

3 Kiểm thử và triển khai ứng dụng 30

4 Định hướng phát triển ứng dụng 30

Trang 4

LỜI MỞ ĐẦU

Ngày nay Internet đã trở thành dịch vụ phổ biến, thiết yếu và có ảnh hưởng sâu rộng tới thói quen, sinh hoạt, giải trí của nhiều người nhất là trong khi tình hình dịch ngày càng phức tạp nhiều diễn biến Với sự phát triển của internet thì các hình thức giai trí cho mọi người ngày càng đa dạng và phát triển hơn Các ứng dụng web ngày càng trở nên phổ biến Trước như cầu đó, cùng với yêu cầu môn học, nhóm chúng em

quyết định chọn đề tài Xây dựng ứng dụng mobile Đọc sách điện tử

Để có thể hoàn thành bài tập lớn này, lời đầu tiên em xin phép gửi lời cảm ơn tới thầy cô bộ môn, Khoa Công nghệ thông tin đã tạo điều kiện thuận lợi cho em thực hiện bài tập lớn môn học này.

Đặc biệt em xin chân thành cảm ơn thầy đã rất tận tình hướng dẫn, chỉ bảo em trong suốt thời gian thực hiện đồ án vừa qua.

Em cũng xin chân thành cảm ơn tất cả các Thầy, các Cô trong Trường đã tận tình giảng dạy, trang bị cho em những kiến thức cần thiết, quý báu để giúp em thực hiện được bài tập lớn này.

Mặc dù em đã có cố gắng, nhưng với trình độ còn hạn chế, trong quá trình thực hiện đề tài không tránh khỏi những thiếu sót Em hi vọng sẽ nhận được những ý kiến nhận xét, góp ý của các Thầy giáo, Cô giáo về những kết quả triển khai trong đồ án.

Em xin trân trọng cảm ơn!

4

Trang 5

CHƯƠNG I: TỔNG QUAN VỀ ĐỀ TÀI1.1 Lý do chọn đề tài

Hiện nay trong thời đại cách mạng 4.0, công nghệ giúp con người phát triển nhiều mọi mặt từ tài chính, kinh tế, kĩ thuật… khiến mọi vấn đề đều có thể giải quyết dễ dàng bằng công nghệ và bên giải trí cũng không phải ngoại lệ Hiện nay giới trẻ ngoài sử dụng công cụ phần mềm học tập và công việc ra cũng thích sử dụng ứng dụng hình thức giải trí đặc biệt như là ứng dụng đọc truyện tranh Từ khi một vài bộ truyện tranh được tải lên ở một số vài trang web và cho người đọc miễn phí Từ đó hình thành ra xu hướng đọc truyện qua mạng tăng vọt lên và có thể cao hơn mua ở ngoài về đọc Khi Smartphone ngày càng phổ cập đến mọi người thì bây giờ đi đâu cũng có thể mở truyện tranh ra đọc chỉ bằng cách có 1 chiếc smartphone kết nối internet.

Nhưng đọc truyện qua smartphone/tablet còn có vài thứ bất cập của nó chẳng hạn như là tốc độ tải hình ảnh qua web trên smartphone thường chậm hơn trên pc/laptop bởi vì bộ nhớ điện thoại rất ít và trình duyệt web xử lí thao tác nhiều tác vụ khác nhau cộng thêm tốc độ mạng chậm khiến nhiều người vô cùng khó chịu Nhưng ứng dụng đọc truyện tranh thì khác, khi người đọc mở trang truyện nào đó thì tất cả tập trung xử lí hình ảnh truyện và cũng tốn ít dung lượng 4G hơn bên trang web và các nhóm dịch truyện dễ dàng nhận được nguồn vốn đóng góp quỹ duy trì hoạt động Từ đó, tôi muốn xây dựng một ứng dụng đọc truyện miễn phí cho mọi người để không còn ai đắn đo việc đọc truyện qua mạng tốn dung lượng 4G và tốc độ xử lí chậm chạp.

1.2 Mục tiêu của đề tài

1.2.1 Mục tiêu tổng quát

Xây dựng ứng dụng đọc truyện có giao diện bắt mắt người đọc và người đọc có thể lựa chọn thể loại truyện mình thích và tìm kiếm tên truyện dễ dàng

1.2.2 Mục tiêu cụ thể

Ứng dụng sẽ cập nhật các chương truyện hàng ngày theo từng bộ truyện và thông báo cho người đọc truyện mình quan tâm đã ra chương mới và thông báo bảo trì đồng thời hiện thị toàn bộ lịch sử các chương truyện người đọc đã lướt qua Trên trang chủ sẽ luôn hiển trị truyện mới có tiêu đề hình ảnh và 1 đoạn mô tả nội dung

1.3 Nội dung thực hiện

Hệ thống ứng dụng thực hiện sẽ được mô tả như sau: - Người dùng phải đăng kí và đăng nhập để dọc truyện.

Trang 6

- Người dùng có thẻ đánh giá , chia sẻ, yêu thích.

1.4 Khảo sát và phân tích ứng dụng

Trong thời đại 4.0 ai cũng có cho riêng mình một chiếc điện thoại thông minh để cập nhật mọi tin tức đời sống cũng như để giải trí sau những giờ làm việc căng thẳng bằng việc như: đọc truyện tranh online,… Nhưng hầu hết phải lên các trang web chính thống để đọc do đó nó có rất nhiều bất cập xảy đến như: yêu cầu phải kết nối với mạng internet, đắn đo về dung lượng khi đọc truyện qua mạng, tốc độ xử lý chậm, …

Do đó chúng em muốn mang tới một ứng dụng có thể thay đổi được các bất cập xảy đến khi đọc truyện tranh hay đọc sách online xảy ra với người sử dụng Nhằm mang đến một ứng dụng trên điện thoại có thể giúp mọi người đọc truyện không bị gián đoạn hay phải lo nghĩ về hết data khi sử dụng internet, và hơn hết tốc độ xử lý sẽ vượt trội hơn khi sử dụng trên web.

Dựa trên các kết quả khảo sát và phân tích trên, nhóm chúng em đã đưa ra quyết định để xây dựng các tính năng và thiết kế ứng dụng đọc truyện tranh, với mục tiêu tối đa hóa trải nghiệm người dùng và đáp ứng nhu cầu giải trí của sử dụng ứng dụng

1.5 Các yêu cầu về chức năng

Sơ đồ USECASE tổng quát

6

Trang 7

 Người quản trị: Quản lý truyện

Trang 9

CHƯƠNG 2 TRIỂN KHAI ỨNG DỤNG1 Triển Khai Giao Diện Hệ Thống

1.1 Giao diện đăng nhập

Trang 10

1.2 Giao diện ứng dụng

10

Trang 11

1.3 Giao diện account

Trang 12

1.4 Giao diện chia sẻ truyện

12

Trang 13

1.5 Giao diện nội dung

Trang 14

1.6 Giao diện đánh giá

14

Trang 15

1.7 Giao diện cập nhật truyện

Trang 16

2 Triển khai các chức năng của hệ thống

Để xây dựng được các chức năng của ứng dụng theo thiết kế đã được trình bày ở chương 3, đồ án đã sử dụng drawable để thiết kế giao diện người dùng theo yêu cầu Tiếp theo, đồ án sẽ trình bày các kỹ thuật được sử dụng để xây dựng ứng dụng.

android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/longhihi" >

<! TODO: Update blank fragment layout >

<LinearLayout

android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:layout_gravity="center"

android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Wellcome to App" android:textColor="#2CA7E0" android:textStyle="bold" android:layout_gravity="center" android:layout_height="wrap_content" android:inputType="textEmailAddress"

16

Trang 17

android:hint="username" android:textColorHint="#2CA7E0" android:layout_gravity="center"

android:drawableLeft="@drawable/ic_person" android:layout_height="wrap_content" android:inputType="textPassword" android:hint="Password" android:textColorHint="#2CA7E0" android:layout_gravity="center"

android:drawableLeft="@drawable/ic_person"

android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Forget Password?" android:textColor="#E11010"

android:fontFamily="sans-serif-medium" android:layout_gravity="right" android:layout_gravity="center" android:text="Đăng nhập" android:textColor="#fff" android:layout_marginTop="20dp" android:background="@drawable/botron"

Trang 18

android:layout_width="300dp" android:layout_height="60dp" android:layout_gravity="center" android:text="Đăng ký"

Trang 20

public class MainDangNhap extends AppCompatActivity { EditText edtTaiKhoan edtMatKhau, ;

Button btnDangNhap btnDangKy, ;

databaseDocTruyen = new databasedoctruyen(this);

btnDangKy.setOnClickListener(new View.OnClickListener() { @Override

Intent intent = new

Intent(MainDangNhap.this,MainDangKy.class); startActivity(intent);

} });

20

Trang 21

btnDangNhap.setOnClickListener(new View.OnClickListener() { @Override

String tentaikhoan = edtTaiKhoan.getText().toString(); String matkhau = edtMatKhau.getText().toString(); Cursor cursor = databaseDocTruyen.getData(); while (cursor.moveToNext()){

String datatentaikhoan cursor.getString( );= 1

String datamatkhau cursor.getString( );= 2

if(datatentaikhoan.equals(tentaikhoan) && datamatkhau.equals(matkhau)){

int phanquyen cursor.getInt( );= 4

int idd cursor.getInt( );= 0

String tentk cursor.getString( );= 1

String email cursor.getString( );= 3

Intent intent = new

Intent(MainDangNhap.this,MainActivity.class); intent.putExtra("phanq",phanquyen); intent.putExtra("idd",idd);

intent.putExtra("email",email); intent.putExtra("tentaikhoan",tentk);

private void AnhXa() {

edtTaiKhoan = findViewById(R.id.edtUsername); edtMatKhau = findViewById(R.id.edtPasswod);

Trang 22

} }

Chức năng tìm kiếm

a Thiết kế layout

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"

xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainTimKiem">

<LinearLayout

android:layout_margin="5dp" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <EditText

android:hint="Search" android:id="@+id/timkiem" android:layout_width="match_parent"

android:layout_height="wrap_content"></EditText> <androidx.recyclerview.widget.RecyclerView android:id="@+id/listviewtimkiem" android:layout_width="match_parent"

Trang 24

public void onTextChanged(CharSequence s, int start, int before, int count) {

private void filter(String text){ //xóa sau mỗi lần gọi tới filter

arrayList.clear();

ArrayList<Truyen filteredList > = new ArrayList<>(); for(Truyen item : TruyenArrayList){

if (item.getTenTruyen().toLowerCase().contains(text.toLowerCase())){ filteredList.add(item);

//Thêm dữ liệu để hiển thị ra item nội dung

arrayList.add(item); }

}

adaptertruyen.filterList(filteredList); }

//Hàm gán dữ liệu từ CSDL vào listview

public void initList(){

TruyenArrayList = new ArrayList<>(); //

arrayList = new ArrayList<>();

databaseDocTruyen = new databasedoctruyen(this); Cursor cursor1 = databaseDocTruyen.getData2(); while (cursor1.moveToNext()){

int id cursor1.getInt( );= 0

String tentruyen cursor1.getString( );= 1

String noidung cursor1.getString( );= 2

String anh cursor1.getString( );= 3

int id_tk cursor1.getInt( );= 4

24

Trang 25

TruyenArrayList.add(new Truyen(id,tentruyen noidung,anh,id_tk, )); //Thêm dữ liệu vào mảng

arrayList.add(new Truyen( ,id tentruyen,noidung anh id_tk, , )); }

LinearLayoutManager linearLayoutManager = new

LinearLayoutManager(getApplicationContext(), RecyclerView.VERTICAL, false); listView.setLayoutManager(linearLayoutManager);

adaptertruyen=new adapterTruyen(getApplicationContext(),TruyenArrayList); listView.setAdapter(adaptertruyen);

cursor1.moveToFirst(); cursor1.close(); }

// //Tạo thanh action bar với toolbar// private void ActionBar() {

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"

xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context=".MainDangBai"> <TextView

android:textColor="#2196F3" android:textStyle="bold" android:textSize="30sp" android:gravity="center" android:text="Đăng bài"

Trang 26

android:inputType="text" android:id="@+id/dbtieude" android:hint="Tên truyện" android:layout_gravity="center" android:hint="Nội dung"

android:inputType="text"></EditText> <EditText

android:inputType="textUri" android:hint="Ảnh bìa" android:id="@+id/dbimg" android:layout_gravity="center" android:layout_marginTop="20dp" android:layout_width="300dp"

android:layout_height="wrap_content"></EditText> <Button

android:id="@+id/dbdangbai" android:layout_gravity="center" android:layout_marginTop="20dp" android:text="Đăng bài"

android:textColor="@color/white"

android:background="@drawable/themtruyen"

Trang 27

private void init() {

listView = getActivity().findViewById(R.id.listviewAdmin); buttonThem = getActivity().findViewById(R.id.buttonAddTruyen);

Trang 28

buttonThem.setOnClickListener(new View.OnClickListener() { @Override

Intent intent = getActivity().getIntent(); int id intent.getIntExtra(= "Id", );0

Intent intent1 = new Intent(getContext(), MainDangBai.class); intent.putExtra("Id",id);

public void initList(){

TruyenArrayList = new ArrayList<>();

databaseDocTruyen = new databasedoctruyen(getContext()); Cursor cursor1 = databaseDocTruyen.getData2();

while (cursor1.moveToNext()){ int id cursor1.getInt( );= 0

String tentruyen cursor1.getString( );= 1

String noidung cursor1.getString( );= 2

String anh cursor1.getString( );= 3

int id_tk cursor1.getInt( );= 4

TruyenArrayList.add(new Truyen(id,tentruyen noidung,anh,id_tk, )); }

LinearLayoutManager linearLayoutManager = new

LinearLayoutManager(getContext(), RecyclerView.VERTICAL, false); listView.setLayoutManager(linearLayoutManager);

adaptertruyen = new adapterDangBai(getContext(),TruyenArrayList); listView.setAdapter(adaptertruyen);

Trang 29

Bundle savedInstanceState) { // Inflate the layout for this fragment

return inflater.inflate(R.layout.fragment_dangbai, container, false);

+ Hệ thống sẽ hiển thị các yêu cầu chức năng của người dùng lựa chọn + Người dùng có thể yêu thích truyện , tìm kiếm, chia sẻ, đánh giá truyện

4 Định hướng phát triển ứng dụng

Ứng dụng đọc truyện tranh là một ứng dụng đơn giản và dễ sử dụng nhưng nó vẫn còn khá nhiều thiếu sót dưới đây sẽ là một số hướng phát triển ứng dụng nhằm mang tới cho người sử dụng một trải nghiệm khi sử dụng ứng dụng tốt nhất: - Cập nhật các truyện mới nhanh chóng.

- Thêm tính năng xem truyện đã đọc qua

Ngày đăng: 04/05/2024, 12:45

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

Tài liệu liên quan