B3: Bên khung Package Explore bên trái đi tới thư mục res, bạn sẽ thấy có 3 thư mục con:

Similar documents
Cụ thể những công việc mà AndroidManifest.xml thực hiện: - Đặt tên cho Java package của ứng dụng.

B6: Time to coding. Đi tới src\at.exam tạo một class mới là CustomViewGroup với nội dung sau: Mã: package at.exam;

HƯỚNG DẪN CÁCH SỬ DỤNG WINDOWS MOVIE MAKER

Time Picker trong Android

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;

HƯỚNG DẪN SỬ DỤNG HỆ THỐNG CẬP NHẬT CHỨNG THƯ SỐ HOTLINE:

Internet Protocol. Bởi: Phạm Nguyễn Bảo Nguyên

B9: Việc cuối cùng cần làm là viết lại Activity. Tới Example.java và chỉnh sửa theo nội dung sau: Mã: package at.exam;

Tình huống 1: PPPoE với Username và Password

HƯỚNG DẪN SỬ DỤNG PLESK PANEL

BÀI 1: VBA LÀ GÌ? TẠO MACRO, ỨNG DỤNG CÁC HÀM TỰ TẠO (UDF), CÀI ĐẶT ADD-INS VBA là gì?

HƯỚNG DẪN SỬ DỤNG ĐẦU GHI H.264 DVR VISION VS (4CH - 8CH - 16CH)

I. Hướng Dẫn Đăng Nhập:

Entity Framework (EF)

Hướng dẫn cài đặt FPT

TÀI LIỆU THỰC HÀNH MÔN CƠ SỞ DỮ LIỆU NÂNG CAO

HƯỚNG DẪN CÀI ĐẶT PHẦN MỀM DIỆT VIRUS AVIRA

Bài Thực hành Asp.Net - Buổi 1 - Trang: 1

Khối: Cao Đẳng nghề và Trung Cấp Năm 2009

Bộ môn HTMT&TT, Khoa Công Nghệ Thông Tin và TT, ĐH Cần Thơ

Tài liệu hướng dẫn: Stored Procedure

BELGIUM ONLINE APPOINTMENT

Online Appointment System will work better with below conditions/ Hệ thống đặt hẹn online sẽ hoạt động tốt hơn với điều kiện sau đây:

BÀI TẬP THỰC HÀNH LẬP TRÌNH WINDOWS C#

Giáo trình này được biên dịch theo sách hướng dẫn của Sun Light. Vì là hướng dẫn kỹ thuật, trong này những thuật ngữ kỹ thuật bằng tiếng Anh tôi chỉ

Lab01: M V C Lưu ý: Để thực hành, các bạn phải cài Visual Studio 2013 trở lên mới hỗ trợ MVC5.

Cài đặt và cấu hình StarWind iscsi trên Windows. iscsi SAN là gì?

Kỹ thuật thu nhỏ đối tượng trong Design (Layout)

Tạo Project với MPLAB

Bộ môn MMT&TT, Khoa Công Nghệ Thông Tin và TT, ĐH Cần Thơ

Bài tập căn bản Visual Basic.Net Vòng lặp. txtn. txtketqua. btntinh. txtn. txtketqua. btntinh. Trang 1

CẤU TRÚC DỮ LIỆU NÂNG CAO

TÀI LIỆU HƯỚNG DẪN SỬ DỤNG HOSTING PLESK PANEL

HƯỚNG DẪN SỬ DỤNG NHANH MINDJET MIND MANAGER

Nhấn nút New để tạo 1 biến mới Trang 17

CHƯƠNG 2: CÁC ĐẶC ĐIỂM VỀ MÔI TRƯỜNG PHÁT TRIỂN (IDE)

Chương 5. Network Layer 19/09/2016 1

Lecture 12. Trees (1/2) Nội dung bài học:

ĐỌC, GHI XML VỚI C# TRONG ADO.NET --- SỬ DỤNG VISUAL STUDIO

Nội dung chính của chương. Các công nghệ đĩa cứng Cấu tạo vật lý của đĩa cứng Cấu tạo logic của đĩa cứng Cài đặt đĩa cứng như thế nào?

Chương 5. Network Layer. Phần 1 - Địa chỉ IPv4. Tài liệu : Forouzan, Data Communication and Networking

Mô hình dữ liệu quan hệ (Relational data model)

SIMULATE AND CONTROL ROBOT

Tạo repository mới. The working tree. The staging index. Lệnh git init tạo một repository loại git. tại thư mục hiện tại: $ git init

MỤC LỤC. Giáo trình Thiết kế web Trang 1

Phần 2. SỬ DỤNG POWERPOINT ĐỂ CHUẨN BỊ NỘI DUNG TRÌNH BÀY

TỔNG QUAN VỀ.NET VÀ C#

STACK và QUEUE. Lấy STACK

LẬP TRÌNH WINDOWS FORM VỚI CÁC CONTROL NÂNG CAO (Các control trình bày dữ liệu dưới dạng danh sách)

