1. Trang chủ
  2. » Cao đẳng - Đại học

Đề cương ôn tập Android - Chuẩn

12 5,6K 16

Đ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 12
Dung lượng 44,32 KB

Nội dung

Đề cương ôn tập Android , Đề cương ôn tập Android Chuẩn

Đề cương ôn tập Android Câu hỏi: Trả lời: Câu 1: Ưu và nhược điểm của android: 1. Ưu điểm: An ninh: Các lỗi nhanh chóng được phát hiện và sửa đổi Chất lượng: Các ứng dụng không ngừng được cải tiến, phù hợp với nhu cầu sử dụng của nhiều người. Khả năng tùy biến: Những đoạn mã trong chương trình được công khai, nên người dùng có thể thêm bớt các chức năng túy ý muốn. Chi phí: Sử dụng sản phẩm mã nguồn mở hoàn toàn không tốn phí, tiết kiệm kinh phí. 2. Nhược điểm: Khả năng bảo mật: Vì Android là hệ điều hành mã nguồn mở nên tất cả các thông tin về hệ thống mọi người đều nắm được. Đây là ưu điểm và cũng là nhược điểm, bởi vì các hacker có thể tìm kiếm những lỗ hổng hệ thống và tạo ra những mã độc. Đột phá ý tưởng: Dù Android đang trên đà phát triển nhanh nhưng trên một góc độ nào độ nào đó Android vẫn là người chạy theo những ý tưởng của gã khổng lồ iPhone. Những người phát triển ứng dụng cho Android hầu như chỉ đều lấy ý tưởng từ iPhone. Câu 2: Kiến trúc nền tảng Android gồm mấy lớp? Chi tiết các lớp như thế nào? 1. Kiến trúc nên tảng Android gồm các lớp sau: 1.1. Linux Kernel: Android được xây dựng trên nền tảng Linux Kernel 2.6 mã nguồn mở, chứa những trình điều khiển( driver) dùng để điều khiển phần cứng như Keypad, Wifi, Camera, Audio, Màn hình. 1 1.2. Android Framework: Được phát triển dựa trên nền tảng của Linux 2.6 được cấu thành từ hai thành phần con sau: • Android native libraries: đây là thư viện C/C++, bạn sẽ gọi thư viện này thông qua giao diện Java(trong tầng trên Application Framework). • Android Runtime: gồm các thư viện lõi của Java và máy ảo Davik. 1.3. Application FrameWork: • Tầng này chứa thư viện Java hỗ trợ người dùng giao tiếp với tần Android FrameWork Trong tầng này thỉ Activity Manager là tầng quan trọng nhất vì nó quản lý chu kì sống của Activity. 1.4. Application: • Đây là tầng cao nhất và mọi ứng dụng của Android sẽ nằm ở tầng này. • Google đã hỗ trợ viết sẵn một số thư viện tiện ích trong tầng này giúp bạn truy xuất thông tin ở những phần bên dưới linh hoạt và hiệu quả nhất. Câu 3 (Trùng câu 10) Câu 4: Cấu trúc lưu trữ và các thành phần tạo nên một dự án Android? 1.Cấu trúc lưu trữ: - Thư mục mã nguồn(src): thư mục này chứa toàn bộ các tập tin *.java có trong ứng dụng. Các tập tin được tổ chức trong các java package. - Thư mục thư viện Android: Là bộ thư viện mà hệ điều hành Android hỗ trợ cho ứng dụng của bạn. - Thư mục assets: Mặc định khi vừa tạo ứng dụng Android trong Eclipse thì thư mục assets rống. Mục tiêu chính của thư mục này là dùng để lưu trữ dữ liệu do bạn định nghĩa như: tập tin html, tập tin xml. - Thư mục res: Dùng để lưu trữ tài nguyên của ứng dụng. Trong thư mục này bạn lưu trữ bất cứ loại tài nguyên nào từ kiểu chuỗi tới hình ảnh. - Thư mục bin, libs và referenced libraries: mặc định khi tạo ứng dụng libs sẽ không hiển thị. Mục đích của thư mục này là để chứa những thư viện hỗ trợ phát triển ứng dụng. Các thư viện được thêm vào thư mục này không phải là thư viện trong JDK hay Android SDK mà là một thư viện bên ngoài. - Thư mục gen: Thư mục gen chứa tập tin R.java được ADT phát sinh. Các tài nguyên được thêm trong thư mục res/ sẽ được ADT phát sinh một ID. Giá trị ID này sẽ được lưu trữ trong R.java. Khi người dùng muốn truy xuất tài nguyên nào đó, chỉ cần chỉ định giá trị ID tương ứng của nó. - Tập tin androidmanifest.xml: Đây được xem là tập tin quan trọng nhất trong dự án và nó chứa tất cả thông tin của dự án. Trước khi ứng dụng của bạn chạy, hệ thống sẽ 2 đọc những thông tin này. Nếu bạn không khai báo thành phần nào đó trước khi sử dụng thì hệ thống sẽ báo lỗi. Các thành phần chính của của file: + Tên Java package + Các thành phần của ứng dụng +Quyền hạn của ứng dụng. + Min SDK. 2. Thành phần tạo nên 1 dự án Android 1. Activities: - Một Activity đại diện cho một cửa sổ chứa giao diện ứng dụng mà người dùng có thể tương tác trực tiếp. - Trong mỗi activity ngoài việc thiết lập giao diện, nó còn phải xử lý những tương tác giữa người dùng với giao diện như: chạm, bấm nút lệnh 2. Services: - Đây là loại Application Component chạy nền để thực hiện những công việc lieen tục và kéo dài.Một Activity thường được dùng để hiển thị một giao diện nào đó, nhưng một Service không có giao diện. - Một Service được tạo ra trong ứng dụng sẽ là một lớp con của lớp Service trong Android Platform và bạn có thể dùng một Activity để khởi động Service này. 3. Content Providers: - Content Providers trong Android được dùng để quản lý một tập các dữ liệu chia sẻ. Bạn có thể lưu trữ dữ liệu dưới dạng tập tin, cơ sở dữ liệu SQLite, trên Website hay trên bất kì vị trí lưu trữ nào mà ứng dụng của bạn có thể truy xuất. - Một Content Providers do bạn tạo ra sẽ được kế thừa từ lớp Content Provider của Android Platform. 4. Broadcast Receivers: - Broadcast Receivers là loại Component trong ứng dụng để lắng nghe các thông điệp (Broadcast) được gửi đi từ hệ thống. - Bản than ứng dụng cũng có thể gửi đi những thông điệp(Broadcast) để những ứng dụng khác biết. - Một đối tượng Broadcast Receiver được tạo ra từ lớp cha BroadcastReceiver trong Android Platform. Câu 5: Activity là gì? Có mấy loại activity ? 1. Khái niệm Activity : Activity là cửa số giao diện ứng dụng mà người dùng có thể tương tác trực tiếp chẳng hạn như gọi điên, nhắn tin, chụp hình, gửi mail, hay xem bản đồ. 2. Có 3 loại Activity: 3 • Float Activity: là dạng Activity nổi, có kích thước không phủ lấp toàn bộ màn hình. • Acitivity Group: là một nhóm Activity nhúng vào các Acitivity khác • Full-screen Activity: là dạng Activity phủ kín toàn màn hình. Câu 6: Có mấy trạng thái mà một activity có thể có? 1. Resumed: Là trạng thái chạy của Acitvity. Khi Activity chuyển sang trạng thái này, giao diện của nó sẽ hiển thị trên màn hình và dành được focus. 2. Pause: Khi một Activity đang chạy mà có một Activity khởi động thì trạng thái của Activity cũ sẽ chuyển sang dạng Paused. 3. Stopped: Khi một Activity ở trạng thái này, giao diện của nó bị một Activity khác che khuất hoàn toàn. Thực tế thì Activity vẫn còn tồn tại, nhưng bạn không thể nhìn thấy nó. Những Acitivity này có thể bị hệ thống hủy khi một ứng dụng khác yêu cầu cần them bộ nhớ để xử lý. Câu 7: Trình bày vòng đời của một activity trong lập trình Android? Vòng đời phát triển của một ứng dụng android: 4 Khởi động Acitvity onCreate() 5 Acitvity dành được focus Người dùng bấm Back để trở về Acitivity Tiến trình bị hủy onRestart() Activity bị hủy hoàn toàn onDestroy()onStop() Activity chạy( trạng thái Resumed) Một activity khác đang dành được focus onPause() Activit dành được focus Ứng dụng khác cần thêm bộ nhớ để xử lý Activity bị che khuất hoàn toàn onResume() onStart() Trong vòng đời của ứng dụng Android bạn cần phần biệt 2 loại sau: Visible Lifetime và Foreground Lifetime : - Visible Lifetime: Sảy ra từ sau khi gọi onStart –> cho tới lúc gọi onStop : trong trường hợp này TA vẫn có thể thấy màn hình Activity (có thể tương tác khi nó là foreground, không tương tác được khi nó không phải foreground như đã giải thích ở trên) - Foreground Lifetime: Sảy ra từ khi gọi onResume –> cho tới lúc gọi onPause : trong suốt thời gian này Activity luôn nằm ở trên cùng và Ta có thể tương tác được với nó Câu 8: Có mấy cách lưu trữ trạng thái của Activity. Phân biệt và cho ví dụ minh họa việc sử dụng chúng. 1. Có hai cách để lương trữ thông tin trạng thái trong Activity : • Trong sự kiện onSaveInstanceState(Bundle), bạn lưu trữ lại thông tin trạng thái trong đối tượng Bundle, và trong sự kiện onCreate(Bundle) bạn sẽ lấy lại các thông tin đã lưu trữ trước đóvà hiển thị lên giao diện. • Trong sự kiện onPause() hoặc các sự kiện khác, bạn lưu lại thông tin trạng thái trong đối tượng SharePreferences, và trong sự kiện onCreate(Bundle) bạn sẽ đọc các thông tin đã lưu trữ và hiển thị lên giao diện. 2. Phân biệt giữa Bundle và Sharedpreferences a. Để lưu trữ tạm thời dũ liệu trong vòng đời của một ứng dụng, chúng ta nên sử dụng Bundle trong sự kiện onSaveInstance(Bundle): Trong trường hợp này dữ liệu sẽ được lưu trong bộ nhớ cho đến khi ứng dụng bị đóng. b. Để lưu trữ dữ liệu mang tính chất lâu dài và có chia sẻ giữa nhiều thể hiện của ứng dụng, chúng ta nên sử dụng SharePreference : Thông tin trạng thái này sẽ được lưu trữ trong bộ nhớ cho đến khi ứng dụng bị đóng. Ví dụ: Tự minh họa > ^_^ 6 Câu 9: Mô tả các sự kiện có thể xảy ra trong vòng đời của một Activity? Cho ví dụ minh họa và giải thích các sự kiện trong Activity được gọi sau khi: Chạy ứng dụng, Nhấn nút BACK, Nhấn nút HOME và Khởi động lại ứng dụng. 1. Các sự kiện để xử lý vòng đời của Activity như sau: • onCreate(): Sự kiện này được gọi khi Activity được gọi lần đầu tiên. Trong sự kiện này, bạn phải thực hiện những công việc như sau: tạo giao diện cho Acitivity, tải dữ liệu vào danh sách, v v Sau sự kiện này thì sự kiện onStart() được gọi. • onRestart(): Acitivity sau khi được chuyển sang trạng thái Stopped, nếu muốn hiển thị và dành được focus, sự kiện onRestart() phải được gọi. Sau sự kiện này luôn là sự kiện onStart() được gọi. • onStart(): Sự kiện này được gọi khi giao diện của Activity hiển thị trên màn hình thiết bị. Lúc này, những tương tác giữ người dùng vẫn chưa được thiết lập, và Acitivity vẫ chưa chuyên sang trạng thái nhận focus. • onResume(): Sự kiện này được gọi khi Acitivity bắt đầu tương tác với người dùng. Ở thời điểm này thì Acitivity của bạn được đặt trên cùng của ngăn xếp. Theo sau sự kiện này, có thể là sự kiện onPause(). • onPause(): Khi một Acitivity khác muốn dày quyền hiển thị và trạng thái focus thì Activity hiện hành sẽ gọi sự kiện onPause(). • onStop(): Sự kiện này được gọi khi Acitivity bị che khuất hoàn toàn bởi một Acitivity và Activity khác cũng dành được focus. • onDestroy(): Đây là sự kiện cuối cùng được gọi trước khi Activity bị hủy hoàn toàn. Khi một Activity bị hủy nó sẽ không còn được lưu trong bộ nhớ nữa và không khởi động lại được. 2. Ví dụ minh họa và xử lý: Mô tả project: Thuộc tính Giá trị Project Name ActivityLifeCycle Build Target Android 2.2 Application Name ActivityLifeCycle Package Name android.com Create Activity MainActivity Minimum 7 1. Mở tập tin MainActivity.java trong package src/android.com và cập nhật thông tin như sau: Package android.com; Import android.app.Activity; Import android.os.Bundle; Import android.util.Log; Public class ActivityLifeCycle extends Activity{ String tag=” Events”; @Override Public void onCreate(Bundle saveInstanceSate){ Super.onCreate(saveInstanceSate); 7 setContentView(R.layout.main); Log.d(tag,” Event: onCreate()”): } Public void onStart(){ Super.onStart(); Log.id(tag,”Event: onStart()”); } Public void onRestart(){ Super.onRestart(); Log.id(tag,”Event: onRestart()”); } Public void onResume(){ Super.onResume(); Log.id(tag,”Event: onResume()”); } Public void onPause(){ Super.onPause(); Log.id(tag,”Event: onPause()”); } Public void onStop(){ Super.onStop(); Log.id(tag,”Event: onStop()”); } Public void onDestroy(){ Super.onDestroy(); Log.id(tag,”Event: onDestroy()”); } } 1. Khi bấm nút Back trên thiết bị: Ba sự kiện được gọi theo thứ tự là onPause(), onStop(), onDestroy(). Lúc này Activity đã bị hủy hoàn toàn và không còn tồn tại trong bộ nhớ nữa. 2. Khi bấm nút Home : Có 2 sự kiện được gọi là onPause(), on Stop(). Lúc này Activity Home dành được focus và che khuất MainActivity nên trạng thái của MainActivity là Stopped. Thực chất Activity vẫn còn tồn tại trên hệ thống. Câu 10: Application Resource là gì? Ý nghĩa và tầm quan trọng của nó trong ứng dụng Android? 1. Khái niệm Application Resource: Application Resource (Tạm dịch là tài nguyên ứng dụng) được hiểu là những tài nguyên được sử dụng để thiết kế giao diện. Một số loại Resource mà ứng dụng Android sử dụng như: Hình ảnh, giao diện, v v Tất cả các Application Resource này được lưu trữ trong thư mục res/ 2. Ý nghĩa và tầm quan trọng: 8 - Giúp cho thiết kế ứng dụng được đẹp, dễ sử dụng (vì giao diện là chính là nơi tương tác giữa người sử dụng ứng dụng và ứng dụng) . - Giao diện chính là bộ mặt của phần mềm nên cần được thiết kế rõ rang, dễ sử dụng và app resource chính là nói lưu trữ những tài nguyên mà người phát triển cần cho việc thiết kế giao diện. Note: nên vẽ ra 1 cái hình so sánh giữa việc sử dụng giao diện và không sử dụng giao diện. ^_^ Câu 11: Thư viện Android cung cấp bao nhiêu loại Layout? Thư viện Android cung cấp 4 loại Layout thường xuyên được sử dụng trong Android 1. Frame Layout: • Là đối tượng đơn giản nhất. • Chứa nhiều View và các View này sẽ được sắp chồng lên nhau. • Nếu chứa nhiều View thì có thể xếp chồng lên nhau nếu chúng có cùng kích thước thì những đối tượng nằm dưới sẽ bị che khuất. 2. Linear Layout: Là dạng Layout tổ chức và sắp xếp các đối tượng đặt lien tiếp nhau theo hàng ngang hoặc hàng dọc. • Sắp xếp đối tượng theo hàng ngang: Thuộc tính được thiết lập: android: orientation = “horizontal” • Sắp xếp đối tượng theo hàng dọc: Thuộc tính được thiết lập: orientation = vertical” 3. Table Layout: Là dạng Layout được tổ chức, sắp xếp các đối tượng thành dòng và cột. Chúng ta sử dụng <TableRow> để thiết kế một dòng trong Table và mỗi dòng trong TableLayout có thể chứa một hoặc nhiêu View. 4. Relative Layout: RelativeLayout, các đối tượng sẽ được sắp xếp theo vị trí tương đối với nhau. Có nghĩa là đối với đối tượng, bạn phải xác định các đối tượng liền kề: trái, phải, trên, dưới với nó. Ngoài ra còn một số Layout khác như: Gallery, GrideView, ListView, v v. Nhưng không thường xuyên được sử dụng. Câu 12: Chức năng của Layout là gì? Việc thiết kế Layout có mấy cách? 1. Chức năng: Layout được dùng để quản lý các thành phần giao diện khác theo 1 trật tự nhất định. 2. Có 2 cách để thiết kế Layout: • Tạo trong tập tin XML • Tạo trong mã nguồn Cách phổ biến: sử dụng tập tin XML. Định dạng này cho phép định nghĩa cấu trúc giống như HTML gồm một element gốc va 9 nhiều element con. Mỗi element trong XML Layout là một đối tượng View hoặc View Group tỏng đó các đối tượng View đóng vai trò là nốt lá, còn đối tượng ViewGroup là gốc hoặc nhánh trong cây phân cấp các đối tượng trên giao diện. Ví dụ minh họa: Một cái ví dụ cho thêm phần sinh động và thuyết phục ^_^ Câu 13: Theo bạn, cách thiết kế Layout nào thuận tiện cho người thiết kế hơn? Câu 12 đã trả lời rồi. Thông tin chi tiết xem câu 12 nhá. Nhưng nên bổ sung 1 em xml cho nó hay. ( Nên có GUI). Câu 14: Có mấy loại Menu trong Android? Chức năng của mỗi loại như thế nào? Có 3 loại Menu trong Android: 1. Options Menu: • Là loại Menu xuất hiện khi người dùng bấm nút Menu trên thiết bị. • Hệ điều hành 2.3 trở xuống : Options Menu nằm ở dưới màn hình. • Hệ điều hành 3.0 trở lên: Options Menu nằm ở Action Bar. • Options Menu chứa những chức năng có hiệu lực trong phạm vi của Activity hiện hành và có khả năng gọi thực thi một Activity khác. 2. Context Menu: • Đây là loại Menu tương tự như Menu hiển thị khi bạn bấm chuột phải vào một đối tượng nào đó trên máy tính PC hoặc laptop. • Trong thiết bị Android để hiện thị đối tượng này bạn phải bấm và giữ một đối tượng thì Context Menu cho đối tượng đó mới hiện thị. 3. Sub Menu: • Là loại Menu hiển thị khi người dùng chọn một Item trên một Menu khác. • Sub Menu có thể được dùng để tạo danh sách các Menu con cho Options Menu hoặc Context Menu. Câu 15: Có mấy cách để tạo một menu trong Android? Ưu và nhược điểm của mỗi cách? 1. Android hỗ trợ 2 cách để tạo 1 Menu: Tạo từ XML Menu Resource. • Ưu điểm: - Trực quan, đơn giản hơn vì được hỗ trợ kéo thả. - Dễ sử dụng. • Nhược điểm: - Không phù hợp với tính chất hay thay đổi của một Menu có tính chất hay thay đổi, phụ thuộc vào nội dung. Ví dụ: Contex Menu.  Khi thiết thế Context Menu thường không thiết kế theo XML Menu Resource. - Tạo trong mã nguồn. 10 [...]... đổi • Nhược điểm: - Khó sử dụng do phải nắm vững ngôn ngữ - Khó quản lý( Nếu không quản lý được tài nguyên, các biến, hay các nội dung, phương thức )  Thích hợp cho các menu ít thay đổi như Options Menu • - Note: Nên cho ví dụ ở đây Câu 16: Có mấy loại Intent trong Android? Sự khác biệt giữa chúng? Android cung cấp 2 loại Intent như sau: 1 Explicit Intent: Hay còn gọi là Intent công khai Với loại... dùng sẽ được lựa chọn ứng dụng mình muốn Câu 18: Trong Android, các Activity có thể trao đổi thông tin qua lại với nhau hay không? Nếu có thì bằng cách nào? 1 Trong Android, các Activity có thể trao đổi thông tin qua lại với nhau 2 Các Acitvit trao đổi thông tin qua lại với nhau thông quan Intent: Một đối tượng Intetn được truyền vào phương thức startActivity() hay startActivityForResult() để mở một Activity... thông tin chung chung về action, data và category ), nó sẽ sử dụng những thông tin trong Intent này, kiểm tra đối chiếu với Intent Filter của các component các ứng dụng, sau đó quyết định khởi chạy 11 ứng dụng nào thích hợp nhất để xử lý Intent bắt được Nếu có 2 hay nhiều hơn ứng dụng thích hợp, người dùng sẽ được lựa chọn ứng dụng mình muốn Câu 18: Trong Android, các Activity có thể trao đổi thông... Component đích Thông tin trong Explicit Intent sẽ chứa hai thông tin tương ứng là ActivityOne.this và ActivityTwo.class Sauk hi phương thức startActivity() được gọi thì một Activity mới (Trong ví dụ này là ActivityTwo) sẽ được tạo, hiển thị và sẽ đặt trên cùng của ngăn xếp Activity 2 Implicit Intent: hay còn gọi là Intent ẩn Với loại Intent này, tên của Application Component đích không được chỉ định... Bạn chỉ cần thiết lập thông tin về hành động (Action), dữ liệu (data hay extra) hay phân loại tương ứng sẽ được thực hiện trên đối tượng đích, hệ thống sẽ tìm những ứng dụng thich hợp để thwucj hiện yêu cầu trong Intent Câu 17: Intent Filter là gì? Tại sao phải sử dụng Intent Filter? 1 Khái niệm Inten Filter: Activity, Service và BroadCast Receiver sử dụng Intent Filter để thông báo cho hệ thống biết... hay để yêu cầu một Activity đang tồn tại làm một việc gì đó Riêng đối với trường hợp Activity được mở bằng phương thức startActivityForResult(), thì bạn có thể sử dụng phương thức setResult() để lấy thông tin từ Activity được kích hoạt và trả về cho Activity nguồn 12 . Đề cương ôn tập Android Câu hỏi: Trả lời: Câu 1: Ưu và nhược điểm của android: 1. Ưu điểm: An ninh: Các lỗi nhanh. package src /android. com và cập nhật thông tin như sau: Package android. com; Import android. app.Activity; Import android. os.Bundle; Import android. util.Log; Public

Ngày đăng: 14/03/2014, 19:07

HÌNH ẢNH LIÊN QUAN

hình thiết bị. Lúc này, những tương tác giữ người dùng vẫn chưa được thiết lập, và Acitivity vẫ chưa chuyên sang trạng thái nhận  focus - Đề cương ôn tập Android - Chuẩn
hình thi ết bị. Lúc này, những tương tác giữ người dùng vẫn chưa được thiết lập, và Acitivity vẫ chưa chuyên sang trạng thái nhận focus (Trang 7)

TỪ KHÓA LIÊN QUAN

w