Quản lý danh sách các yêu cầu gửi lên máy chủ của các ứng dụng

Một phần của tài liệu Xây dựng thư viện trên nền tảng Android hỗ trợ các ứng dụng quản lý (Trang 33)

Hình 10 – Biểu đồ lớp quản lý danh sách các yêu cầu gửi lên máy chủ của các ứng dụng

Lớp XMLRequest

Thuộc tính Mô tả thuộc tính

URL: String Đây là một thuộc tính được sử dụng thông qua lớp cho các phương thức khác nhau

xml: String Đây là một thuộc tính được sử dụng thông qua lớp cho các phương thức khác nhau

httpClient:

DefaultHttpClient

Đây là một đối tượng của DefaultHttpClient được sử dụng thông qua lớp cho các phương thức khác nhau

httpPost: HttpPost Đây là một đối tượng của HttpPost được sử dụng thông qua lớp cho các phương thức khác nhau

httpResponse: HttpResponse

Đây là một đối tượng của HttpResponse được sử dụng thông qua lớp cho các phương thức khác nhau

httpEntity: HttpEntity Đây là một đối tượng của HttpEntity được sử dụng thông qua lớp cho các phương thức khác nhau

domDocument: Document

Đây là một đối tượng của Document được sử dụng thông qua lớp cho các phương thức khác nhau

Phƣơng thức getXMLfromURL(String URL)

Mô tả phƣơng thức Bằng cách nhập vào đường dẫn đến máy chủ có lưu dữ liệu mà người dùng cần

Mô tả postXMLtoURL(String URL, String filePath, String xml)

Phƣơng thức getDomDocument(String URL)

Mô tả phƣơng thức Lấy phẩn tử DOM từ XML

Phƣơng thức getValue(Element item, String str)

Mô tả phƣơng thức Lấy giá trị của từng phần tử trong NodeList

Phƣơng thức getFileContent(File file)

Mô tả phƣơng thức Lấy nội dung từ tệp XML trong đường dẫn được truyền

Lớp JSONLoader

Thuộc tính Mô tả thuộc tính

is: InputStream Đây là một đối tượng của InputStream đươc sử dụng thông qua lớp cho các phương thức khác nhau

jObj: JSONObject Đây là mộtthuộc tính đươc sử dụng thông qua lớp cho các phương thức khác nhau

json: String Đây là mộtthuộc tính đươc sử dụng thông qua lớp cho các phương thức khác nhau

Phƣơng thức makeHttpRequest(String url, String method, List<NameValuePair> params)

Mô tả phƣơng thức Lấy tệp JSON từ máy chủ bằng cách truyền vào phương thức, đường dẫn hay params

Method objectJSON(InputStream is,JSONObject jObj)

Method Description Lấy đối tượng JSON từ đường dẫn

Phƣơng thức stringJSON(InputStream is,JSONObject jObj)

Phƣơng thức displayImage(Context context, String url, int

loader,ImageView imageView)

Mô tả phƣơng thức Tải ảnh từ đường dẫn của máy chủ

2.4.3 Quản lý các thông báo từ máy chủ của các ứng dụng hay ngƣời dùng

Hình 11 – Biểu đồ lớp quản lý thông báo từ máy chủ của các ứng dụng hay ngƣời dùng

Lớp NotificationContent

Thuộc tính Mô tả thuộc tính

title : String Đây là một thuộc tính được sử dụng thông qua lớp cho các phương thức để mô tả tiêu đề của thông báo

info : String Đây là một thuộc tính được sử dụng thông qua lớp cho các phương thức để mô tả nội dung được thể hiện trong thông báo

eventTime : long Đây là một thuộc tính được sử dụng thông qua lớp cho các phương thức để thể hiện thời gian diễn ra sự kiện

startTime : long Đây là một thuộc tính được sử dụng thông qua lớp cho các phương thức để thể hiện thời gian hiện thông báo

latitude : double Đây là một thuộc tính được sử dụng thông qua lớp cho các phương thức để thể hiện vị trí mà người dùng muốn được thông báo

