Cách khai báo và xây dựng giao diện trong C#

Một phần của tài liệu Giáo trình lập trình hướng đối tượng (nghề lập trình viên máy tính cao đẳng) (Trang 75 - 94)

3. Giao diện (Interface)

3.2.Cách khai báo và xây dựng giao diện trong C#

Trong khai báo interface thì thành phần bắt buộc phải có gồm: • Từ khóa interface

• Phần thân khai báo cho interface (interface-body)

Bài tập thực hành

1.Xây dựng các loại đối tượng sách giáo khoa, tiểu thuyết, tạp chí. Viết chương trình cho phép quản lý một danh sách các loại đối tượng kể trên.

Mỗi loại trên đều có thông tin chung như sau: Tên, Nhà xuất bản, Năm xuất bản, Số trang, Giá bán.

Đối với SGK có thêm thông tin về khối lớp; đối với tiểu thuyết có thêm thông tin về thể loại (giả tưởng, hình sự, kinh dị,…); đối với tạp chí có thêm thông tin về về dạng tạp chí theo định kỳ xuất bản (tuần san, nguyệt san, quý san,…)

2. Xây dựng lớp DaGiac thể hiện khái niệm đa giác với các thao tác cần thiết (nhập, xuất, tịnh tiến). Dùng kế thừa xây dựng các lớp tứ giác, tam giác.Viết chương trình cho phép nhập vào một tam giác hoặc tứ giác.Xuất và thực hiện các thao tác tịnh tiến hình đã nhập.

3. Thêm vào bài 2 các hình hình bình hành, hình chữ nhật và hình vuông. Định nghĩa lại các thao tác ở lớp con nếu cần. Xuất và thực hiện thao tác tịnh tiến hình đã nhập.

4. Viết chương trình cho phép nhập vào một trong các hình (tam giác, tứ giác, hình bình hành, hình chữ nhật, hình vuông) kể trên, xuất và thực hiện phép tịnh tiến cho các hình đã nhập.

5. Viết chương trình tính diện tích và chu vi các hình: Hình chữ nhật biết hai cạnh, hình tam giác biết ba cạnh, hình tròn biết bán kính. Chương trình có giao diện như sau: 1. Nhập kích thước các hình; 2. Hiện thị diện tích và chu vi các hình đã nhập; 3. Kết thúc chương trình.Lựa chọn công việc (1, 2, 3):Khi người sử dụng chọn 1 thì hỏi người sử dụng nhập kích thước cho hình nào, nhập xong hỏi người sử dụng có nhập tiếp không. Yêu cầu trong chương trình có cài đặt sự đa hình liên kết động.

BÀI 7: LẬP TRÌNH ANDROID CƠ BẢN Mã bài: MĐLTV 21.07

Giới thiệu

Hệ điều hành Android đang chiếm hơn 80% thị trường thiết bị di động hiện đại ngày

nay.Nhu cầu sử dụng ứng dụng di động cũng ngày càng cao. Nhu cầu việc làm về lập trình trên hệ điều hành mobile phổ biến nhất thế giới này cũng vì thế mà tăng mạnh do tính mở và dễ tiếp cận của nó.Nôi dung bài này sẽ hướng dẫn các bạn các kiến thức cơ bản trong LẬP TRÌNH ANDROID. Từ Activity cho đến database Sqlite, xử lý đa phương tiện,..v…v… để các bạn có thể tự tạo ứng dụng Android của mình cho sở thích hoặc công việc.

Mục tiêu

Trình bày được ứng dụng của hệ điều hành android Cài đặt được hệ điều hành android theo yêu cầu

Nội dung

1.Cài đặt Android Studio

Bước 1:Chúng ta sẽ cần cóJDK (Java Development Kit) trước khi làm bất cứ việc gì

với Android trên máy. Truy cập vào link:

http://www.oracle.com/technetwork/java/javase/downloads/index.html • Và click vào một trong2 nút khoanh đỏ:

• ChọnAccept License Agreementvà chọn phiên bản Java muốn cài đặt (Windows x64).

• Tải về xong thì cài đặt như bình thường. Các thành phần của JDK đã có đầy đủ

trong bộ cài hết (bao gồm cả source code và JRE):

Bước 2:Với đường dẫn bôi đỏ ở trên. Các bạn chuột phải vào biểu tượngMy

