1. Trang chủ
  2. » Thể loại khác

SÁNG KIẾN KINH NGHIỆM HƯỚNG DẪN HỌC SINH LẬP TRÌNH ỨNG DỤNG HỌC TẬP CHO THIẾT BỊ DI ĐỘNG

24 56 1

Đ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

Thông tin cơ bản

Định dạng
Số trang 24
Dung lượng 900,53 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Ý tưởng của tôi nảy ra là:  Tích hợp nhiều môn học theo chuẩn kiến thức, kĩ năng vào một ứng dụng để người dùng có thể học tập được nhiều nội dung mà không phải tải nhiều ứng dụng.. Mục

Trang 1

SỞ GIÁO DỤC VÀ ĐÀO TẠO VĨNH PHÚC

TRƯỜNG THPT ĐỘI CẤN

BÁO CÁO KẾT QUẢ

NGHIÊN CỨU, ỨNG DỤNG SÁNG KIẾN KINH NGHIỆM

HƯỚNG DẪN HỌC SINH LẬP TRÌNH ỨNG DỤNG HỌC TẬP CHO THIẾT BỊ DI ĐỘNG

Tác giả: Lê Văn Hưng

Mã SKKN : 23.75.01

Trang 2

MỤC LỤC Trang

4.1 Giới thiệu về Android Studio và ngôn ngữ lập trình Java 4

8 Danh sách cá nhân/ tổ chức tham gia áp dụng sáng kiến 21

Trang 3

BÁO CÁO KẾT QUẢ

NGHIÊN CỨU, ỨNG DỤNG SÁNG KIẾN KINH NGHIỆM

1 Giới thiệu

Chúng ta đang sống trong xã hội công nghệ 4.0 phát triển như vũ bão, điện thoại thông minh hay smart phone không còn xa lạ gì đối với mọi người, nó đã trở thành phương tiện không thể thiếu trong xã hội hiện đại và việc sử dụng smart phone cũng là điều tất yếu cho nhu cầu của công việc và cho cuộc sống Các ứng dụng (App) theo đó mà phát triển không ngừng vì người dùng luôn mong muốn có được những ứng dụng hay, thú vị để phục vụ nhu cầu học tập, làm việc, giải trí… ở bất cứ đâu, bất cứ khi nào

Hiện nay, có rất nhiều ứng dụng học tập, nội dung phong phú giúp người dùng sử dụng như tài liệu để học tập, tham khảo nâng cao sự hiểu biết Thực tế nghiên cứu và tìm hiểu cho thấy các ứng dụng học tập vẫn còn nhiều hạn chế và bất cập:

 Ứng dụng chủ yếu cho một môn học riêng lẻ, khi muốn học nhiều môn phải tải nhiều ứng dụng chiếm nhiều bộ nhớ

 Ứng dụng chưa được kiểm duyệt về mặt nội dung, chưa tuân theo chuẩn phân phối kiến thức, kỹ năng theo lứa tuổi và cấp học

 Không có phần lý thuyết chỉ có phần bài tập hoặc lý thuyết không đầy đủ

 Chưa có ứng dụng về kĩ năng sống và tìm hiểu thế giới quan

 Không có các video bài giảng dạy học, hoặc nếu có thì rời rạc không được sắp xếp theo nội dung, chuyên đề

 Ứng dụng có dung lượng lớn, gây tốn kém bộ nhớ, làm chậm hoạt động của thiết bị di động

 Ứng dụng kèm theo nhiều quảng cáo gây ức chế cho người dùng

 Nhiều ứng dụng học tập đòi hỏi phải kết nối internet, phải trả phí để mở một

số chức năng hoặc tiếp tục bài học

Trang 4

Ngoài ra việc sử dụng tài liệu phôtô, in ấn cho các kì thi quá nhiều gây lãng phí, sau đó lại là các vấn đề về rác thải

Ý tưởng của tôi nảy ra là:

 Tích hợp nhiều môn học (theo chuẩn kiến thức, kĩ năng) vào một ứng dụng

để người dùng có thể học tập được nhiều nội dung mà không phải tải nhiều ứng dụng

 Tiếp cận các đơn vị kiến thức đến từ nhiều phía

 Lý thuyết giống với bài học trên lớp để các em có thể xem lại hoặc học tiếp

 Kết hợp giữa học lý thuyết với thực hành bằng phần bài tập đa dạng

 Bài tập được lập trình dưới dạng các game (trò chơi học tập) tạo hứng thú, ham mê làm các em không thấy chán nản khi học

 Nội dung ngôn ngữ lồng ghép hình ảnh, âm thanh, video giúp các em phát triển các kĩ năng nghe, nói, đọc, viết

 Sử dụng học tập, tra cứu, có thể học offline, thay thế một phần học tập trên tài liệu giấy

 Quan trọng nhất là các em có thể tự tập bài thông qua ứng dụng

Sau thời gian dài tìm hiểu và nghiên cứu thì tôi quyết định dùng: MIT App Inventor của Google, sau đó do yêu cầu cao hơn về nội dung nên tôi chọn Android Studio kết hợp ngôn ngữ lập trình Java + ngôn ngữ lập trình Kotlin của Google để xây dựng ứng dụng bởi nó có thể đáp ứng tất cả các ý tưởng mà tôi đặt ra

Trang 5

2 Tên sáng kiến kinh nghiệm và tác giả

HƯỚNG DẪN HỌC SINH LẬP TRÌNH ỨNG DỤNG HỌC TẬP

CHO THIẾT BỊ DI ĐỘNG

Tác giả :

- Họ và tên: Lê Văn Hưng

- Địa chỉ tác giả sáng kiến: Giáo Viên Vật Lí - THPT Đội Cấn

- Số điện thoại: 0976173346 E_mail: levanhunggvdoican@vinhphuc.edu.vn

3 Mục đích của sáng kiến

 Sáng kiến của tôi là hướng dẫn các em lập trình ứng dụng học tập chạy trên thiết bị di động với nhiều môn học, bài học với nội dung phong phú, tính năng đa dạng, giúp các em (lứa tuổi từ Mầm Non đến học sinh Tiểu Học) học tập, giải trí chỉ trong một ứng dụng

 Ứng dụng trên thiết bị di động có thể sử dụng online hoặc offline

 Giao diện ứng dụng đơn giản, dễ sử dụng, hình ảnh rõ nét, sinh động, dung lượng nhỏ

 Tiết kiệm tiền bạc cho việc sử dụng tài liệu giấy và thời gian cho hoạt động học tập

 Để các em học sinh THPT làm quen với khoa học lập trình, đó là tiền đề của nguồn nhân lực chất lượng cao đáp ứng sự phát triển khoa học và công nghệ

4 Mô tả sáng kiến kinh nghiệm

4.1 Giới thiệu về Android Studio và ngôn ngữ lập trình Java

Android Studio là IDE (Môi trường phát triển tích hợp) được phát triển bởi Google, lần đầu tiên được công bố tại hội nghị Google I/O vào năm 2013 và được phát hành cho công chúng vào năm 2014 sau nhiều phiên bản beta khác nhau

Android Studio được đóng gói với một bộ code Editor, Debugger, các công cụ Performance tool và một hệ thống Build/Deploy (trong đó có trình giả lập simulator để giả lập môi trường của thiết bị điện thoại hoặc tablet trên máy tính)

Trang 6

cho phép các lập trình viên có thể nhanh chóng phát triển các ứng dụng từ đơn giản tới phức tạp

Java là một ngôn ngữ lập trình rất phổ biến được phát triển bởi Sun Microsystems (hiện thuộc sở hữu của Oracle) vào năm 1995 Java kết hợp nhiều tính năng mạnh mẽ của nhiều ngôn ngữ

Java có thể xem là ngôn ngữ lập trình phổ biến nhất hiện nay, được sử dụng rộng rãi trên nhiều thiết bị và hệ điều hành Nó giúp cho các lập trình viên phát triển các ứng dụng mà có thể chạy trên nhiều thiết bị phần cứng và hệ điều hành khác nhau

Chứa mã nguồn, và cài đặt mức độ của ứng dụng, như modules-level xây dựng

tập tin, nguồn tài nguyên và tập tin Android Manifest

Assets: Sử dụng để lưu trữ các tệp tin như Font, Xml, mp3, và sử dụng

AssetManager để đọc các tệp tin này

Trang 7

Res: Chứa nguồn tài nguyên của ứng dụng như các tệp tin Drawable, các tệp

tin layout, và giá trị String, hình ảnh, âm thanh…

anim: Chứa các tệp tin XML biên dịch các đối tượng animation

color: Chứa tệp tin XML mô tả color

drawable: Chứa các tệp tin hình ảnh (PNG, JPEG, GIF), và các tệp tin XML

là các đối tượng Drawable chứa các trạng thái khác nhau

mipmap: Chứa icon launcher của ứng dụng

layout: Chứa các tệp tin về giao diện màn hình

menu: Chứa tệp tin XML định nghĩa menu của ứng dụng

raw: Chứa các tệp tin tương tự như trong thư mục assets

values: Chứa các tệp tin XML định nghĩa nguồn tài nguyên các kiểu XML

Tài nguyên trong thư mục values không tham chiếu bởi các tệp mặc định

4.3.2 Thiết kế giao diện

Web hỗ trợ thiết kế giao diện ứng dụng trong Android Studio:

https://material.io/design/

Các file Xml trong folder layout là file giao diện của Android

Android Studio hỗ trợ hai chế độ làm việc cho việc tạo giao diện

là design và text Chế độ Design là kéo thả các view còn chế độ Text thì

bạn sẽ viết code XML cho giao diện

Trang 8

4.4 Lập trình ứng dụng

Lập trình ứng dụng học toàn phần cho trẻ bao gồm các môn học : Toán, Tiếng Việt, Tiếng Anh, Đạo đức, Tự nhiên xã hội, Âm nhạc, Kể chuyện Trong mỗi môn học sẽ gồm 3 phần: Lý thuyết + phần bài giảng dạy học, luyện tập và nhận biết về thế giới xung quanh

4.4.1 Xây dựng App hiển thị

Fragment đóng vai trò quản lý một giao diện của màn hình giống như Activity

Thay vì sử dụng nhiều mà hình (Activity) thì nên dùng Fragment để hiển thị bởi

nó hỗ trợ rất nhiều trong việc tối ưu cho các loại màn hình, đồng thời dễ dàng được quản lý bởi activity cha, có thể sử dụng lại, kết hợp và bố trí theo ý muốn.Chạy từng activity riêng cho mỗi màn hình ứng dụng sẽ có hiệu quả rất tệ khi hệ thống phải cố lưu trữ chúng trong bộ nhớ lâu hết mức có thể

Vì vậy, ứng dụng chỉ gồm 8 màn hình (Activity) là : Màn hình khởi động, màn hình chính, màn hình lựa chọn, màn hình lý thuyết, luyện tập, môn âm nhạc, hiển thị danh sách video và màn hình phát video bài học

Màn hình lựa chọn lý thuyết

Môn Toán : Gồm 5 Fragment tương ứng với 5 dạng lý thuyết Mỗi Fragment gồm một ScrollView, một Button và các ImageView, TextView để hiển thị văn bản và hình ảnh Sử dụng một ScrollView để có thể cuộn lên, cuộn xuống màn hình, ảnh sẽ được lưu trong tệp Drawable và dùng ImageView để hiển thị, TextView hiển thị văn bản, các văn bản có thể để trong tệp String và một nút (Button) luyện tập ở cuối để chuyển tới màn hình luyện tập

Môn Tiếng Việt : Bao gồm 3 Fragment ứng với 3 phần lựa chọn đầu Hai phần Bảng chữ cái và Các âm vần sử dụng GridView được custom lại để hiển thị văn bản (TextView) và ảnh (ImageView) Bắt sự kiện khi nhấn vào từ (hoặc chữ) nào thì sẽ phát ra âm thanh đánh vần hoặc đọc từ đó và nhấn giữ để nghe đọc ví

dụ phát âm Phần Bài đọc và cách đánh vần dùng thư viện PdfViewer để hiển thị tệp Pdf chứa các bài tập đọc đánh vần

Trang 9

Màn hình lựa chọn lý thuyết: hiển thị dữ liệu với môn học tương ứng bằng Listview và được

custom lại để hiển thị TextView và ImageView

Fragment để hiển thị phần lý thuyết tương ứng của từng môn

Môn Tiếng Anh : Gồm 8 Fragment ứng với Bảng chữ cái và 7 phần chủ đề từ vựng tiếng anh Phần bảng chữ cái tiếng anh gồm hai GridView để hiển thị bảng chữ cái và chữ số, nhấn vào chữ cái hoặc chữ số để nghe cách phát âm Còn 7 phần chủ đề từ vựng, mỗi phần bao gồm một GrideView và được custom lại để hiển thị một ảnh(ImageView) và hai văn bản(TextView)

Trang 10

Mỗi Fragment gồm một ScrollView, một Button và các ImageView, TextView

để hiển thị văn bản và hình ảnh

Môn âm nhạc: thành phần TasbHost và hiển thị danh sách có thể mở rộng – thu nhỏ bằng ExpandableListView Màn hình có hai tab con là tab tiếng anh

và tab tiếng việt

Chạm vào bài hát, nhạc sẽ phát và sổ ra lời bài hát, chạm lần nữa lời thu lại còn âm thanh dừng

Trang 11

Trong môn Tiếng Việt còn có phần tập viết chữ cái và phần luyện nói tiếng

việt Trong phần tập viết, người dùng có thể viết chữ hoặc tập vẽ với nhiều màu

sắc lựa chọn Phần luyện nói, người dùng bấm vào chữ trên màn hình để nghe

cách đọc, nhấn mic và phát âm từ đó để ứng dụng nhận dạng giọng nói và kiểm

tra, nếu sai thì người dùng bấm mic và phát âm lại từ đó hoặc có thể nhấn nút

mũi tên để chuyển qua từ khác, nếu gặp lỗi thì ứng dụng sẽ thông báo ra màn

Trang 12

Bao gồm 8 Fragment, hiển thị đề bài bằng TextView phía trên màn hình, tiếp đến là câu hỏi dùng ImageView hoặc TextView để hiển thị văn bản hoặc hình ảnh, 4 nút Button hoặc ImageView ứng với 4 đáp án để lựa chọn ở dưới câu hỏi

và một nút Button để kiểm tra đáp án và chuyển câu hỏi

Nếu chọn đúng điểm sẽ được cộng và sau khi làm xong hết số câu, một thông báo dạng Dialog sẽ xuất hiện hiển thị số điểm và có hai nút Button quay về hoặc tiếp tục làm

Đặc biệt trong môn toán có mục Trò chơi, bên dưới là các nút Button ứng với mỗi số tự nhiên từ 0 đến 9 và câu hỏi sẽ chạy từ trên xuống, không được cho câu hỏi chạm vào vạch ngang, sau mỗi trả lời đúng câu hỏi mới sẽ chạy lại từ trên xuống, điểm sẽ được cộng và hiển thị góc trên bên trái màn hình

Màn hình hiển thị danh sách video:

Môn toán: Gồm video bài giảng các bài học theo chương trình sách giáo khoa lớp 1

Môn tiếng việt : Video hướng dẫn viết chữ cái tiếng việt Học tiếng việt qua video và thơ ca dân gian, đồng dao Việt Nam

Môn Tiếng Anh : Video các bài học giao tiếp, đọc đối thoại, phát âm từ vựng theo từng Unit có kèm hình ảnh

Môn tự nhiên xã hội : Có hai phần là ‘khám phá khoa học’ và ‘thế giới trái cây’, bao gồm các video về khoa học, về thế giới xung quanh

Môn đạo đức : Phần ‘kỹ năng sống’ dạy trẻ cách cư xử, đối đáp với mọi người

Kể chuyện : Gồm những câu chuyện cổ tích và chuyện dân gian Việt Nam

Trang 13

RecycleView để hiển thị danh sách các video bài học bao gồm tên và hình ảnh thu nhỏ của video

Màn hình phát video:

Trang 14

YoutubePlayerView để phát video

4.4.2 Lập trình thuật toán cho ứng dụng

Tham khảo Fragment:

Khi tạo Activity mới sẽ được khai báo ở trong file AndroidManifest.Xml Android:name : tên file Java của Activity Phần trong hàm intent-filter để đặt

màn hình này khởi động đầu tiên khi mở App

Trang 15

findViewById() : khởi tạo View bằng Id được đặt bên phần code Xml thiết kế

giao diện trước khi sử dụng

toolbar.setTitle(); : gán tiêu đề cho thanh toolbar

setSupportActionBar(): đặt thanh toolbar bên trên màn hình ứng dụng

getSharePreference(): lấy file dữ liệu được lưu trên máy thông qua tên.SharePreferance.edit : chỉnh sửa dữ liệu trong file được lưu trong máy

Có thể thêm rất nhiều kiểu dữ liệu khác nhau chỉ cần gọi biến editor được gán bằng sharePreferences.edit

Hàm editor.putBoolen để lưu dữ liệu dạng Boolean, editor.putInt để lưu số nguyên, editor.putString để lưu dữ liệu dạng kí tự, …

Mỗi khi gọi dòng code lưu giá trị xong ta phải gọi hàm editor.apply(); để xác

nhận lưu, nếu thiếu dòng này thì dữ liệu sẽ không được lưu trữ

Transaction.replace(id, Fragment) : thay thế Fragment hiện tại được gán ở

thành phần FrameLayout bằng một Fragment mới

Transaction.addToBackStack() : lưu trữ Fragment hiện tại trong BackStack

để có thể gọi lại

Trang 16

Sau khi gán Fragment xong ta phải gọi lệnh commit(); để xác nhận

Đoạn code trong hàm ExitDialog() này dùng để hiển thị thông báo dạng Dialog hỏi người dùng có muốn thoát hay không?

.setTitle() : gán tiêu đề cho dialog thông báo

.setMessage() : đặt lời nhắn hoặc lời nhắc

.setPositiveButton và setNegativeButton() : là hai nút cho người dùng lựa chọn Hàm finish(); dùng để đóng ứng dụng

Các lệnh trong hàm Check(); dùng để lấy dữ liệu trên FireBase

getSharedPreferences() : lấy dữ liệu lưu trên máy

FirebaseDatabase.getInstance : đọc dữ liệu trên FireBase

Database.getReference : lấy dữ liệu trên đám mây

myRef.orderBykey().limitToLast() : sắp xếp và lấy liệu của phần tử cuối và lưu và biến lastChild

Trang 17

lastChild.addChildEventListener() : nhận biết sự thay đổi thêm hoặc xóa dữ liệu của phần tử cuối và trả về dữ liệu mới

Tiếp theo là hàm getJsonYoutube(); : lấy dữ liệu dạng Json trên Internet với

đường dẫn được truyền vào

RequestQueue: Là hàm đợi giữ các Request

JSONObjectRequest: HTTP request có kết quả trả về là JSONObject

VideoYtbAdapter() : là class Adapter của RecyclerView

recyclerView.setAdapter(); : gán Adapter cho RecyclerView

Lệnh Toast.makeText(); : dùng để kiểu hiển thị thông báo lên trên màn hình

trong một khoảng thời thời gian rất ngắn nào đó

requestQueue.add(); : add các request đó vào RequestQueue

ytbPlayer.initialize(); : Lệnh khởi tạo Youtube Player

Nếu khởi tạo thành công thì hàm onInitializationSuccess được thực hiện, nếu không thành công thì sẽ thực hiện hàm onInitializationFailure()

Trang 18

YoutubePlayer.loadVideo(); : dùng để load video theo id

YoutubePlayer.setFullscreen(true); : đặt video hiển thị toàn màn hình

Dưới đây là phần code thu nhỏ của chức năng nhận dạng giọng nói (AI) và ý nghĩa của từng đoạn code được chú thích bằng một dòng ở trên nó

Mã code của chức năng nhận diện giọng nói (AI)

Trang 19

5 Kết quả

Android Studio hỗ trợ đóng gói thành file có định dạng apk để cài đặt lên các

SmartPhone, Tablet chạy hệ điều hành Android

Ứng dụng tài liêu học tập được cài đặt trên Samsung Galaxy Tab 4

Ngày đăng: 06/01/2021, 08:28

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w