longitude : double Đây là một thuộc tính được sử dụng thông qua lớp cho các phương thức để thể hiện vị trí mà người dùng muốn được thông báo

method : Boolean Đây là một thuộc tính được sử dụng thông qua lớp để thể hiện phương thức nào sẽ được làm việc với server

method = true (Phương thức POST) method = false (Phương thứcGET)

url : String Đây là một thuộc tính được sử dụng thông qua lớp cho các phương thức để thể hiện đường dẫn của server

nNotificationContent: NotificationContent

Đây là một thuộc tính được sử dụng thông qua lớp cho các phương thức để thể hiện thông tin muốn được thông báo

Lớp ProcessNotification

Phƣơng thức setNotification(context, nNotificationContext)

Mô tả phƣơng thức Thiết lập thông báo từ đối tượng NotificationContent bao gồm thời gian, nội dung và tiêu đề của thông báo, biểu tượng

Phƣơng thức getListNotification(String url,boolean method)

Mô tả phƣơng thức Lấy danh sách NotificationContent từ server

2.4.4 Quản lý các kết nối mạng Internet của ngƣời dùng

Lớp CheckNetwork

Phƣơng thức isConnectingInternet()

Mô tả phƣơng thức Trả về giá trị true nếu có mạng và ngược lại

Lớp Network

Phƣơng thức setMobileDataEnabledMethod(Context context, boolean check)

Mô tả phƣơng thức Giúp thiết bị bật hay tắt 3G một cách tự động

Phƣơng thức turnOnOffWifi(Context context, WifiManager wifimanager, boolean check)

Mô tả phƣơng thức Giúp thiết bị bật hay tắt WiFi một cách tự động

Phƣơng thức turnOnOffGPS(Context context, boolean check)

2.4.5 Quản lý các tin nhắn nhắc nhở từ máy chủ của các ứng dụng

Hình 13 – Biểu đồ lớp quản lý các tin nhắn nhắc nhở từ máy chủ của các ứng dụng

Lớp ReminderMessage

Phƣơng thức sendNotification(Context context, String number, String message)

Mô tả phƣơng thức Gửi thông báo bằng tin nhắn SMS(Giống như gửi tin nhắn SMS giả), ta có thể thiết lập thời gian, nội dung cho thông báo

Phƣơng thức setSound(Uri uri, Activity activity)

Mô tả phƣơng thức Phát nhạc chuông từ đường dẫn

Phƣơng thức setVibrate(Context context)

Mô tả phƣơng thức Thiết lập chế độ rung mặc định

Phƣơng thức toggleFlashLight(Camera mCamera, Parameters mParams, boolean on)

Mô tả phƣơng thức Điều chỉnh trạng thái của đèn flash

Phƣơng thức turnOn(Camera mCamera, Parameters mParams, boolean on)

Mô tả phƣơng thức Bật chế độ đèn flash

Phƣơng thức turnOff(Camera mCamera, Parameters mParams, boolean on)

Mô tả phƣơng thức Tắt chế độ đèn flash

Lớp ReminderAlarm

Thuộc tính Mô tả thuộc tính

NotificationCount: int Đây là thuộc tính được sử dụng thông qua lớp cho các phương thức để lưu ID cho mỗi thông báo hiển thị alarmManager:

AlarmManager

Đây là một đối tượng của AlarmManager được sử dụng thông qua lớp cho các phương thức

Phƣơng thức checkTime(String timeRemind)

Mô tả phƣơng thức Check time that user choose is right or wrong

Phƣơng thức setAlarm(Context context, String title, String content, int actionID)

Mô tả phƣơng thức Tạo đối tượng SimpleDateFormat để xác nhận định dạng định dạng của dữ liệu ngày nhập vào và dữ liệu ngày trả về , trả về đối tượng PendingIntent để thiết lập báo thức

Phƣơng thức remindDefaultAlarm(Context context, String title, String content, long when)

Mô tả phƣơng thức Thiết lập báo thức để gửi thông báo đúng giờ

Phƣơng thức setTime(String day)

