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

Các ngôn ngữ thông dịch

Thập niên cuối của thế kỷ 20 xuất hiện hàng loạt các ngôn ngữ thông dịch. ASP, PHP, JavaScript, Python…Có độ đặc thù cao, trừu tượng miền ứng dụng phù hợp với các ứng dụng vừa và nhỏ. Cơ sở dữ liệu loại nhỏ, sinh báo cáo, quản lý nghiệp vụ.


Teach Yourself J2EE in 21 Days phần 4

Đầu tiên, nếu khách hàng của bạn có một tham chiếu đến một đậu kỳ họp không quốc tịch, mặc dù nó nên gọi khi nó được hoàn tất với các EJB, cuộc gọi phương pháp này không thực sự làm đặc biệt là nhiều. Đặc biệt, nó sẽ không phát hành bất kỳ tài nguyên đậu riêng của mình, như thể hiện rõ ràng bởi các sơ đồ biểu đồ nhà nước trong hình 5.3.


Nguyên tắc cơ bản của học thuyết Graphes

Tham khảo tài liệu 'nguyên tắc cơ bản của học thuyết graphes', 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ả


BatteryX Technologi part 15

Các bạn có thể tìm được cho mình những ý tưởng mới hoàn toàn độc đáo từ những hiệu ứng trên các công cụ xử lý ảnh hoàn hảo nhất từ trước tới nay dành cho những người thiết kế chuyên nghiệp. download: http://www.adobe.com size: 162 Mb 1. Ulead PhotoImpact 10.0


Ngôn ngữ lập trình C Sharp

C# là một ngôn ngữ lập trình hướng đối tượng được phát triển bởi Microsoft, là phần khởi đầu cho kế hoạch .NET của họ. Tên của ngôn ngữ bao gồm ký tự thăng theo Microsoft nhưng được đọc là C sharp. Microsoft phát triển C# dựa trên C++ và Java. C# được miêu tả là ngôn ngữ có được sự cân bằng giữa C++, Visual Basic, Delphi và Java. .NET Framework là một thành phần cơ bản của Windows cho việc xây dựng và chạy các ứng dụng viết bởi các ngôn ngữ lập trình mới....


Những nguyên tắc khi lập trình Web-Popal trên nền NukeViet phần 10

Trên đây chỉ là một vài điểm nho nhỏ mà bạn dễ thấy ngay từ khi mới tiếp xúc với bản NukeViet này - Mọi người đang đặt câu hỏi: liệu có phải anh Tú đang chăm chút để ông anh anh NukeViet xứng tầm với đứa em LaVie Portal chuẩn bị khai sinh chăng?


Lecture Building reliable component-based systems - Chapter 7: Role-based component engineering

Lecture Building reliable component-based systems - Chapter 7: Role-based component engineering. In this chapter, the following content will be discussed: Role-based components, motivating the use of roles, role technology, frameworks and roles.


Professional Visual Basic 2010 and .neT 4 phần 6

Ví dụ tiếp theo có một tài liệu XML có chứa nhiều tài liệu XML của kiểu và đi qua chúng. Mỗi để bộ phim được chuyển tiếp đến nhà cung cấp phim qua fax. Tài liệu này được đi qua như sau Đọc phần tử gốc: Quy trình mỗi phần tử quá trình mỗi phần tử fax Gửi cho mỗi đơn hàng bộ phim ở đâyCác phác thảo cơ bản của chương trình


Mastering Algorithms with Perl phần 5

phụ Sắp xếp nhanh {# phiên bản đệ quy xấu với danh sách BIG # vì ngăn xếp cuộc gọi chức năng được thực sự sâu sắc Đây là phân vùng thứ ba có thể chúng tôi gợi ý tại earlier.breakMở rộng phân vùng trung lưu càng nhiều càng tốt. + + $ i trong khi $ i


more iphone 3 development phần 6

Nó cũng có nghĩa là bạn cần phải có hai thiết bị được cung cấp cho phát triển, nhưng lưu ý rằng bạn không muốn kết nối cả hai thiết bị vào máy tính của bạn cùng một lúc. Điều này có thể gây ra một số vấn đề, vì không có cách nào để chỉ định mà một trong những sử dụng để gỡ lỗi.


Tài liệu mới download

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

Có thể bạn quan tâm

What Are Properties?
  • 11/08/2010
  • 77.830
  • 703
Bắt đầu lập trình với c++
  • 28/09/2010
  • 27.549
  • 914

Bộ sưu tập

Danh mục tài liệu