Tìm kiếm tài liệu miễn phí

Hướng dẫn lập trình cơ bản với Android - Phần 9: Bài tập thực hành

Tài liệu cung cấp cho người học các kiến thức: Bài tập thực hành, chỉnh sửa code, chạy chương trình, giao diện chương trình,... Hi vọng đây sẽ là một tài liệu hữu ích dành cho các bạn sinh viên đang theo học môn dùng làm tài liệu học tập và nghiên cứu. Mời các bạn cùng tham khảo chi tiết nội dung tài liệu.



Đánh giá tài liệu

0 Bạn chưa đánh giá, hãy đánh giá cho tài liệu này


  • 5 - Rất hữu ích 0

  • 4 - Tốt 0

  • 3 - Trung bình 0

  • 2 - Tạm chấp nhận 0

  • 1 - Không hữu ích 0

Mô tả

B5: Time to coding. Tới thư mục src/Example.java và thay đổi nội dung file như
sau:
Mã:
package at.exam;
import java.util.ArrayList;
import
import
import
import
import
import
import
import
import
import

android.app.Activity;
android.app.AlertDialog;
android.content.DialogInterface;
android.os.Bundle;
android.view.View;
android.view.View.OnClickListener;
android.widget.ArrayAdapter;
android.widget.Button;
android.widget.EditText;
android.widget.ListView;

public class Example extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//Tạo mảng để chứa String nội dung công việc và
giờ
final ArrayList arrayWork = new
ArrayList();
//Adapter dùng để kết nối mảng với List View
final ArrayAdapter arrayAdapter = new
ArrayAdapter(this,
android.R.layout.simple_list_item_1,
arrayWork);

//Các EditText để vào nội dung công việc được
lấy về từ XML
final EditText workEnter = (EditText)
findViewById(R.id.work_enter);
final EditText hourEdit = (EditText)
findViewById(R.id.hour_edit);
final EditText minuteEdit = (EditText)
findViewById(R.id.minute_edit);
//Button khi nhấn sẽ thêm công việc vào
ListView
final Button button = (Button)
findViewById(R.id.button);
//ListView chứa danh sách công việc
final ListView list = (ListView)
findViewById(R.id.list);
//Cần set Adapter cho list để biết sẽ lấy nội
dung từ mảng arrayWork
list.setAdapter(arrayAdapter);
//Định nghĩa Listener xử lý sự kiện nhấn vào
button
OnClickListener add = new OnClickListener() {
@Override
public void onClick(View v) {
//Nếu 1 trong 3 Edit Text không có nội
dung thì hiện lên thông báo
if
(workEnter.getText().toString().equals("") ||
hourEdit.getText().toString().equals("") ||
minuteEdit.getText().toString().equals("")) {
AlertDialog.Builder builder = new
AlertDialog.Builder(Example.this);
builder.setTitle("Info missing");
builder.setMessage("Please enter
all information of the work");

builder.setPositiveButton("Continue", new
DialogInterface.OnClickListener() {
public void
onClick(DialogInterface dialog, int which) {
// TODO Auto-generated
method stub
}
});
builder.show();
}
//Lấy nội dung công việc và thời gian
ra từ Edit Text và đưa vào list
else {
String str =
workEnter.getText().toString() + " - "
+
hourEdit.getText().toString() + ":"
+
minuteEdit.getText().toString();
arrayWork.add(0,str);
arrayAdapter.notifyDataSetChanged();
workEnter.setText("");
hourEdit.setText("");
minuteEdit.setText("");
}
}
};
//set Listener cho button
button.setOnClickListener(add);
}
}
Mình đã chú thích đầy đủ và đoạn code cũng khá dễ hiểu. Tuy nhiên cần lưu ý 2
vấn đề ở đây.
- Khởi tạo đối tượng ArrayAdapter: Các bạn thấy đối số truyền vào là (this,
android.R.layout.simple_list_item_1, arrayWork). This là đối số của lớp Context

(ở đây chính là activity Example). Bạn sẽ gặp Context trong rất nhiều khởi tạo các
lớp và nên hiểu Context có ý nghĩa gì. Mình xin đưa ra giải thích của anh Giáp
(thank mr giaplv):
Quote:
Context thuộc android.content (android.content.Context).
Là một Interface (lớp giao tiếp) chứa hầu hết thông tin về môi trường ứng dụng của
android, có nghĩa là mọi thao tác, tương tác với hệ điều hành điều phải qua lớp
này.
Nó là một lớp abstract (trừu tượng) cung cấp cho những lớp khác các phương thức
để tương tác với hệ thống Android.
Nó cho phép truy cập tới các nguồn tài nguyên (resources) đã được định nghĩa và
các lớp khác. Ví dụ như nó có thể khởi tạo và chạy các activities, các broadcast và
các intents,... Chúng ta coi như Contex là một lớp ở mức ứng dụng (Application
level- liên quan tới hệ thống).
Tóm lại context giúp chúng ta dễ dàng truy cập và tương tác tới các tài nguyên của
hệ thống, các thông tin, các dịch vụ (services), các thông số cấu hình, database,
wallpaper, danh bạ, cuộc gọi, kết nối, chế độ rung (vibrator),...
***sở dĩ hầu hết các lớp có liên quan tới UI (layout, button, textview, imageview,
listview,...) đều pải super tới Context vì bản thân nó đảm nhiệm việc truy cập
resource (R.id, R.layout,....). Nếu chúng ta không tham chiếu tới Context class thì
đương nhiên không thể dùng tới các resources mà chúng ta đã tạo ra.
Tiếp theo là android.R.layout.simple_list_item_1, đối này định nghĩa cách thể hiện
item (ở đây là String) trong List View. Các bạn hãy ghi nhớ android.R.* là các tài
nguyên (resource) có sẵn của Android cho phép bạn truy cập và sử dụng. Sau này
khi hướng dẫn tạo custom View cho List View mình sẽ đề cập lại vấn đề này.
Cuối cùng arrayWork chính là mảng cần được bind của adapter.
- AlertDialog là lớp cho phép đưa ra 1 hộp thoại, thường dùng để đưa ra thông tin
hoặc cảnh báo đơn giản. Trong code mình tạo 1 builder, tạo tiêu đề (title) cho nó,
đưa ra thông báo (message) và cuối cùng là tạo 1 positive button (nhưng không
định nghĩa xử lý khi nhấn nút này, vì vậy nếu bạn nhấn nút thì dialog sẽ chỉ đơn
giản thực hiện việc đóng lại).
B6: Tiến hành chạy thử chương trình. Run as -> Android Application. Enjoy

yourself

Tài liệu cùng danh mục Kỹ thuật lập trình

Windows Phone Recipes

Tham khảo sách 'windows phone recipes', công nghệ thông tin, kỹ thuật lập trình phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả


Bài giảng Lập trình web: Controller - Nguyễn Hà Giang

Nội dung chính trong chương 2 gồm: Define and describe controllers, describe how to work with action methods, explain how to invoke action methods, explain routing requests, describe URL patterns. Mời các bạn tham khảo.


Two Point Boundary Value Problems part 6

In relaxation problems, you have to choose values for the independent variable at the mesh points. This is called allocating the grid or mesh. The usual procedure is to pick a plausible set of values and, if it works, to be content. If it doesn’t work


LẬP TRÌNH J2ME CHO THIẾT BỊ DI ĐỘNG - PHẦN 4

Tham khảo tài liệu 'lập trình j2me cho thiết bị di động - phần 4', công nghệ thông tin, kỹ thuật lập trình phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả


cisco avvid ip telephony phần 2

Một cách chúng tôi làm điều đó bằng cách lắng nghe. Độc giả như mình đã nói với chúng tôi họ muốn một dịch vụ dựa trên Internet mà có thể mở rộng và nâng cao giá trị của các cuốn sách. Căn cứ vào đọc những phản hồi và kế hoạch chiến lược của chúng tôi,


Testing Computer Software phần 5

Đâu là nơi mà việc kiểm thử phù hợp với quy trình phát triển sản phẩm? Làm thế nào để các sản phẩm kiểm thử được chuyển ngữ sang các ngôn ngữ khác? Làm thế nào để kiểm thử tính tương thích với các công cụ, chẳng hạn như các máy in? Những luật lệ nào được áp dụng cho chất lượng phần mềm?


Ultra-Fast ASP.NET

Nửa đầu sự nghiệp của tôi thường xuyên đưa tôi và các công ty tôi đã làm việc với cạnh tranh với Microsoft, và tôi đã thường được bao quanh bởi những câu chuyện và tuyên truyền chống Microsoft. Tuy nhiên, khi tôi nghe nói về NET,. quyết định tôi muốn biết nhiều hơn và cách tốt nhất để làm điều đó là để tìm hiểu tại nguồn. Như tôi đã vào công nghệ và công ty, những gì tôi tìm thấy nhiều hơn một chút ngạc nhiên. các NET Framework, ngôn ngữ C #, ASP.NET, và SQL Server tinh vi và kỹ thuật đẹp thành...


Lập trình Android TV part 3

Thiết kế giao diện trên Android Tổng quan • Trong Android, dùng Activity để hiển thị màn hình. • Mỗi activity sẽ chứa các View theo dạng cấu trúc cây, nghĩa là một Layout gốc chứa các view/layout con bên trong hoặc chỉ có 1 view duy nhất. (lưu ý Layout cũng là một view nhé) • Có thể thiết kế giao diện trong code java hoặc trong file xml trong thư mục layout. Tree view Layout mẫu của helloworld Một số thuộc tính cơ bản • Layout_width, layout_height: chiều rộng của view (fill_parent là to bằng kích...


Lập trình C# từ cơ bản đến nâng cao part 2

Tham khảo tài liệu 'lập trình c# từ cơ bản đến nâng cao part 2', công nghệ thông tin, kỹ thuật lập trình phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả


Bài giảng điện tử môn tin học: Vấn đề bảo mật và kiểm soát các hệ thống thông tin quản lý

HTTT với DL lưu trữ trên các file máy tính có tiềm năng bị truy xuất bởi số lớn cá nhân & nhóm bên ngoài tổ chức DL càng tự động thì càng dể bị tổn thương bởi sự phá hủy, sự gian trá, sai sót & sử dụng sai


Tài liệu mới download

Từ khóa được quan tâm

Có thể bạn quan tâm

Game Playing
  • 16/12/2016
  • 93.939
  • 466
Kỹ thuật khử đệ quy
  • 09/12/2009
  • 71.334
  • 498

Bộ sưu tập

Danh mục tài liệu