Giáo trình android tiếng việt full

145 375 1
Giáo trình android tiếng việt full

Đ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

Bài hướng dẫn cặn kẽ người cách sử dụng Android Eclipse, hi vọng giúp người chập chững bước vào lập trình Android có thêm thơng tin biết cách khai thác IDE hiệu I.Hướng dẫn cài đặt Android với Eclipse: Thực chất anh Giáp viết có nội dung tương tự, Goolge thay đổi phương thức tải Android SDK nên định viết lại, gộp vào topic hướng dẫn sử dụng Eclipse 1.Download Android SDK: Android SDK thực chất tập hợp công cụ thư viện để phát triển ứng dụng tảng hệ điều hành Android B1: Vào trang http://developer.android.com/sdk/index.html để tải Android SDK Starter Tùy thuộc vào hệ điều hành mà bạn chọn Mac, Linux hay Window Ở chọn tải cho Window B2: Giải nén file zip bạn vừa tải Chạy SDK Setup.exe Bạn gặp thơng báo lỗi Fetching https://dl-sl Failed to fetch Close thông báo lại Tiếp theo cửa sổ Choose Packages to Install xuất Nếu cửa sổ trống rỗng -> Cancel -> Quay cửa sổ Android SDK and AVD manager -> Chọn Setting, đánh dấu vào ô Force https:// -> Chọn Available Packages B3: Đánh dấu Packages bạn muốn tải: Documents phần Javadoc mơ tả hoạt động phương thức lớp (phần chắn thiếu rồi), Sample đoạn code mẫu, SDK Platform ứng với phiên hệ điều hành (2.2 - API level 8, 2.1 - API level 7, ), Google API để phát triển phần mềm liên quan đến dịch vụ Google (như Google Map bạn muốn lập trình liên quan đến GPS) Các bạn tải hết thích, muốn tối ưu đánh dấu (lưu ý USB drivers dành cho người sử dụng Windows muốn phát triển ứng dụng test điện thoại thật) -> Install Selected -> Install -> Cửa sổ Install -> Ngồi chờ (>_ Install new softwares Chọn Add, gõ vào ô Name tên bạn muốn Location gõ vào địa để tải ADT: HTML Code: https://dl-ssl.google.com/android/eclipse/ HTML Code: http://dl-ssl.google.com/android/eclipse/ https không hoạt động Ngồi bạn tải thẳng ADT máy theo link http://dl.google.com/android/ADT-0.9.7.zip (bản 0.9.7 ứng với Android 2.2), chọn Archive browse tới file (lưu ý không giải nén) -> OK -> Check vào phần Name (sẽ dòng Developer Tools) B3: Next, next, Accept, next, Finish (như Install chương trình bình thường) B4: Eclipse -> Windows -> Preferences -> Android Nhấn nút Browse chỉnh đường dẫn tới thư mục Android SDK bạn tải lúc trước -> Apply -> OK 3.Android Virtual Device (Emulator): AVD máy ảo cho developer phát triển ứng dụng Để tạo AVD bạn vào Windows -> Android SDK and AVD Manager -> Virtual Devices chọn New -> Cửa sổ Create new AVD ra, bạn điền thông tin cho AVD bạn muốn: Name: Tùy ý (nhưng sử dụng ký tự "a-z", "A-Z", ".-_", nghĩa khoảng trắng ko đc) Target: Chọn phiên hệ điều hành bạn muốn (thường tạo Android 1.6 Android 2.2 để test) SD Card: gõ vào Size SD card ảo cho AVD, chỉnh tới file có sẵn Nhiều AVD dùng chung Sdcard (chỉ cần tạo lần đầu, lần sau chỉnh đường dẫn tới file đó) Skin: để Default (HVGA) chọn kích cỡ hình bạn muốn Chỉ cần quan tâm tới option: HVGA (phân giải 320-480 G1, G2, i5700 ), QVGA (240-320 HTC Wildfire ), WVGA854 (480-854 Milestone, NexusOne ) -> Create AVD II.Một số chức cần biết lập trình Android với Eclipse: Những điều nêu bản, pro biết hết rồi, nói, dành cho newbie với hi vọng gia tăng kiến thức giảm thời gian tìm kiếm cho bạn 1.Debug cho ứng dụng Android: Nhiều người chuyển từ J2SE J2ME sang Android ngạc nhiên câu lệnh debug kinh điển System.out.println() khơng in cửa sổ Console Google thay Logcat, cửa sổ ghi lại toàn hoạt động hệ điều hành Để mở Logcat, trước tiên bạn chọn Window -> Open Perspective -> Debug Nếu ko thấy option Debug chọn Other tìm Debug cửa sổ Sau chọn tab Debug xuất góc bên phải Eclipse (xem hình) Theo kinh nghiệm tốt Maximize Logcat cho dễ quan sát Cảm nhận sử dụng Logcat rối khó dùng Nhưng sau quen thấy tiện Console nhiều, Console đưa thơng báo gọi, Logcat đưa ln thơng báo hệ điều hành, giúp nắm hệ điều hành làm gì, gọi đến gì, khởi chạy 2.File Explorer Android: File Explorer chức hữu ích Google đưa vào giúp quản lý file sd card file system data (chỉ quản lý emulator, truy nhập system data thiết bị thật) FE giúp bạn dễ dàng đưa file vào / lấy file sdcard ảo emulator, xóa sở liệu chương trình để khởi tạo lại (only emulator) Mở FE cách vào Window -> Show View -> Others -> Android -> File Explorer Mình để FE cửa sổ Debug cho tiện quản lý android:background="@android:drawable/editbox_backg round" android:layout_marginRight="10dip" android:layout_toRightOf="@id/TextView02" android:layout_alignBottom="@id/TextView02"> result.xml PHP Code: Ví dụ Trình xử lý SAX import org.developerworks.android.BaseFeedParser.*; static public class RssHandler extends DefaultHandler{ private List messages; private Message currentMessage; private StringBuilder builder; public List getMessages(){ return this.messages; } @Override public void characters(char[] ch, int start, int length) throws SAXException { super.characters(ch, start, length); builder.append(ch, start, length); } @Override public void endElement(String uri, String localName, String name) throws SAXException { super.endElement(uri, localName, name); if (this.currentMessage != null){ if (localName.equalsIgnoreCase(TITLE)){ currentMessage.setTitle(builder.toString()); } else (localName.equalsIgnoreCase(LINK)){ currentMessage.setLink(builder.toString()); } else if if (localName.equalsIgnoreCase(DESCRIPTION)){ currentMessage.setDescription(builder.toString()); } else (localName.equalsIgnoreCase(PUB_DATE)){ currentMessage.setDate(builder.toString()); } else (localName.equalsIgnoreCase(ITEM)){ messages.add(currentMessage); } builder.setLength(0); } } if if @Override public void startDocument() throws SAXException { super.startDocument(); messages = new ArrayList(); builder = new StringBuilder(); } @Override public void startElement(String uri, String localName, String name, Attributes attributes) throws SAXException { super.startElement(uri, localName, name, attributes); if (localName.equalsIgnoreCase(ITEM)){ this.currentMessage = new Message(); } } } Lớp RssHandler mở rộng lớp org.xml.sax.helpers.DefaultHandler Lớp cung cấp thực thi mặc định, không thao tác cho tất phương thức tương tự kiện tạo trình phân tích SAX Điều cho phép lớp ghi chèn lên phương thức cần thiết RssHandler có API bổ sung, getMessages Cái trả danh sách đối tượng Message mà trình xử lý thu thập nhận kiện từ trình phân tích SAX Nó có hai biến khác, currentMessage cho thể Message phân tích, biến StringBuilder gọi builder lưu trữ liệu ký tự từ nút văn Các biến bắt đầu phương thức startDocument dẫn trình phân tích gửi kiện tương ứng cho trình xử lý Hãy xem phương thức startElement Ví dụ Phương thức gọi bắt gặp thẻ mở tài liệu XML Bạn cần quan tâm thẻ thẻ ITEM Trong trường hợp đó, bạn tạo Message Bây nhìn vào phương thức characters Phương thức gọi bắt gặp liệu ký tự từ nút văn Dữ liệu dễ dàng thêm vào biến builder Cuối xem phương thức endElement Phương thức gọi bắt gặp thẻ kết thúc Đối với thẻ tương ứng với đặc tính Message, giống TITLE LINK, đặc tính thích hợp thiết đặt currentMessage sử dụng liệu từ biến builder Nếu thẻ kết thúc ITEM, currentMessage thêm vào danh sách Messages Đây phân tích SAX điển hình; khơng có Android Vì bạn biết cách viết trình phân tích SAX Java, bạn biết cách viết trình phân tích SAX Android Tuy nhiên, Android SDK có bổ sung thêm số tính thuận tiện vào SAX Phân tích SAX dễ dàng Android SDK có chứa lớp tiện ích gọi android.util.Xml Ví dụ trình bày cách cài đặt trình phân tích SAX với lớp tiện ích Ví dụ Trình phân tích SAX Android public class BaseFeedParser { AndroidSaxFeedParser extends public AndroidSaxFeedParser(String feedUrl) { super(feedUrl); } public List parse() { RssHandler handler = new RssHandler(); try { Xml.parse(this.getInputStream(), Xml.Encoding.UTF_8, handler); } catch (Exception e) { throw new RuntimeException(e); } return handler.getMessages(); } } Lưu ý lớp sử dụng trình xử lý SAX chuẩn, đơn giản bạn sử dụng lại RssHandler Ví dụ Việc sử dụng lại trình xử lý SAX tốt, có đơi chút phức tạp mã trình Bạn có tưởng tượng, bạn phải phân tích tài liệu XML phức tạp nhiều, trình phân tích trở thành mảnh đất màu mỡ cho lỗi Ví dụ, xem lại phương thức endElement Ví dụ Lưu ý cách phương thức kiểm tra currentMessage có giá trị khơng trước cố cài đặt thuộc tính? Bây nhìn vào XML mẫu Ví dụ Lưu ý có thẻ TITLE LINK nằm ngồi thẻ ITEM Đó lý kiểm tra giá trị khơng đưa vào Nếu khơng thẻ TITLE gây NullPointerException Android bao gồm biến thể SAX API (xem Ví dụ 8) loại bỏ yêu cầu bạn phải viết trình xử lý SAX bạn Ví dụ Trình phân tích SAX Android đơn giản public class BaseFeedParser { AndroidSaxFeedParser extends public AndroidSaxFeedParser(String feedUrl) { super(feedUrl); } public List parse() { final Message currentMessage = new Message(); RootElement root = new RootElement("rss"); final List messages = new ArrayList(); Element channel = root.getChild("channel"); Element item = channel.getChild(ITEM); item.setEndElementListener(new EndElementListener(){ public void end() { messages.add(currentMessage.copy()); } }); item.getChild(TITLE).setEndTextElementListener(new EndTextElementListener(){ public void end(String body) { currentMessage.setTitle(body); } }); item.getChild(LINK).setEndTextElementListener(new EndTextElementListener(){ public void end(String body) { currentMessage.setLink(body); } }); item.getChild(DESCRIPTION).setEndTextElementListener(ne w EndTextElementListener(){ public void end(String body) { currentMessage.setDescription(body); } }); item.getChild(PUB_DATE).setEndTextElementListener(new EndTextElementListener(){ public void end(String body) { currentMessage.setDate(body); } }); try { Xml.parse(this.getInputStream(), Xml.Encoding.UTF_8, root.getContentHandler()); } catch (Exception e) { throw new RuntimeException(e); } return messages; } } Như hứa, mã phân tích SAX khơng sử dụng trình xử lý SAX Thay vào sử dụng lớp từ gói android.sax SDK Các lớp cho phép bạn mơ hình hóa cấu trúc tài liệu XML bạn thêm trình nghe kiện cần Trong mã trình trên, bạn khai báo tài liệu bạn có phần tử gốc có tên rss phần tử có ba phần tử channel Tiếp đến bạn nói channel có ba phần tử gọi ITEM bạn bắt đầu gắn trình nghe Đối với trình nghe, bạn sử dụng lớp bên vô danh thực giao diện bạn quan tâm (hoặc EndElementListner EndTextElementListener) Chú ý không cần phải theo dõi liệu ký tự Việc không đơn giản mà thực hiệu Cuối cùng, bạn gọi dẫn phương thức tiện ích Xml.parse, bạn đưa vào trình xử lý tạo từ phần tử gốc Tồn mã trình Ví dụ thuộc loại tùy chọn Nếu bạn thấy thoải mái với mã trình phân tích SAX chuẩn mơi trường Java, bạn tích vào Nếu bạn muốn thử trình bao bọc tiện lợi Android SDK cung cấp, bạn sử dụng Nếu bạn khơng muốn sử dụng SAX đây? Vẫn có vài lựa chon khác Lựa chọn bạn thấy DOM Làm việc DOM DOM phân tích Android hỗ trợ hồn tồn Nó làm việc xác làm việc mã trình Java mà bạn chạy máy tính để bàn máy chủ Ví dụ trình bày thực thi dựa DOM giao diện trình phân tích Ví dụ Thực thi dựa DOM trình phân tích điểm tin public class DomFeedParser extends BaseFeedParser { protected DomFeedParser(String feedUrl) { super(feedUrl); } public List parse() { DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); List messages = new ArrayList(); try { DocumentBuilder builder = factory.newDocumentBuilder(); Document dom = builder.parse(this.getInputStream()); Element root = dom.getDocumentElement(); NodeList items = root.getElementsByTagName(ITEM); for (int i=0;i

Ngày đăng: 10/05/2018, 08:58

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan