Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 28 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
28
Dung lượng
5,41 MB
Nội dung
Báo Cáo TL Androd – Nhóm 10 MỞ ĐẦU Hiện nay, tiếng Nhật coi ngơn ngữ khó nhì giới Hàng triệu người từ văn hóa khác nỗ lực học tiếng Nhật ngày Ở Việt Nam, tiếng Nhật chiếm vị trí quan trọng kể từ đất nước bắt đầu thực sách mở cửa hội nhập khu vực giới Ở nhiều lĩnh vực khác xã hội kinh tế, trị, khoa học, du lịch, vv cần người có trình độ tiếng Nhật giỏi Người ta học sử dụng tiếng Nhật với nhiều mục đích khác để đáp ứng nhu cầu giao tiếp ngày lớn xã hội, để kiếm công việc tốt, để thăng chức, hay để giành hội du học làm việc nước Cùng với đó, phát triển cơng nghệ di động bùng nổ vài năm qua Các thiết bị cầm tay trở nên mạnh mẽ phổ biến Trong vài năm trở lại đây, hệ điều hành Android đời trở thành tảng điện thoại thông minh phổ biến giới, với kế thừa ưu việt hệ điều hành đời trước kết hợp nhiều công nghệ tiên tiến Những ưu điểm dễ thấy Android khả tùy biến nhanh chóng, dễ làm quen, ứng dụng hỗ trợ phong phú, tương thích với đa cấu hình phần cứng nhà sản xuất Dù hay chưa sử dụng smartphone Android bạn khơng cần q lo lắng việc thay đổi Hầu tất smartphone sử dụng hệ điều hành Android dễ sử dụng, Báo Cáo TL Androd – Nhóm 10 đơn giản tùy biến theo sở thích cá nhân, có nhiều ứng dụng để thỏa mãn nhu cầu người dùng Đồng thời Android có mã nguồn mở cho phép nhà phát triển thiết bị, mạng di động lập trình viên điều chỉnh phân phối Android cách tự Bởi trước nhu cầu lợi đó, nhóm em định nghiên cứu xây dựng ứng dụng: Xây dựng ứng dụng hỗ trợ học tiếng Nhật thiết bị di động chạy tảng Android Báo Cáo TL Androd – Nhóm 10 CHƯƠNG 1: TỔNG QUAN 1.Sơ lược tiếng nhật にほんご ) Tiếng Nhật Bản, hay tiếng Nhật (日本語 ( Nihongo?, Nhật Bản ngữ) ngôn ngữ 130 triệu người sử dụng Nhật Bản cộng đồng dân di cư Nhật Bản khắp giới Nó ngơn ngữ chắp dính(khác biệt với tiếng việt vốn thuộc vào loại ngơn ngữ đơn lập phân tích cao) bật với hệ thống nghi thức nghiêm ngặt rành mạch, đặc biệt hệ thống kính ngữ phức tạp thể chất thứ bậc xã hội Nhật Bản, với dạng biến đổi động từ kết hợp số từ vựng để mối quan hệ người nói, người nghe người nói đến hội thoại Kho ngữ âm tiếng Nhật nhỏ, với hệ thống ngữ điệu rõ rệt theo từ Từ vựng Nhật chịu ảnh hưởng lớn từ mượn từ ngôn ngữ khác Một số lượng khổng lồ từ vựng mượn từ tiếng Hán, tạo theo kiểu tiếng Hán, qua giai đoạn 1.500 năm Từ cuối kỷ 19, tiếng Nhật mượn lượng từ vựng đáng kể từ hệ ngôn ngữ Ấn-Âu, chủ yếu tiếng Anh Do mối quan hệ thương mại đặc biệt Nhật Bản Hà Lan vào kỷ thứ 17, tiếng Hà Lan có ảnh hưởng, với từ bīru (từ bier; "bia") kōhī (từ koffie; "cà phê") Sự thông dụng tiếng nhật Số người sử dụng Ngày có khoảng trăm triệu người nói tiếng Nhật khắp giới số ngày tăng lên Tiếng Nhật ngôn ngữ sử dụng rộng rãi lại không thay ngơn ngữ khác, thay vào hỗ trợ ngôn ngữ với yếu tố sau: Báo Cáo TL Androd – Nhóm 10 Là 10 ngôn ngữ phổ biến giới Việt Nam tiếng nhật ngôn ngữ phổ biến thứ sau tiếng anh 1.7 triệu người theo học Số lượng người Việt Nam sang nhật ngày tăng Lý chọn đề tài: Ứng dụng hỗ trợ đầy đủ tính chương trình học tiếng Nhật qua hội thoại Minano nihongo Phần mềm nghe hội thoại,học câu cách riêng biệt Xem câu theo nghĩa Kanji,hiragana,romaji,dịch tiếng việt =>Giúp người học dẽ dàng học tiếng nhật qua hội thoại Giới thiệu hệ điều hành Android Android hệ điều hành chạy điện thoại di động phát triển từ nhân Linux Được phát triển vào năm 2005 với dự án tên “Android” Trong phần chiến lược để lấn sâu vào lĩnh vực di động Google mua tồn q trình phát triển đội phát triển Android Google phát hành Android dạng mã nguồn mở miễn phí, muốn sử dụng tải mã nguồn Android đầy đủ Hơn nhà cung cấp (thường nhà phát triển phần cứng) phát triển thêm phần mở rộng tùy biến cho Android để tạo sản phẩm riêng biệt họ so với sản phẩm công ty khác Điều làm cho mơ hình phát triển Android hấp dẫn khơi dậy quan tâm nhiều nhà cung cấp Điều phù hợp với công ty bị ảnh hưởng tượng Iphone Apple, sản phẩm thành cơng cơng cách mạng hóa ngành cơng nghiệp Smartphone Các công ty SamSung, Motorola, SonyEricsson số nhà sản xuất tìm đường để làm sống dậy sản phẩm họ Những nhà sản xuất coi Android giải pháp – họ tiếp tục thiết kế phần cứng riêng sử dụng Android hệ điều hành Lược sử Android Android phát hành phiên 11/11/2007, mơi trường hệ điều hành hồn chỉnh dựa hệ điều hành nhân Linux V2.6 Lúc đầu, đích triển khai Android lĩnh vực điện thoại di động, gồm loại điện thoại thông minh loại thiết bị điện thoại kiểu gập chi phí thấp Tuy nhiên, phạm vi đầy đủ dịch Báo Cáo TL Androd – Nhóm 10 vụ điện toán Android hỗ trợ chức phong phú có tiềm mở rộng thị trường điện thoại di động Android cịn hữu ích tảng ứng dụng khác Nền Android sản phẩm Open Handset Alliance (Liên minh thiết bị cầm tay mở), tập đoàn tổ chức hợp tác với để xây dựng nên loại điện thoại di động tốt Tập đoàn Google đứng đầu gồm nhà vận hành (điện thoại) di động, nhà sản xuất thiết bị cầm tay, sản xuất linh kiện, nhà cung cấp giải pháp phần mềm công ty tiếp thị Từ quan điểm phát triển phần mềm, Android trở thành trung tâm giới mã nguồn mở có tiềm phát triển Thiết bị cầm tay có khả Android thị trường thiết bị G1 HTC sản xuất bán T-Mobile Nó trở nên sẵn có sau gần năm đồn đại, mà công cụ phát triển phần mềm sẵn có số phát hành Bộ công cụ phát triển phần mềm (SDK) cải tiến dần bước Khi ngày phát hành G1 gần đến, nhóm Android phát hành SDK V1.0 ứng dụng bắt đầu vượt lên nhằm hướng tới tảng Để kích thích đổi phát triển ứng dụng Android, Google tài trợ hai vòng thi “Các thách thức nhà phát triển Android”, hàng triệu đô la đổ vào ứng dụng dự thi hàng đầu Vài tháng sau G1, Android Market phát hành, cho phép người sử dụng duyệt tải ứng dụng trực tiếp vào điện thoại họ Trong vòng 18 tháng, di động thức có mặt thị trường đối thủ cạnh tranh nặng ký di động phổ biến trước Symbian hay Window Mobile Android cung cấp đầy đủ công cụ thiết kế cho nhà phát triển tận dụng tối đa lợi thiết bị cầm tay để xây dựng nên ứng dụng thực thuyết phục Họ tạo ứng dụng gọi thực chức lõi điện thoại thực gọi, gửi tin nhắn SMS, dùng Báo Cáo TL Androd – Nhóm 10 camera… hay chia sẻ thông tin cá nhân lên trang web chẳn hạn thơng tin liên lạc, vị trí địa lí, lịch biểu… Các nhà phát triển cịn làm việc thiết bị Android hệ thống Android giao tiếp thơng qua Intents – đơn giản chuỗi mơ tả hành động ví dụ: “android.provider.Telephony.SMS_RECEIVED” Android cịn cung cấp sẵn dịch vụ định vị (và mạnh Google) với tập ứng dụng “Map” với tính ấn tượng dị đường, tính khoảng cách địa điểm, tìm bạn… Ngồi cịn có số tính bật khác Animation đồng thời hỗ trợ media-playback Nền tảng Android Với khả rộng rãi Android, dễ dàng nhầm lẫn với hệ điều hành máy tính để bàn Android môi trường phân tầng, xây dựng hệ điều hành nhân Linux, bao hàm nhiều chức phong phú Hệ thống giao diện người sử dụng gồm có: Cửa sổ Khung hình Các tiểu trình để hiển thị phần tử phổ biến hộp biên soạn, danh sách, danh sách thả xuống Android có nhiều tùy chọn kết nối, gồm WiFi, Bluetooth liệu không dây qua kết nối di động (như GPRS, EDGE 3G, 4G) Một kỹ thuật phổ biến ứng dụng Android liên kết tới Google Maps để hiển thị địa trực tiếp ứng dụng Việc hỗ trợ cho dịch vụ dựa địa điểm (chẳng hạn GPS) dụng cụ đo gia tốc có sẵn gói phần mềm Android, khơng phải tất thiết bị Android trang bị với phần cứng cần thiết Ngồi cịn có hỗ trợ máy ảnh(camera) Báo Cáo TL Androd – Nhóm 10 Về mặt lịch sử, có hai lĩnh vực mà ứng dụng di động gắng sức theo kịp đối tác máy tính để bàn đồ họa/đa phương tiện phương thức lưu trữ liệu Android giải thách thức đồ họa hỗ trợ dựng sẵn cho đồ họa 2D 3D, gồm thư viện OpenGL Gánh nặng lưu trữ liệu giảm nhẹ Android có gồm sở liệu SQLite mã nguồn mở phổ biến Hình 1.4 cho thấy khung hình đơn giản hóa tầng phần mềm Android Hình 1.4 Cấu trúc Android 7.Kiến trúc ứng dụng Android 7.1 Máy ảo Dalvik Các ứng dụng Android viết ngôn ngữ lập trình Java chúng chạy máy ảo (VM) Điều quan trọng phải lưu ý VM máy ảo Java mà máy ảo Dalvik (Dalvik Virtual Machine), công nghệ mã nguồn mở Chiếc máy ảo dựa việc đăng kí (register-based) thiết kế Dan Bornstein vài kĩ sư Google Thuật ngữ “register-based” nói lên khác biệt máy ảo Android với máy ảo JAVA thông thường Tương tự máy ảo JAVA, máy ảo thông dịch, thông dịch file có định dạng dex (Dalvik Execute) – định dạng giúp tối ưu nhớ khả lưu trữ máy ảo – Các máy ảo JAVA ngày chủ yếu dựa ngăn xếp (Stack-based), với tính chất cho phép rút ngắn thời gian thực thi chương trình.Mỗi ứng dụng Báo Cáo TL Androd – Nhóm 10 Android chạy cá thể máy ảo Dalvik, đến lượt, cá thể máy ảo nằm tiến trình nhân Linux quản lý, trình bày Hình 1.5 Máy ảo Dalvik Vịng đời ứng dụng Android: Khơng giống ứng dụng tảng khác, ứng dụng Android khơng có điều khiển đến vịng đời chúng Thay vào đó, thành phần ứng dụng phải lắng nghe việc thay đổi trạng thái bên ứng dụng tác động trở lại cách hợp lý Mỗi ứng dụng Android tiến trình nó, chạy thể riêng biệt Dalvik.Việc quản lý nhớ tiến trình ứng dụng Android điều khiển cách riêng lúc runtime Android quản lý tài nguyên cách chặt chẽ, làm việc để đảm bảo cho thiết bị trì đáp ứng Điều có nghĩa tiến trình bị hủy mà khơng có cảnh báo cần giải phóng tài nguyên cho ứng dụng có độ ưu tiên cao Báo Cáo TL Androd – Nhóm 10 CHƯƠNG 2: CÁC THÀNH PHẦN CƠ BẢN CỦA MỘT ỨNG DỤNG ANDROID Activity 1.1 Tạo Activity Để tạo Activity mới, cần thừa kế từ lớp Activity, sử dụng View để cung cấp tương tác với người dùng, khai báo thành phần giao diện thực thi chức ứng dụng package com.paad.myapplication; import android.app.Activity; import android.os.Bundle; public class MyActivity extends Activity { /** Called when the activity is first created */ @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); } } Một lớp Activity đưa hình rỗng chứa cửa sổ hiển thị Vì việc cần thực khai báo bố cục cho cách sử dụng View Layout Activity UI tạo thành View View điều khiển giao diện người dùng, hiển thị liệu cung cấp tương tác đến người dùng Để gắn giao diện cho Activity, sử dụng phương thức setContentView lớp Activity kế thừa @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); MyView myView = new MyView(this); setContentView(myView); } Báo Cáo TL Androd – Nhóm 10 Có cách để thiết lập giao diện cho Activity: code thông qua file định nghĩa layout Ở cách tạo giao diện code, sau cách tạo giao diện người thông qua layout, truyền tham số vào cho phương thức setContentView resource ID @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); setContentView(R.layout.main); } Để dùng Activity cần khai báo bên file manifest Thêm vào thẻ activity bên nút application Thẻ activity bao gồm thuộc tính cho siêu liệu (label, icon,…) Một Activity mà không khai báo thẻ activity tương ứng không khởi chạy Ví dụ sau mơ tả cách làm để khai báo Activity tạo phần trên: 1.2 Vòng đời Activity Báo Cáo TL Androd – Nhóm 10 LayoutManager (thường gọi layout) mở rộng lớp ViewGroup, thiết kế để điều chỉnh vị trí control hình ứng dụng Layout lồng để tạo nên giao diện phức tạp Android có số layout đơn giản giúp xây dựng UI Để tạo nên bố cục hợp lý nên kết hợp layout với Các lớp layout bản: • FrameLayout: layout đơn giản Layout Manager, FrameLayout đặt View vào góc trái hình Việc thêm nhiều control chồng lên trước • LinearLayout: thêm View theo đường thẳng, theo chiều dọc ngang Một layout theo chiều dọc có control dịng, layout theo chiều ngang có dịng cho nhiều View Nó cho phép định giá trị “weight” cho View để điều chỉnh kích thước bên khơng gian cho phép • RelativeLayout: dùng để định vị trí cho View cân xứng với control khác với đường biên hình • TableLayout: giúp bố trí View theo lưới có dịng cột Các cột thiết lập để co lại giản • AbsoluteLayout: layout này, vị trí View tọa độ tuyệt đối, đảm bảo bố cục xác cho thành phần Do đó, khơng thể có linh hoạt hình có kích thước khác Sử dụng Layout: Để sử dụng layout người ta thường dùng phương pháp sử dụng resource bên từ file XML Một layout XML phải chứa nút gốc.Nút gốc chứa layout View lồng để xây dựng nên giao diện phức tạp 5.Tạo View: 5.1 Chỉnh sửa View có sẵn Chỉnh sửa kế thừa control sẳn có cung cấp chức cần thiết, cách ghi đè handler onDraw Để định nghĩa lại giao diện ứng xử control tạo, cần phải ghi đè thừa kế điều khiển kiện (event handler) kết hợp với hành vi muốn thay đổi 5.2 Tạo điều khiển ghép (compound control) Báo Cáo TL Androd – Nhóm 10 Compound control widget tái sử dụng, chứa nhiều control bố trí có liên hệ với nhau, tạo từ nhiều control bản.Ví dụ tạo nên dropdown combo box cách kết hợp TextView Button mà nhấn hiển thị ListView Khi tạo compound control cần định nghĩa layout, hình thức cách thức tác động lẫn View mà chứa Compound control tạo thành từ việc dẫn xuất từ lớp ViewGroup Để tạo compound control mới, chọn lớp layout phù hợp để xác định vị trí cho control, dẫn xuất từ nó: public class MyCompoundView extends LinearLayout { public MyCompoundView(Context context) { super(context); } public MyCompoundView(Context context, AttributeSet attrs) { super(context, attrs); } } Cách ưa chuộng để thiết kế giao diện cho compound control sử dụng layout resource Để dùng layout cho widget cần phải định nghĩa lại contructor sử dụng phương thức inflate từ dịch vụ LayoutInflate Phương thức inflate nhận tham số layout resource trả View Một xây dựng giao diện cho control, điều định nghĩa điều khiển kiện cho control 5.3 Tạo Control tùy chỉnh Người phát triển tạo control theo ý để tạo giao diện mang tính phù hợp với yêu cầu người dùng Các control cần phải thừa kế từ lớp View SurfaceView Lớp View cung cấp đối tượng Canvas số phương thức vẽ lớp Paint, để tạo giao diện trực quan.Người thiết kế định nghĩa lại kiện người dùng cảm ứng hình, nhấn phím để tạo nên tương Báo Cáo TL Androd – Nhóm 10 tác.Trong trường hợp mà khơng địi hỏi việc vẽ lại đồ họa 3D lớp sở View có giải pháp hiệu Trong đó, lớp SurfaceView cung cấp đối tượng canvas hỗ trợ việc vẽ từ luồng xử lý sử dụng openGL cho đồ họa 3D Đây lựa chọn tuyệt với cho điều khiển đòi hỏi đồ họa cao, cần phải cập nhật liên tục hiển thị đồ họa phức tạp, game 3D 5.4 Tạo giao diện Activity với View Một Activity chưa thiết kế khởi động với hình rỗng Để thiết lập giao diện cho hình rỗng cần gọi phường thức setContentView everride lại phương thức onCreate Phương thức setContentView nhận tham số resource ID thể View Do đó, định nghĩa giao diện ứng dụng code tham chiếu đến resource (layout) Nếu dùng layout resource tách riêng việc thiết kế giao diện phần code xử lý, cung cấp khả thay đổi linh hoạt giao diện mà không thay đổi code bên Menu 6.1 Menu Android Menu đưa giải pháp để tăng tính tiện dụng ứng dụng mà khơng chiếm dụng khơng gian hình Mỗi Activity có riêng cho menu, hiển thị người dùng nhấn nút Menu Android hỗ trợ menu ngữ cảnh, gán vào View bên Activity.Một menu ngữ cảnh hiển thị người dùng nhấn nút D-pad, trackball, nhấn vào hình cảm ứng khoảng giây.menu ngữ cảnh hỗ trợ submenu, checkbox, radio button, shortcut key, icon Các loại menu android: • Icon Menu: kết với menu, xuất phần hình thiết bị nút Menu nhấn Nó hiển thị icon text cho menu item submenu Icon menu hỗ trợ tạo tối đa menu item, menu item hiển thị checkbox, radio button, hay shortcut key Báo Cáo TL Androd – Nhóm 10 Hình 2.6 Icon menu • Expanded Menu: hiển thị người dùng chọn More menu icon Expand Menu hiển thị danh sách cuộn menu item, menu item khơng thể chứa icon mà chứa text, shortcut key checkbox/ radio button Hình 2.7 Expanded menu • Submenu: submenu hiển thị cửa sổ, tên submenu hiển thị header Menu item hiển thị với đầy đủ text, checkbox, shortcut key hiển thị icon cho item Android không hỗ trợ submenu lồng nhau, khơng thể thêm submenu vào submenu Báo Cáo TL Androd – Nhóm 10 Hình 2.8 Submenu 6.2 Các kiểu Menu Item Android hỗ trợ hầu hết kiểu menu item truyền thống, bao gồm icon, shortcut, checkbox, radio button: • Checkbox Radio button group: Để thiết lập menu item checkbox sử dụng phương thức setCheckable, để thiết lập trạng thái checkbox dùngsetChecked Một radio button group nhóm radio button có số chúng chọn thời điểm Để tạo radio button group, gán ID nhóm cho item, sau gọi phương thức Menu.setGroupCheckable, truyền vào ID nhóm, thiết lập giá trị cho tham số khác True • Shorcut Key: để định keypad shortcut cho Menu Item sử dụng phương thức setShortcut Phương thức yêu cầu truyền vào tham số, phím số bàn phím đầy đủ menuItem.setShortcut(‘0’, ‘b’); • Condensed Title: dùng text để hiển thị menu menuItem.setTitleCondensed(“Short Title”); • Icon: biểu tượng hiển thị Icon Menu menuItem.setIcon(R.drawable.menu_item_icon) Báo Cáo TL Androd – Nhóm 10 • Menu Item Click Listener: menu chọn có xử lý điều khiển Đó phương thức onOptionsItemSelected menuItem.setOnMenuItemClickListener(new OnMenuItemClickListener() { public boolean onMenuItemClick(MenuItem _menuItem) { [ thực xử lý ] return true; } }); • Intent: Khi menu item chọn, Android thực thi startActivity với đối tượng Intent menuItem.setIntent(new Intent(this, MyOtherActivity.class)); 6.3 Tạo Menu Để tạo menu, Activity override phương thức onCreateOptionsMenu, phương thức thực thiện lần menu hiển thị onCreateOptionsMenunhận tham số kiểu Menu Dùng phương thức add đối tượng Menu để thêm vào item Mỗi menu item cần phải định thuộc tính sau: • Nhóm mà item thêm vào • ID, item có ID nhất, chúng xử lý chung phương thức onOptionsItemSelected nên việc xác định item chọn phụ thuộc vào ID định cho • Cách xếp thứ tự mà item hiển thị • Text thể item, chuỗi ký tự string resource Báo Cáo TL Androd – Nhóm 10 CHƯƠNG 3: XÂY DỰNG ỨNG DỤNG “HỌC TIẾNG NHẬT” Mơ hình phân cấp chức Học hội thoại tiếng nhật Hội thoại Hội thoại nâng cao Bài học Bài học nâng cao cầu sản phẩm - Học offline - Hỗ trợ nền tảng Android từ phiên bản 2.2 - Thông tin ngôn ngữ chuẩn xác - Bảo đảm nội dung không bị trùng lập Hệ điều hành: - Ứng dụng dùng di động cài hệ điều hành Android Mô tả ứng dụng "Học tiếng Nhật" gồm 800 cụm từ từ vựng thường dùng tiếng Nhật dành cho người du lịch người học Sử dụng ứng dụng này, bạn học từ vẹt biết nói tiếng Nhật chúng tơi Chú vẹt biết nói làm việc bạn để thực hành kỹ nghe nói bạn, đâu bạn muốn Học tiếng Nhật chưa dễ dàng đến Báo Cáo TL Androd – Nhóm 10 TÍNH NĂNG • Các • • cụm từ Cách Ghi • Lưu • Tìm từ phát âm trữ & & & kiếm quản âm so lý cụm vựng sánh từ & từ từ dụng phát cụm thơng âm ưa vựng xác thích từ bạn bạn khóa • Khơng cần kết nối Internet Giao diện ứng dụng Ứng dụng được sở hữu giao diện thông minh tùy biến mạnh mẽ nền tảng Android tryền thống với các Icon được thiết kế riêng cho ứng dụng , tạo nên sự nổi bật riêng cho từng khu vực giúp dùng dễ dàng sử dụng Ảnh chụp màn hình iCon ứng dụng “ Học Tiếng Nhật “ Báo Cáo TL Androd – Nhóm 10 Màn hình chào Báo Cáo TL Androd – Nhóm 10 Màn hình chính Báo Cáo TL Androd – Nhóm 10 Báo Cáo TL Androd – Nhóm 10 Giao Diện Bài Học