Mô tả phƣơng thức Lấy giá trị thời gian từ chuỗi ngày được nhập vào để trả về kiểu long

Phƣơng thức setTime(Context context, int mDay, int mMonth, int mYear,int mHour, int mMinute)

Mô tả phƣơng thức Trả về giá trị thời gian với kiểu long

Phƣơng thức setFormatTime(String day)

Mô tả phƣơng thức Trả về giá trị thời gian với kiểu long

Phƣơng thức setFormatTime(String day)

Mô tả phƣơng thức Trả về giá trị thời gian với kiểu long

Phƣơng thức repeatExactAlarm(Context context, String title, String content, long when, int repeatMinute)

Mô tả phƣơng thức Thiết lập báo thức để gửi thông báo lặp lại nhiều lần cho đến khi người dùng hủy nó

Phƣơng thức repeatInexactAlarm(Context context, String title, String content, long when, int repeatMinute)

2.4.6 Hỗ trợ xây dựng phòng chat

Lớp CRSSocketChannel

Thuộc tính Mô tả thuộc tính

NotificationCount: int Đây là thuộc tính được sử dụng thông qua lớp cho các phương thức để mô tả ID cho mỗi thông báo

alarmManager: AlarmManager

Đây là đối tương của AlarmManager được sử dụng thông qua lớp cho các phương thức để thiết lập báo thức

Phƣơng thức connectServer(String ursl, String username, String appID)

Mô tả phƣơng thức Kết nối đến máy chủ của thư viện

Phƣơng thức sendMessage(String data)

Mô tả phƣơng thức Gửi tin nhắn tới những người dùng khác bằng cách sử dụng máy chủ riêng của thư viện

Phƣơng thức createRoom(String data)

Mô tả phƣơng thức Tạo phòng chat trên máy chủ

Phƣơng thức leaveRoom(String data)

Mô tả phƣơng thức Rời khỏi phòng chat trên máy chủ

Phƣơng thức removeRoom(String data)

Mô tả phƣơng thức Xóa phòng khỏi máy chủ

Phƣơng thức disconnectServer()

Phƣơng thức sendMessageWhisper(String data)

Mô tả phƣơng thức Gửi tin nhắn whisper cho những người dùng khác

Phƣơng thức joinRoom(String data)

Mô tả phƣơng thức Tham gia phòng trên máy chủ

Lớp CRSIntentService

Phƣơng thức onMessage(String data)

Mô tả phƣơng thức Gửi hay nhận tin nhắn cho những người dùng khác

Phƣơng thức onMessageWhisper(String data)

Mô tả phƣơng thức Gửi hay nhận whisper tin nhắn cho người dùng khác

Phƣơng thức getAlluserOnline()

Mô tả phƣơng thức Gửi whisper tin nhắn cho người dúng khác

Phƣơng thức hasUserOnline(String data)

Mô tả phƣơng thức Kiêm tra trạng thái của những người dùng đang online trên hệ thống

Phƣơng thức getRoomID(String data)

Mô tả phƣơng thức Lấy ID của phòng chat muốn tham gia từ máy chủ

Phƣơng thức errorMessage(String data)

Phƣơng thức getAlluserOnline()

Mô tả phƣơng thức Gửi whisper tin nhắn cho người dùng khác

Phƣơng thức hasUserOnline(String data)

Mô tả phƣơng thức Kiêm tra trạng thái của những người dùng đang online trên hệ thống