Computer (hoặc với Windows 10 là This PC) chọnProperties, hoặc chuột phải vào biểu tượngStartcủa Windows, chọnSystem.

• ChọnAdvanced System Settings:

• Ở tabAdvanced, chọnEnvironment Variables > New…(có 2 nút New, nút nào cũng được nhưng tốt nhất là dùng nút New… ở dưới) > nhập vàoNew user variable như hình với:

• Sau đó nhấnOK hết ở cả 3 hộp thoại. Vậy là ta đã chuẩn bị xong cho JDK.

Bước 3:Chuẩn bị Android Studio và Android SDK.

Truy cập vào trang: (adsbygoogle = window.adsbygoogle || []).push({});

https://developer.android.com/studio/index.html

• Và nhấnnút như hình trên để tải về.

• Ở thời điểm viết bài, phiên bản 2.1 là phiên bản stable (ổn định) mới nhất. Sau khi tải về thì chỉ cần cài đặt file.exe đã bao gồm cả Android Studio IDE và Android SDK.

Sau khi cài đặt thì chỉ việc sử dụng bằng cách click vào biểu tượng Android Studio ngoài desktop. Tuy nhiên chúng ta có một lựa chọn khác là cài đặt riêng từng thành phần: Android Studio IDE và Android SDK nhưbước 4 dưới đây.

Bước 4 (Tùy chọn):Nếu bạn không thích cài theo bộ exe có sẵn thì bạn có thể cài đặt

từng thành phần lẻ của bộ phát triển Android Studio. Cũng ở địa chỉ trên, kéo xuống

dưới đáy trang ta sẽ thấy tùy chọn như sau.

Màu cam: Bộ Android Studio lẻ/Màu xanh: Bộ Android SDK lẻ.

• Chúng ta cần download cả 2 bộ này về và giải nén ra.

• Sau khi tải về và giải nén gói .zip củaAndroid Studio , vào thư mục\android- studio\binvà chạy filestudio.exe (hoặcstudio64.exe, nếu máy bạn có hệ điều hành 64-bit).

Android Studiosẽ yêu cầu chúng ta chỉ định đường dẫn đến thư mục

chứaAndroid SDK(giải nén ra từ file .zip ở phầnkhoanh màu xanh lá ở trên. Chúng ta chỉ cần nhập vào theo Wizard:

Nếu sau này trong quá trình sử dụng, hệ thống không tìm thấy đường dẫn đến Android SDK thì chúng ta có thể tinh chỉnh lại bất cứ khi nào bằng cách vào Configure

>Settings:

2.Viết ứng dụng cơ bản: Nhập/Hiển thị, khai báo biến,...

Để bắt đầu tìm hiểu về ngôn ngữ lập trình Java chúng ta sẽ lần lượt học về các cú pháp cơ bản trong ngôn ngữ Java gồm khai báo biến, hằng, phương thức, các kiểu dữ liệu, toán tử, biểu thức và các cấu trúc điều khiển trong Java.

Biến: là vùng nhớ dùng để lưu trữ các giá trị của chương trình. Mỗi biến gắn liền với

một kiểu dữ liệu và một định danh duy nhất gọi là tên biến. • Tên biến thông thường là một chuỗi các ký tự, ký số.

• Tên biến phải bắt đầu bằng một chữ cái , một dấu _ hay dấu $. Ví dụ: int total2Number; String title

• Tên biến không được trùng với các từ khóa. • Tên bi ến không có khoảng trắng ở giữa tên.

• Biến có thể được khai báo ở bất kỳ đâu trong chương trình.

Cú pháp khai báo:

<kiểu_dữ_liệu><tên_biến>;

<kiểu_dữ_liệu><tên_biến> = <giá_trị>;

Ví dụ:

String bodyOfContent;

Quy chuẩn đặt tên (naming convention):chữ cái đầu tiên viết thường, các chữ cái đầu tiên tiếp theo của mỗi từ trong tên biến viết hoa.

Biến toàn cục (khai báo bằng từ khóa public phía trước hoặc đặt trong 1 class): là

biến có thể truy xuất ở khắp nơi trong chương trình.

Biến cục bộ: là biến chỉ có thể truy xuất trong khối lệnh nó khai báo. (adsbygoogle = window.adsbygoogle || []).push({});

public class MyFirstJavaProgram {

public String text="Hello World";//biến toàn cục public static void main(String []args) {

int a = 3;//biến cục bộ

System.out.println(text); // prints Hello World System.out.println(a); //print 3

} }

3.Lập trình hướng đối tượng trong Android

Lập trình hướng đối tượng là kỹ thuật lập trình nhằm vào sự tương tác giữa các đối tượng.Mỗi đối tượng có những thuộc tính (thông tin lưu trữ), những phương thức xác định các chức năng của đối tượng.

Bên cạnh đó, đối tượng cũng có khả năng phát sinh các sự kiện khi thay đổi thông tin, thực hiện một chức năng hay khi đối tượng khác tác động vào.

Tất cả những thuộc tính, phương thức và sự kiện tạo nên cấu trúc của đối tượng. Có 4 tính chất trong lập trình hướng đối tượng :

Abstraction : tính trừu tượng.

Encapsulation : tính đóng gói.

Inheritance : tính kế thừa.

Polymorphism : tính đa hình.

Mỗi tính chất đều có vai trò quan trọng trong lập trình hình đối tượng. Đầu tiền định nghĩa Đối Tượng và Lớp

Đối tượng: Một thực thể có trạng thái và hành vi. Ví dụ như xe đạp, bàn, ghế, … Nó

có thể mang tính vật lý hoặc logic.

Lớp: Một tập hợp các đối tượng. Nó là một thực thể logic. Tính trừu tượng

Bạn thường lẫn lộn giữa lớp (Class) và đối tượng (Object).Cần phân biệt lớp là một ý niệm trừu tượng, còn đối tượng là một thể hiện cụ thể của lớp.

Ví dụ : bản thiết kế nhà là lớp, ngôi nhà được xây dựng dựa trên bản thiết kế là đối tượng.

Sự trừu tượng có thể được hiểu đơn giản như sau:

Giả sử, kiến trúc để xây dựng 1 chiếc xe sẽ bao gồm: Bánh xe, yên xe, thắng.

Như vậy, những mô hình xe máy, xe đạp, xe hơi cũng được gọi là xe khi chúng thỏa mãn những yếu tố mà kiến trúc một chiếc xe quy định.

4.Tạo và sử dụng lớp trong Android

Một Activity bạn tạo ra bằng cách kế thừa (extends) lớp android.app.Activity (hoặc lớp AppCompatActivity, ta sẽ dùng cách này, xem chú thích phần dưới) mà khi kích hoạt nó sẽ tạo ra một cửa sổ nơi chúng ta sẽ chèn giao diện (UI) vào bằng phương thức setContentView(View)

Như trình bày trong vòng đời Activity Android có một số giai đoạn. Để Activity hoạt động hoạt động tối thiểu bạn cần nạp chồng (overrided) phương thức onCreate(Bundle), nó là phương thức được gọi ở giai đoạn đầu tiên của chu kỳ vòng đời Activity, chính vì thể đây là chỗ mà chúng ta sẽ nạp giao diện cho nó bằng phương thức setContentView(int) hoặc setContentView(View)

Bạn cũng có thể cần nạp chồng phương thức onPause(), phương thức này gọi khi Activity chuyển sang trạng thái tạm dừng tức là lúc giao diện của nó không còn xuất hiện nữa (ví dụ khi kích hoạt một Activity khác, Activity khác nó hoạt động và che hết màn hình), code trong phương thức này thường để lưu lại các thông tin (vì Acvitity có thể không được kích hoạt lại)

Ví dụ tạo một Acvitity tên là:Lession2Activity

public class Lession2Activity extends AppCompatActivity { @Override

protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState);

setContentView(R.layout.lession2_activity); //Các khởi tạo khác nếu cần thiết (adsbygoogle = window.adsbygoogle || []).push({});

}

@Override

protected void onPause() { super.onPause();

//Code to save data }

}

5.Bắt sự kiện Onclick

Cách bắt sự kiện cho một button

Đầu tiên mình sẽ tạo ra một button như sau: <?xml version = “1.0” encoding=”utf-8”?> <LinearLayout Xmlns : android =http://schemas.android.com/apk/res-auto Xmlns:app= http://schemas.android.com/apk/tools” Xmlns : android =http://schemas.android.com/apk/res-auto = "match_parent" ="wrap_content 6.Tùy chỉnh Layout 7.Tạo hàm con

Ta sẽ hiển thị ảnh từ một URL lên ImageView. Nguyên tắc là ta cần phải download file ảnh về từ URL và sau đó hiển thị nó lên ImageView:

URL url = new URL(imageUrl);

HttpURLConnection httpConn = (HttpURLConnection) url.openConnection(); httpConn.connect();

int resCode = httpConn.getResponseCode(); if (resCode == HttpURLConnection.HTTP_OK) { InputStream in = httpConn.getInputStream(); Bitmap bitmap = BitmapFactory.decodeStream(in); this.imageView.setImageBitmap(bitmap);

}

9.Sử dụng đối tượng CountDownTimer

new CountDownTimer(30000, 1000) {

public void onTick(long millisUntilFinished) {

mTextField.setText("seconds remaining: " + millisUntilFinished / 1000); //here you can have your logic to set text to edittext

}

public void onFinish() {

mTextField.setText("done!"); }

}.start();

10.Sử dụng ASYNC

Bài viết này mình sẽ hướng dẫn chi tiết các sử dụngAsyncTask trong Android, một cách làm rất được khuyến khích khi xử lý đa luồng trong Android.

Mỗi ứng dụng Android khi sử dụng đều được hệ điều hành cấp cho một process, và trên đó có một thread mặc định. Đó là main UI thread. Android xử lý tất cả các sự kiện/tác vụ trên một thread duy nhất gọi là main UI thread. Main UI thread không xử lý các hoạt động đồng thời vì nó chỉ xử lý một sự kiện/task tại một thời điểm.

Do vậy, nếu bạn thực hiện một tác vụ gì đó mà tốn nhiều thời gian trên main UI thread sẽ gây ra hiện tượng treo ứng dụng hay còn gọi là ANR(Application Not Responding). Để xử lý các tác vụ cần nhiều thời gian như: Tải file từ internet, nén hoặc giải nén… thì chúng ta phải tách tác vụ đó khỏi main UI thread( gọi là xử lý đa nhiệm). Android cung cấp một số công cụ để bạn có thể làm được điều đó như:

-Sử dụng Service – IntentService

- Sử dụng Thread – một khái niệm của Java - Loader trong Android

Nhưng trước hết, chúng ta cùng nhau tìm hiểu xử lý đa nhiệm trong Android là gì? Và khi nào cần phải xử lý đa nhiệm thay vì thực hiện ngay trên UI thread?

11.Đọc file từ internet 12.Đọc XML & RSS

Quản lý tiến trình với Async Task (adsbygoogle = window.adsbygoogle || []).push({});

Đọc nội dung từ website Load image from internet

Xây dụng ứng dụng đọc tin tức sử dụng XML

CHỈ DẪN ĐỐI VỚI HỌC SINH THỰC HIỆN BÀI TẬP ỨNG DỤNG

1. Bài tập ứng dụng phải thực hiện đúng trên máy tính giáo viên giao cho.

2. Kiểm tra các ứng dụng c++ đã được cài đặt trên máy tính và hướng dẫn sử dụng trước khi thực hiện lệnh.

3. Thực hiện đầy đủ các bước chuẩn bị khi thực hiện lập trình 4. sử dụng ứng dụng theo qui định và thao tác đúng các lệnh. 5. Tổng điểm và kết cấu điểm của các bài như sau:

Tổng số điểm tối đa cho bài: 100 điểm, kết cấu như sau: a, Phần thực hành khi thực hiện : Tổng cộng 70 điểm b, Phần chính xác và nhanh chóng : 30 điểm

- Thời gian thực hiện bài tập vượt quá 25% thời gian cho phép sẽ không được đánh giá.

- Thí sinh phải tuyệt đối tuân thủ các qui định an toàn lao động, các qui định của xưởng thực tập, nếu vi phạm sẽ bị đình chỉ thực tập

TÀI LIỆU THAM KHẢO

[1] Trần Văn Lăng(2002),, Lập trình hướng đối tượng sử dụng C++ NXB Thống Kê.

[2] Trần Đan Thư(2007),, Phương pháp lập trình hướng đối tượng NXB Khoa học kỹ thuật.

[3] Phạm Công Ngô (2010), Lập trình C# từ cơ bản đến nâng cao, NXB Giáo dục. [4] Bjarne Stroustrup (1997), The C++ Programming Language, Addison-Wesley.

Một phần của tài liệu Giáo trình lập trình hướng đối tượng (nghề lập trình viên máy tính cao đẳng) (Trang 75 - 94)