Xem mẫu
- KỈ YẾU HỘI NGHỊ SINH VIÊN NGHIÊN CỨU KHOA HỌC NĂM HỌC 2013-2014
XÂY DỰNG ỨNG DỤNG HỖ TRỢ TRÌNH CHIẾU TỪ XA
TRÊN NỀN TẢNG ANDROID
Nguyễn Đồng Thắng, Khoa Công nghệ Thông tin
GVHD: ThS. Nguyễn Thị Thanh Huyền
Tóm tắt: Ngày nay, thuyết trình đóng một vai trò rất quan trọng trong rất nhiều lĩnh vực khác nhau.
Cùng với đó thì đã có rất nhiều những công cụ hiện đại hỗ trợ cho việc thuyết trình nhằm nâng cao
kết quả của bài thuyết trình. Như bút trình chiếu hay các ứng dụng di động giúp người dùng điều
khiển bài trình chiếu từ xa nhưng những công cụ này đều còn có những hạn chế về phạm vi kết nối
cũng như giá thành còn khá cao. Báo cáo tìm hiểu và xây dựng ứng dụng Remote Slide - Hỗ trợ
người dùng trình bày bài thuyết trình. Nhằm nâng cao hiệu quả và chất lượng của bài thuyết trình.
Từ khóa: Lập trình Android, hỗ trợ trình chiếu, PowerPoint, Lập trình Client/Server, smartphone.
I. MỞ ĐẦU
Ngày nay, trong công việc đôi lúc đòi hỏi chúng ta cần phải có những bài trình bày,
bài thuyết trình, bài báo cáo về kết quả công việc hay nghiên cứu của mình. Ví dụ nhƣ giáo
viên muốn thuyết trình về bài giảng của mình trƣớc học sinh, học sinh muốn trình bày kết
quả học tập của mình trƣớc lớp hay nhân viên trong công ti muốn báo cáo kết quả công
việc của mình với cấp trên,…
Đã có rất nhiều công cụ hỗ trợ cho việc thuyết trình từ giai đoạn chuẩn bị cho đến
khi bài thuyết trình đƣợc trình bày. Tiêu biểu trong số đó phải kể đến phần mềm Microsoft
Office PowerPoint nằm trong bộ phần mềm Microsoft Office của Microsoft. Đây là phần
mềm cung cấp các ứng dụng liên quan tới công việc văn phòng thƣờng ngày nhƣ soạn thảo
văn bản, xử lí bảng biểu, thiết kế bài giảng điện tử, thuyết trình, quảng cáo, thậm chí là làm
phim, trò chơi hay trình diễn ảnh.
Bên cạnh đó, với sự hỗ trợ của máy Projector (máy chiếu) kết nối với máy tính,
ngƣời dùng có thể khai thác đƣợc nội dung muốn chuyển tải và làm cho nó sinh động và
trực quan hơn với những hình ảnh, video minh họa cho nội dung có trên slide trình chiếu.
Nhƣng ngoài những lợi ích không thể phủ nhận mà những công cụ này mang lại thì vẫn
còn những hạn chế nhất định.
- Trong bài thuyết trình, những nội dung đƣợc trình bày đều đƣợc minh họa vởi
những hình ảnh cụ thể mà đôi khi thiếu đi những hoạt động trực quan của ngƣời thuyết
trình. Điều này sẽ làm cho ngƣời nghe bị phụ thuộc vào bài thuyết trình dẫn đến lƣời suy
nghĩ, lƣời tƣởng tƣợng, khả năng tƣ duy trừu tƣợng bị hạn chế.
- Khi trình bày bài thuyết trình, ngƣời thuyết trình thƣờng trình bày nội dung của
bài giảng trƣớc, sau đó mới chiếu phần nội dung đó lên màn hình hoặc theo thứ tự
ngƣợc lại. Nhƣng trong nhiều trƣờng hợp hai công việc này cần phải đi đôi với nhau
nhƣ vậy mới có tác dụng nhấn mạnh lên sự tiếp thu của ngƣời nghe. Việc thực hiện
không đồng bộ giữa trình chiếu và trình bày gây gián đoạn dòng tƣ duy của ngƣời nghe
và làm hao phí quỷ thời gian.
163
- KỈ YẾU HỘI NGHỊ SINH VIÊN NGHIÊN CỨU KHOA HỌC NĂM HỌC 2013-2014
- Khi chuẩn bị bài thuyết trình ngƣời dùng là ngƣời đã nắm rõ nội dung của slide bài
giảng vì đã xem đi xem lại nhiều lần và trực tiếp biên soạn. Nên có thể nảy sinh tâm lí chủ
quan, cảm nghĩ ngƣời nghe sẽ tiếp thu nội dung và hình ảnh dễ dàng, do đó chuyển từ slide
này sang slide khác quá nhanh hoặc quá chậm sẽ làm học sinh không theo dõi kịp bài
thuyết trình. Mà không để ý rằng ngƣời nghe chỉ mới đƣợc xem lần đầu, do đó cần có thời
gian để học sinh tiếp thu những nội dung của bài thuyết trình.
Từ những điểm còn hạn chế kể trên, cần phải có những công cụ, phƣơng pháp hỗ trợ
thuyết trình mới để giúp cho ngƣời trình bày vừa có thể duy trì đƣợc tính tƣơng tác với
ngƣời nghe trong khi phát huy tối đa những lợi ích mà những công cụ đó mang lại. Báo
cáo đề xuất việc phát triển công cụ mới. Ứng dụng Remote Slide hỗ trợ ngƣời dùng trình
bày bài thuyết trình. Nhằm nâng cao hiệu quả và chất lƣợng của bài thuyết trình.
I. NỘI DUNG
1. Mô tả bài toán
Ứng dụng Remote Slide hoạt động theo mô hình Client/Server. Trong đó, Server là
phần mềm đƣợc cài đặt trên máy tính sử dụng hệ điều hành Windows có nhiệm vụ tiếp
nhận những thông tin điều khiển gửi từ Client - ứng dụng cài đặt trên điện thoại Android.
Hình 1. Mô tả hoạt động của ứng dụng Remote Slide
Ngƣời dùng có thể điều chuyển Slide, sử dụng con trỏ, các chức năng trình chiếu,…
ngay trên điện thoại. Những hành động này sẽ đƣợc mã hóa thành những tập tin điều khiển
và gửi đến Server. Server sẽ tiếp nhận và xử lí những gói tin tƣơng ứng với những hành
động đƣợc yêu cầu từ phía Client.
2. Phân tích bài toán
Ứng dụng Remote Slide có hai thành phần chính đó là: (1) Server đƣợc cài đặt trên
máy tính; (2) Client cài đặt trên điện thoại di động thông minh sử dụng hệ điều hành
Android. Để điều khiển bài trình chiếu, Ứng dụng Remote Slide cần phải kết nối Server
với Client đầu tiên. Sau khi kết nối, ứng dụng sẽ có các chức năng:
- Chức năng mở bài trình chiếu: Để thực hiện bài trình chiếu, trƣớc hết cần phải mở
bài trình chiếu trên máy tính. Chức năng cần phải hỗ trợ khả năng tìm và mở bài trình chiếu
164
- KỈ YẾU HỘI NGHỊ SINH VIÊN NGHIÊN CỨU KHOA HỌC NĂM HỌC 2013-2014
lƣu trữ trên máy tính với định dạng phần mở rộng là .ppt (Microsoft Office PowerPoint 2003)
hoặc .pptx (Microsoft Office PowerPoint 2007 - 2013).
- Chức năng điều chuyển slide: Là chức năng cơ bản của ứng dụng. Chức năng này
giúp ngƣời dùng chuyển đến slide trƣớc hoặc slide sau trong khi trình chiếu.
- Chức năng sử dụng con trỏ: Trong khi thuyết trình, đôi khi ngƣời dùng sẽ cần trỏ
đến một vị trí cụ thể nào đó trên slide giúp ngƣời xem có thể nắm bắt đƣợc nội dung cụ thể
và chi tiết hơn. Chức năng này giúp ngƣời dùng thực hiện đƣợc chức năng trên. Ngoài ra,
ngƣời dùng cũng có thể thực hiện thao tác Click vào một đối tƣợng trên slide nhƣ video để
phát video hay một đƣờng liên kết có trong slide.
- Các chức năng trình chiếu: Đây là chức năng bắt đầu hay thoát khỏi chế độ
trình chiếu của bài thuyết trình. Tƣơng tự nhƣ khi ngƣời dùng nhấn phím F5 (Bắt đầu chế
độ trình chiếu) và ESC (Thoát khỏi chế độ trình chiếu) trên bàn phím máy tính.
- Chức năng lựa chọn ngôn ngữ: Để mở rộng đối tƣợng ngƣời dùng, ứng dụng
Remote Slide cần hỗ trợ ở các ngôn ngữ khác nhau. Chức năng này giúp ngƣời dùng lựa
chọn ngôn ngữ cho ứng dụng. Ngôn ngữ đƣợc chọn sẽ trở thành ngôn ngữ mặc định của
ứng dụng khi sử dụng sau này. Để thay đổi, ngƣời dùng chỉ cần sử dụng chức năng này và
chọn lại ngôn ngữ mong muốn.
3. Thiết kế và cài đặt ứng dụng
Ứng dụng Remote Slide có hai thành phần chính là Client và Server. Client và
Server giao tiếp với nhau thông qua giao thức UDP (User Datagram Protocol) gửi và
nhận dữ liệu theo dạng gói trong mạng WLAN (Wireless Local Area Network) – mạng
cục bộ không dây.
Hình 2. Biểu đồ thành phần hệ thống
Sau khi nhận đƣợc những gói tin điều khiển từ Client, Server sẽ phân tích và thực
hiện công việc đƣợc yêu cầu.
3.1. Thành phần Server
3.1.1. Chức năng mở bài trình chiếu
Ứng dụng hỗ trợ ngƣời dùng chức năng tìm và mở file Microsoft Office PowerPoint
(*.ppt,*.pptx) bằng cách duyệt các thƣ mục trên máy tính.
Sau khi tìm và chọn đƣợc file, bài trình chiếu sẽ đƣợc mở lên ở chế độ chỉnh sửa.
Lúc này ngƣời dùng có thể điều khiển bài trình chiều từ Client.
165
- KỈ YẾU HỘI NGHỊ SINH VIÊN NGHIÊN CỨU KHOA HỌC NĂM HỌC 2013-2014
Hình 3. Tìm và mở bài trình chiếu
3.1.2. Chức năng thiết lập kết nối với Client
Mô hình Client/Server là một kiểu ứng dụng truyền thông trên mạng Internet. Trong
TCP/IP (Transmission Control Protocol / Internet Protocol) cung cấp hai giao thức giao
vận chính UDP (User Datagram Protocol) và TCP (Transmission Control Protocol) cho
tầng ứng dụng.
Cụ thể, đối với ứng dụng Remote Slide sử dụng giao thức UDP vì ứng dụng cần sự
ƣu tiên về tốc độ truyền tín hiệu điều khiển giữa Client và Server. Đảm bảo sự đồng bộ
giữa các thao tác trên Client và hành động trên Server.
3.1.3. Cơ chế thiết lập kết nối qua UDP
Hình 4. Thiết lập kết nối Client/Server
166
- KỈ YẾU HỘI NGHỊ SINH VIÊN NGHIÊN CỨU KHOA HỌC NĂM HỌC 2013-2014
- Phía Server: Ứng dụng phía Server sẽ tạo ra một Socket và đăng kí với Server một
cổng ứng dụng và chờ đợi yêu cầu kết nối từ phía Client qua cổng này.
- Phía Client: Biết địa chỉ của máy mà Server đang chạy và cổng mà Server đang chờ
nghe yêu cầu. Và nó cũng tạo một Socket để giao tiếp với Server chứa địa chỉ máy Client
và cổng của ứng dụng trên máy Client đồng thời client sẽ cung cấp cho Socket của nó một
địa chỉ và cổng của Server mà nó cần kết nối. Toàn bộ dữ liệu mà Client muốn gửi đến
Server đƣợc qua Socket của Client, tại Socket này nó sẽ chuyển thẳng gói tin mà Client
muốn gửi tới Server dƣới dạng một datagram có chứa địa chỉ máy Server và cổng mà
Server đang lắng nghe yêu cầu. Vậy là chúng không cần có một kết nối và Server không
cần tạo ra một Socket khác để kết nối với Client thay vào đó Server dùng ngay cổng ban
đầu để trao đổi dữ liệu.
Cụ thể, khi tạo ra Socket trên Server cần đến địa chỉ IP máy tính đang chạy Server và
một địa chỉ cổng để lắng nghe yêu cầu kết nối từ cổng này. Do máy tính và điện thoại đã
kết nối vào mạng WLAN, nên địa chỉ IP máy tính là cố định. Nhƣng địa chỉ cổng lắng
nghe yêu cầu thì ngƣời dùng có thể thay đổi trong khoảng từ 0 – 9999. Trƣớc khi tạo ra
Socket, hệ thống sẽ kiểm tra địa chỉ cổng này nếu hợp lệ thì tạo ra Socket nếu không thì
đƣa ra thông báo lỗi.
3.1.4. Chức năng tiếp nhận và xử lí gói tin
Sau khi kết nối với Client, Server sẽ lắng nghe những gói tin đƣợc gửi đến từ Client.
Tại Client, mỗi hành động của ngƣời dùng sẽ tạo ra một lệnh điều khiển tƣơng ứng với
hành động đó. Đây là một chuỗi kí tự kiểu String bao gồm những từ (keywork) mang ý
nghĩa của lệnh điều khiển và những các keywork điều khiển này đƣợc phân tách nhau bởi
kí tự “!!”. Các kí tự “!!” có nhiệm vụ phân tách các keyword sao cho sau khi giải mã thì
Server sẽ biết chính xác cần phải thực hiện công việc gì.
Ví dụ: “MOUSE!!RIGHT” Yêu cầu Server thực hiện hành động Click chuột và cụ
thể là click chuột bên phải.
“MOUSE!!LEFT” Yêu cầu Server thực hiện hành động Click chuột và cụ thể là
click chuột bên trái.
Trƣớc khi gói tin đƣợc gửi đi, chúng đƣợc mã hóa về kiểu dữ liệu Byte. Nên khi
nhận đƣợc gói tin ở Server, việc đầu tiên cần làm đó là chuyển gói tin trở lại kiểu String để
có thể phân tích chúng.
Kết quả nhận đƣợc sau khi chuyển đổi là một chuỗi kí tự có kiểu String. Đây chính là
lệnh điều khiển nhận đƣợc Client. Tiếp theo, chƣơng trình sẽ đọc lệnh và yêu cầu Server
thực hiện công việc tƣơng ứng với lệnh đọc đƣợc.
3.2. Thành phần Client
3.2.1. Chức năng điều chuyển slide
Đây là chức năng cơ bản nhất của ứng dụng, ngƣời dùng có thể chuyển đến slide
trƣớc hoặc slide sau của bài thuyết trình. Sau khi kết nối với Server, trên Client sẽ hiện ra
màn hình chính điều khiển bài trình chiếu nhƣ sau.
167
- KỈ YẾU HỘI NGHỊ SINH VIÊN NGHIÊN CỨU KHOA HỌC NĂM HỌC 2013-2014
Hình 5. Chức năng điều chuyển slide
Để điều chuyển slide, ngƣời dùng có thể bấm chọn các button hình mũi tên tƣơng
ứng. Ngoài ra, cũng có thể swipe màn hình (giữ và vuốt trên màn hình) sang trái để chuyển
đến slide sau hoặc sang phải để chuyển đến slide trƣớc.
3.2.2. Chức năng sử dụng con trỏ
Điều khiển con trỏ là chức năng quan trọng trong ứng dụng. Để điều khiển vị trí con
trỏ đến một vị trí nào đó trên màn hình, ngƣời dùng chỉ cần chạm và di chuyển đến vị trí
mong muốn trên màn hình điện thoại tƣơng tự nhƣ việc sử dụng touchpad trên máy tính
xách tay.
Nhƣng việc chạm và di chuyển trên màn hình có thể bị nhầm lẫn với chức năng
swipe để điều chuyển slide. Để giải quyết vấn đề này, ứng dụng sẽ cần đến sự hỗ trợ của
chức năng long press. Đây là hàm đƣợc xây dựng để phát hiện khi có sự kiện chạm và giữ
ở màn hình tại 1 vị trí và trong một khoảng thời gian nhất định. Chức năng long press hoạt
động nhƣ sau: Mặc định sau khi kết nối với Server, chức năng sẽ mặc định ở chế độ con
trỏ, khi ngƣời dùng muốn điều chuyển slide bằng cách swipe màn hình thì chỉ vần chạm và
giữ ở màn hình trong một khoảng thời gian nhất định. Trên màn hình sẽ hiện ra một hình
ảnh thông báo đã chuyển sang chế độ swipe. Khi muốn sử dụng lại chức năng con trỏ,
ngƣời dùng tiếp tục chạm và giữ trên màn hình nhƣ trƣớc, màn hình cũng sẽ hiện hình ảnh
thông báo đã chuyển về chế độ con trỏ thành công.
3.2.3. Các chức năng trình chiếu
Sau khi mở file trình chiếu, mặc định bài trình chiếu sẽ ở chế độ chỉnh sửa. Để bắt
đầu bài trình chiếu, ngƣời dùng chọn button F5 trên màn hình và khi muốn thoát khỏi chế
độ trình chiếu thì ngƣời dụng chọn vào button Esc trên màn hình.
168
- KỈ YẾU HỘI NGHỊ SINH VIÊN NGHIÊN CỨU KHOA HỌC NĂM HỌC 2013-2014
Hình 6. Chức năng trình chiếu
Ứng với mỗi button đƣợc chọn, Client sẽ sinh ra những câu lệnh điều khiển và gửi đến
Server yêu cầu thực hiện công việc tƣơng ứng nhƣ khi bấm phím F5 và Esc trên bàn phím.
3.2.4. Chức năng lựa chọn ngôn ngữ
Chức năng lựa chọn ngôn ngữ cung cấp cho ứng dụng những gói ngôn ngữ khác
nhau tùy thuộc vào sự lựa chọn của ngƣời dùng. Những gói ngôn ngữ này đƣợc tạo ra từ
tất cả những thông báo xuất hiện trong ứng dụng nhƣng đƣợc dịch ra những ngôn ngữ
tƣơng ứng.
Hình 7. Chức năng đa ngôn ngữ
Mỗi khi ngƣời dùng lựa chọn thay đổi ngôn ngữ. Một biến chứa ngôn ngữ đƣợc chọn
sẽ đƣợc lƣu lại trong cơ sở dữ liệu. Sau đó, ứng dụng sẽ tiến hành tải toàn bộ gói ngôn ngữ
tƣơng ứng với ngôn ngữ đƣợc chọn lên giao diện ứng dụng. Gói ngôn ngữ này sẽ trở thành
ngôn ngữ mặc định của ứng dụng kể cả khi ứng dụng có bị đóng lại.
Sau khi ứng dụng bị tắt đi, khi khởi động lại ứng dụng. Biến chứa ngôn ngữ đƣợc
chọn từ lần sử dụng trƣớc sẽ đƣợc kiểm tra. Do đó, ứng dụng sẽ biết ngôn ngữ đƣợc sử
dụng lần cuối sử dụng là gì và tải đúng gói ngôn ngữ tƣơng ứng.
III. KẾT LUẬN
Báo cáo đã nêu lên sự cần thiết của việc thuyết trình. Dù ở công ti, trƣờng học hay
thậm chí ở gia đình cũng cần đến thuyết trình để trình bày bản báo cáo, bài giảng, bài
169
- KỈ YẾU HỘI NGHỊ SINH VIÊN NGHIÊN CỨU KHOA HỌC NĂM HỌC 2013-2014
nghiên cứu,... Những lợi ích khi sử dụng những công cụ hỗ trợ cho giai đoạn chuẩn bị và
trình bày bài thuyết trình.
Báo cáo cũng chỉ ra những điểm còn hạn chế khi sử dụng phần mềm Microsoft
Office PowerPoint để soạn thảo và trình bày bài thuyết trình. Từ đó, đề xuất phát triển ứng
dụng Remote Slide nhằm giải quyết những điểm còn hạn chế đó.
Remote Slide là ứng dụng đƣợc cài đặt trên điện thoại sử dụng hệ điều hành Android
kết nối qua wifi với Server đƣợc cài đặt trên máy tính đề điều khiển bài thuyết trình. Sử
dụng Remote Slide, ngƣời dùng có thể di chuyển linh hoạt trong phạm vi phòng học,
phòng thuyết trình mà vẫn có thể chủ động điều khiển bài thuyết trình mà không cần phải
đến gần máy tính có kết nối với máy chiếu để điều khiển. Ứng dụng cung cấp cho ngƣời
dùng những chức năng nhƣ điều chuyển slide, sử dụng con trỏ để trỏ vào một vị trí trên
slide hay click vào những đối tƣợng trên slide, ngoài ra ứng dụng còn cung cấp các chức
năng điều khiển cơ bản nhƣ bắt đầu hay kết thúc bài thuyết trình.
Ứng dụng đã đƣợc giới thiệu và phát hành tại địa chỉ:
- Server: http://remoteslide.jimdo.com
- Client: https://play.google.com/store/apps/details?id=edu.dongthang.screens
Mặc dù đã cung cấp những chức năng cơ bản nhất, nhƣng để hoàn thiện hơn về chức
năng và khả năng hoạt động ổn định thì ứng dụng cần phải đƣợc tiếp tục phát triển và cải
tiến ở những phiên bản tiếp theo.
TÀI LIỆU THAM KHẢO
[1] Lauren Darcey, Shane Conder, Sams Teach Yourself Android Application
Development in 24 Hours, U.S. Corporate and Government Sales, 2010.
[2] O‟ Reilly, Programing Android, O‟Reilly Media, Inc., 1005 Gravenstein Highway
North, Sebastopol, 2011.
[3] Reto Meier, Professional Android™ Application Development, Wiley Publishing,
Inc, 2009.
[4] Trƣơng Thị Ngọc Phƣợng, Lập trình Android, NXB Thời đại, 2012.
[5] Nguyễn Hữu Bình, Nguyễn Văn Hoài, Đặng Xuân Hƣờng, Nguyễn Tiến, Giáo trình
cấu trúc cơ sở dữ liệu và giải thuật Java, NXB Thống kê, 2001.
[6] Đoàn Văn Ban, Lập trình Java nâng cao, NXB Khoa học Kĩ thuật, 2006.
[7] Nguyễn Viết Linh, Đậu Quang Tuấn, Hướng dẫn lập trình mạng bằng Java, NXB
Thành Nghĩa, 2001.
170
nguon tai.lieu . vn