Tröôøng Ñaïi Hoïc Baùch Khoa Tp.HCM LẬP TRÌNH MINICHAT. Bài giảng 3. Trang1. Khoa Khoa Học Và Kỹ Thuật Máy Tính

HƯỚNG DẪN SỬ DỤNG DỊCH VỤ CDN

NHẬP MÔN LẬP TRÌNH KHOA HỌC DỮ LIỆU. Bài 10: Thư viện Pandas (2)

HƯỚNG DẪN SỬ DỤNG DỊCH VỤ CDN

HƢỚNG DẪN TRIỂN KHAI KASPERSKY - MOBILE DEVICE MANAGEMENT

LÂ P TRI NH WEB ASP.NET

GIẢI THUẬT ĐỊNH TUYẾN (ROUTING ALGORITHM)

Khoa KH & KTMT Bộ môn Kỹ Thuật Máy Tính

1 Bước 1: Test thử kit LaunchPad.

Cập nhật ResultSet trong JDBC

Phần 1: Hướng dẫn sử dụng PictureBox tạo Slide Show

SIEMENS INDUSTRIAL NETWORKS

Ôn tập Thiết bị mạng và truyền thông DH07TT - Lưu hành nội bộ (không sao chép dưới mọi hình thức)

GV: Phạm Đình Sắc or

Bài tập lớn số 1. Giả lập bộ định thời

Chương 7. Application Layer. Tài liệu : Forouzan, Data Communication and Networking

BÀI 6 LÀM VIỆC VỚI THÀNH PHẦN MỞ RỘNG CỦA CSS3

Khối: Cao Đẳng nghề và Trung Cấp Năm 2009

Dọn "rác" Windows 7 vào dịp cuối năm

Exceptions. Outline 7/31/2012. Exceptions. Exception handling is an important aspect of objectoriented. Chapter 10 focuses on:

HỢP ĐỒNG MUA BÁN HÀNG HÓA QUỐC TẾ GV: NGUYỄN THỊ BÍCH PHƯỢNG

Môn Học: Cơ Sở Dữ Liệu 2. Chương 3 LẤY DỮ LIỆU TỪ NHIỀU NGUỒN

Tìm hiểu Group Policy Object và các ví dụ

BÀI LAB ĐỔI TÊN DOMAIN

Google Search Engine. 12/24/2014 Google Search Engine 1

Đa ngôn ngữ (Internationalization) trong Servlet

HƯỚNG DẪN QUẢN TRỊ HỆ THỐNG

Các kiểu định địa chỉ họ MSC-51