Phƣơng thức socket.on('Client connect to server', function(Key, userName)

Mô tả phƣơng thức Kết nối với máy chủ

Phƣơng thức hasUserOffline(String data)

Mô tả phƣơng thức Kiểm tra trạng thái của những người dùng offline trên hệ thống

Phƣơng thức getRoomID(String data)

Mô tả phƣơng thức Lấy ID của phòng chat muốn tham gia từ máy chủ

Phƣơng thức socket.on("Message client to server",function(data))

Mô tả phƣơng thức Kết nối người dùng với máy chủ

Phƣơng thức socket.on('disconnect' ,function(data)

2.4.7 Quản lý tài khoản

Lớp AccountAction

Phƣơng thức createAccount(String Url,String id,String name,String password,String TAG_SUCCESS,JSONParser jsonParse)

Mô tả phƣơng thức Cho phép tạo thêm tài khoản mới trong cơ sở dữ liệu với giá trị bao gồm name, id, password.

Phƣơng thức readAccount(String Url,String id,String

TAG_ID,JSONParser jsonParse,String TAG_SUCCESS, String TAG_USER,String TAG_NAME,String

TAG_PASS,String str1,String str2)

Mô tả phƣơng thức Get information of a row in database with values such as name, password by id was input

Phƣơng thức deleteAccount(String Url,String id,String

TAG_ID,JSONParser jsonParse,String TAG_SUCCESS)

Mô tả phƣơng thức Cho phép xóa bỏ thông tin của tài khoản trong cơ sở dữ liệu của hệ thống

Phƣơng thức editAccount(String Url,String id,String name,String pass,String TAG_ID,String TAG_NAME,String TAG_PASSWORD, JSONParser jsonParse,String TAG_SUCCESS)

Mô tả phƣơng thức Cho phép chỉnh sửa thông tin của tài khoản nhất định với thông tin về name và password

2.5 Dự kiến kết quả đạt đƣợc

Xây dựng được một thư viện có thể giúp người dùng truyền và nhận dữ liệu từ các máy chủ khác nhau của các ứng dụng bằng Smartphone một cách dễ dàng.

Xây dựng thư viện trong phạm vi hỗ trợ bốn ứng dụng quản lý tour, quản lý lớp học, hỗ trợ quản lý cuộc họp và hỗ trợ thông tin sự cố với các chức năng trong bảng sau:

 Quản lý các chức năng liên quan đến GPS

STT Chức năng Ghi chú

1 Tìm vị trí của người dung

2 Tìm vị trí của nhiều địa điểm mà người dùng muốn biết

3 Tìm vị trí của những người dùng gần nhất 4 Tìm đường đi giữa hai điểm

 Quản lý danh sách các yêu cầu gửi lên máy chủ của các ứng dụng

STT Chức năng Ghi chú

1 Các yêu cầu bằng tệp tin XML 2 Các yêu cầu bằng tệp tin JSON

 Quản lý các thông báo từ máy chủ của các ứng dụng hay người dùng

STT Chức năng Ghi chú

1 Thông báo về thời gian 2 Thông báo về vị trí 3 Thông báo về thiên tai

 Quản lý các kết nối mạng Internet của người dùng

STT Chức năng Ghi chú

1 Kết nối bằng WiFi 2 Kết nối bằng GPS 3 Kết nối bằng 3G

 Quản lý các tin nhắn nhắc nhở từ máy chủ của các ứng dụng

STT Chức năng Ghi chú

1 Nhắc nhở bằng cách thiết lập âm thanh 2 Nhắc nhở bằng cách thiết lập độ rung 3 Nhắc nhở bằng cách thiết lập đèn flash

4 Nhắc nhở bằng cách hiển thị thông báo trên thanh trạng thái của Smartphone

 Quản lý tài khoản

STT Chức năng Ghi chú

1 Tạo tài khoản mới

2 Chỉnh sửa thông tin của tài khoản 3 Xóa thông tin của một tài khoản 4 Xem thông tin của tài khoản 5 Xác nhận thông tin của tài khoản 6 Phân quyền cho tài khoản

 Hỗ trợ xây dựng phòng chat

STT Chức năng Ghi chú

1 Tạo phòng 2 Rời khỏi phòng 3 Xóa phòng

4 Tham gia vào phòng 5 Gửi tin nhắn

6 Gửi tin nhắn bí mật

7 Lấy danh sách những người dùng online 8 Lấy tên của người dùng offine

9 Lấy tên của người dùng online 10 Lấy những tin nhắn lỗi

Xây dựng ứng dụng trên Android cho người dùng sử dụng với các chức năng trong bảng sau:

STT Chức năng Ghi chú

1 Quản lý các chức năng liên quan đến bản đồ

2 Quản lý danh sách các yêu cầu gửi lên máy chủ của các ứng dụng 3 Quản lý các kết nối mạng Internet của người dung

4 Quản lý các tin nhắn nhắc nhở từ máy chủ của các ứng dụng 5 Quản lý tài khoản

6 Quản lý các thông báo từ máy chủ của các ứng dụng hay người dùng 7 Hỗ trợ xây dựng phòng chat

CHƢƠNG 3

TRIỂN KHAI CHƢƠNG TRÌNH

3.1 Cách sử dụng thƣ viện trong Android

 Đưa thư viện vào eclipse như một đồ án bình thường

Sau đó đưa vào bất cứ ứng dụng nào bạn muốn bằng cách:

Nhấn chuột phải -> Properties -> Android -> Add -> Chọn Library

 Xuất thư viện ra dưới dạng một gói.jar

- Chọn Library -> Nhấn chuột phải -> Export -> Java -> JAR File, chọn các thư mục cần thiết và đường dẫn

Tiếp tục bấm Next -> Next -> Finish -> Gói library.jar -> Đưa vào trong ứng dụng.

 Cách sử dụng các chức năng trong thư viện Thư viện được xây dựng thành ba gói chính:

Android.lib.internal: các lớp chứa các hàm chung dùng cho các chức năng khi xây dựng cấu trúc

Android.lib.object: lớp chứa các đối tượng tự định nghĩa để sử dụng cho chức năng

Android.lib.product: lớp chứa các hàm được người lập trình gọi để sử dụng các chức năng, tùy vào mỗi chức năng, nó sẽ có tên đại diện chức năng

Nếu người dùng muốn dùng bất kỳ chức năng gì thì họ có thể vào gói android.lib.product để tìm các hàm.

3.2 Triển khai chƣơng trình

Đối với chức năng liên quan đến Google Map, người dùng có thể thấy vị trí của bản thân hay người khác muốn tìm đường đi đến địa điểm nào đó trên Google Map.

Họ có thể dùng chức năng tìm đường trong thư viện. Ở đây, họ có thể chọn theo đường bộ hay đường xe chạy. Chương trình sẽ tự động vẽ đường giữa hai điểm đã chọn

Hình 18 – Vẽ đƣờng đi giữa hai vị trí

Người dùng có thể quan sát vị trí của những người dùng ứng dụng khác trong một phạm vi nhất định với các loại bản đồ khác nhau. Tùy vào quyền đã được phân cho mỗi người dùng của mỗi ứng dụng mà có thể hiển thị trên bản đồ khác nhau.

Hình 20 – Hiển thị các vị trí gần nhất so với một địa điểm

Ngoài ra, ta có thêm một số chức năng như:

Đối với chức năng Reminder, người dùng có thể thiết lập thời gian để thông báo, họ có thể chọn chức năng kèm theo như nhắc nhở bằng đèn flash, độ rung, âm thanh hay gửi tin nhắn

Hình 22 – Nhắc nhở bằng cách thiết lập chế độ rung

Đối với chức năng hỗ trợ xây dựng phòng chat thì người dùng phải cung cấp một id chung để có thể tham gia nói chuyện, bàn bạc.

KẾT LUẬN

a. Đánh giá kết quả

Với việc sử dụng nền tảng Android, người dùng có thể sử dụng thư viện để hỗ trợ cho việc lập trình Android, giúp việc xây dựng code trong các ứng dụng có hệ thống hơn.

Về mặt kỹ thuật ứng dụng đã được xây dựng thành công với việc sử dụng các công nghệ XML, JSON, GPS, GOOGLE MAP API, NODEJS, SOCKET.IO.

Ƣu điểm

 Các chức năng được xây dựng dễ sử dụng, hỗ trợ linh hoạt cho người lập trình

 Các chức năng cơ bản đã hoàn thiện

Một phần của tài liệu Xây dựng thư viện trên nền tảng Android hỗ trợ các ứng dụng quản lý (Trang 33)

Tải bản đầy đủ (PDF)

(59 trang)