METAPOST. 1.1 Cấu trúc file Metapost. 1.2 Cấu trúc trong Preamble. beginfig(...) endfig;... extra_beginfig(...) extra_endfig... begingraph(...

BÀI GIẢNG CHƯƠNG 3 GIAO TIẾP KẾT NỐI SỐ LIỆU

Chương 6. Transport Layer. Tài liệu : Forouzan, Data Communication and Networking

HTML DOM - Forms. MSc. nguyenhominhduc

NHÚNG. Vi ñiều khiển BM Kỹ Thuật ðiện Tử - ðh Bách Khoa TP.HCM 2

BẢO MẬT TRONG SQL SERVER

LINQ TO SQL & ASP.NET

dụng một chính sách, điều này giúp dễ dàng quản lý và cung cấp tính năng Load Balancing (cân bằng tải) phục vụ tốt hơn các yêu cầu của tổ chức.

KIẾN TRÚC MÁY TÍNH. Giảng viên: ThS. Phan Thanh Toàn. v

Chapter 4 Menus, Functions And Common Dialog

Mạng máy tính - Computer Network: Hệ. Giao thức - Protocol:

Bài 13: C++11. EE3490: Kỹ thuật lập trình HK1 2017/2018 TS. Đào Trung Kiên ĐH Bách khoa Hà Nội

CHƯƠNG VII CASCADING STYLE SHEET-CSS

PHÁT TRIỂN ỨNG DỤNG WEB

LAB IP SLA Bài 1. Bùi Quốc Kỳ ***

Bài thực hành số 2 QUYỀN và ROLE

Bài thực hành 1: Chỉ mục trong SQL Server

Khoa Công Nghệ Thông Tin Trường Đại Học Cần Thơ. Những hỗ trợ tiên tiến khác của SQL. Đỗ Thanh Nghị

BÀI THỰC HÀNH SỐ 1. Quản trị tập tin: 1/ Tạo các thư mục sau: Bài tập thực hành linux Linuxlab. bt1 bt11 bt111. bt121. bt12. bh1 bh11 bh111.

Cấu hình Router FTTH ---X---

LẬP TRÌNH 8051 SỐ HỌC VÀ LÔ GIC

[ASP.NET] MVC Framework và ví dụ minh họa

biến Global có thể được áp dụng cho tất cả các extension trong tất cả các context trong Dialplan.

Transcription:

B3: Bên khung Package Explore bên trái đi tới thư mục res, bạn sẽ thấy có 3 thư mục con: - drawable: thư mục chứa các hình ảnh để làm icon hoặc tài nguyên cho giao diện... - layout: chứa các file xml để thiết kế giao diện.

- values: chứa các giá trị sử dụng trong ứng dụng được bạn định nghĩa, như các dòng ký tự (string), các màu (color), các themes... B4:Vào thư mục layout, chọn file main.xml và gõ đoạn code sau vào thay cho toàn bộ nội dung có sẵn (Eclipse hỗ trợ kéo thả cho xml nhưng theo mình không nên sử dụng): <LinearLayout xmlns:android="http://schemas.android.com/apk/res/andro id" android:orientation="vertical" android:layout_height="fill_parent" > <EditText android:id="@+id/edit_text" android:layout_height="wrap_content" android:hint="@string/edit_hint" /> <TextView android:id="@+id/text_view" android:layout_height="wrap_content" android:textcolor="@color/text_color" android:textsize="28px" android:typeface="monospace" /> </LinearLayout> Trong đoạn XML này chúng ta khai báo một Linear Layout với 2 thành phần con của nó là 1 Edit Text (dùng để gõ xâu ký tự) với 1 Text View (hiển thị xâu ký tự). Linear Layout được khai báo với từ khóa orientation nhằm chỉ ra chiều sắp xếp của 2 thành phần con là chiều dọc. Còn với layout_width, layout_height các bạn có thể cho giá trị bằng "fill_parent" hoặc "wrap_content" để thông báo thành phần này sẽ có chiều rộng (dài) phủ đầy thành phần cha hoặc chỉ vừa bao đủ nội dung. Trong Edit Text và Text View các bạn có thể thấy có từ khóa id, từ khóa này cho phép khai báo id của các thành phần để lấy về trong code (sẽ đề cập sau). Ngoài ra từ khóa hint trong Edit Text cho phép hiện ra phần nội dung mờ khi Edit

Text vẫn chưa có ký tự nào. "@string/edit_hint" thông báo lấy trong file strings.xml xâu có tên là edit_hint. Còn textcolor của Text View thì thông báo đoạn ký tự sẽ được hiển thị với màu lấy trong file colors.xml, textsize chỉ ra cỡ chữ bằng 28 pixel và typeface chỉ ra kiểu chữ là monospace B5:Vẫn trong thư mục res, vào values và chọn file strings.xml. Bố sung thêm dòng định nghĩa cho edit_hint như sau: <resources> <string name="hello">hello World, Example!</string> <string name="app_name">example 1</string> <string name="edit_hint">enter the work here</string> </resources> B6:Trong thư mục values, tạo file colors.xml (chuột phải vào thư mục, chọn New - > Android XML File, và lưu ý chữ s, không phải là color.xml). Gõ nội dung cho file như sau: <resources> <color name="text_color">#ff3300</color> </resources> OK, vậy là bạn đã tạo một màu mới cho dòng chữ sẽ được hiển thị trong Text View (ff3300 là mã hexa của màu đỏ). Thực chất bạn hoàn toàn có thể gõ thẳng android:textcolor="#ff3300" trong file main.xml mà không cần tạo mới file colors.xml, nhưng mục đích của XML trong Android chính là để hỗ trợ nâng cấp chỉnh sửa dễ dàng. Nếu sau này bạn muốn sửa màu của dòng text thì chỉ cần vào colors.xml thay đổi thay vì mò mẫm trong main.xml (có thể rất dài nếu giao diện phức tạp). Các thành phần trên mới chỉ là các phần cơ bản của XML. Ngoài ra các bạn có thể

khai báo thêm về Animation, Style và Theme (phức tạp hơn nhiều nên mình không giới thiệu trong phần cơ bản này). B7: Vậy là chúng ta đã hoàn thiện phần giao diện với XML, giờ đến viết code để xử lý các sự kiện cho các thành phần: => vào thư mục src (source code của project) => at.exam => Example.java, gõ nội dung code sau vào: package at.exam; import android.app.activity; import android.os.bundle; import android.view.keyevent; import android.view.view; import android.view.view.onkeylistener; import android.widget.edittext; import android.widget.textview; public class Example extends Activity { /** Called when the activity is first created. */ @Override public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); //Thiết lập giao diện lấy từ file main.xml setcontentview(r.layout.main); //Lấy về các thành phần trong main.xml thông qua id final EditText edit = (EditText) findviewbyid(r.id.edit_text); final TextView text = (TextView) findviewbyid(r.id.text_view); //Thiết lập xử lý cho sự kiện nhấn nút giữa của điện thoại edit.setonkeylistener(new OnKeyListener() { @Override

public boolean onkey(view v, int keycode, KeyEvent event) { if (event.getaction() == KeyEvent.ACTION_DOWN && keycode == KeyEvent.KEYCODE_DPAD_CENTER) { text.settext(edit.gettext().tostring()); edit.settext(""); return true; else { return false; );