5.2.1 Giới thiệu
SQLite là một hệ quản trị cơ sở dữ liệu có thể chạy hoàn toàn độc lập mà không cần đến server. SQLite thường được người lập trình sử dụng để lưu trữ cơ sở dữ liệu khi viết ứng dụng cho các thiết bị của Apple. Các lệnh truy vấn trên SQLite sử dụng các lệnh truy vấn của SQL (ví dụ SELECT, UPDATE, CREATE...). Việc quản lý SQLite rất đơn giản, chúng ta chỉ cần quản lý thông qua một plugin của FireFox là SQLite Manager.
5.2.2 Cài đặt Sqlite Manager cho Firefox
Để cài đặt plugin quản lý SQLite cho Firefox, chúng ta vào phần Addon của trình duyệt Firefox và tìm plugin SQLite Manager rồi Add to Firefox.
Hình 5.7: Addon của SQLite
5.2.3 Cấu hình ứng dụng để tương tác với Sqlite
Để ứng dụng có thể thao tác với cơ sở dữ liệu của SQLite, bạn cần bổ sung thêm thưviện hỗ trợ vào project. Trong phần Build Phase, mục Link to Library, bạn thêm vào thư viện
libsqlite3.dylib vào project.
5.2.4 Các hàm trong Sqlite
Trong SQLite có một số hàm cơ bản cho phép bạn tương tác dễ dàng với cơ sở dữ liệu. • sqlite3_open(): Mở một kết nối đến tập tin sqlite. Nếu tập tin này chưa có, hệ
thống sẽ tự động tạo ra.
• sqlite3_close(): Đóng kết nối đến sqlite.
• sqlite3_prepare_v2(): Khởi tạo câu lệnh truy vấn SQL để thực thi.
• sqlite3_step(): Thực thi lệnh truy vấn được tạo bởi hàm sqlite3_prepare_v2(). • sqlite3_column_<type>(): Trả về kết quả dữ liệu từ câu truy vấn SQL, với kiểu
dữ liệu được khai báo trong <type> (thường là text, bytes, int, int16).
• sqlite3_finallize(): Xoá câu lệnh truy vấn SQL được khởi tạo bởi hàm sqlite3_prepare_v2() trong bộ nhớ.
CHƯƠNG 6: XÂY DỰNG PHẦN MỀM XEM THÔNG TIN THỜI TIẾT
Qua các nội dung ở các chương trước, chắc hẳn chúng ta đã nắm được cách thức để xây dựng một ứng dụng, cũng như hiểu và sử dụng được một số đối tượng trong Xcode vào thiết kế và xây dựng ứng dụng trên iPhone. Tuy nhiên để bổ sung, củng cố lại kiến thức cũng như giúp chúng ta có thể tự làm được một ứng dụng hoàn chỉnh từ cơ bản đến nâng cao, nhóm tác giả sẽ giới thiệu đến bạn quá trình thiết kế và xây dựng ứng dụng hoàn chỉnh dựa trên các đối tượng trong Xcode.
6.1 Ứng dụng xem thông tin thời tiết6.1.1 Giới Thiệu 6.1.1 Giới Thiệu
Ứng dụng xem thông tin thời tiết là phần mềm giúp người dùng có thể kiểm tra nhiệt độ hiện tại của nơi/vùng mình đang ở. Ngoài ra còn có thể biết thêm những thông tin hữu ích về thời tiết trên cả nước.
6.1.2 Chuẩn Bị
• Ứng dụng sẽ được viết trên phiên bản XCode 4 (Xcode 4.6.3) hoặc Xcode 5 (với điều kiện đưa về dạng hỗ trợ xây dựng ứng dụng chạy cho các phiên bản iOS cũ, nội dung này sẽ được trình bày sau).
• Một số hình ảnh sử dụng cho phần mềm (xem folder source đính kèm). • Cơ sở dữ liệu (xem trong folder source).
6.1.3 Cấu trúc phần mềm
Ứng dụng thời tiết gồm 3 phần: cơ sở dữ liệu về các địa điểm của Việt Nam được lưu trữ bằng SQLite, giao diện hiển thị dữ liệu (sử dụng các đối tượng trong Xcode) và lấy thông tin thời tiết tại website: www.thoitiet.net và ww.vietnamese.wunderground.com
Cơ sở dữ liệu của ứng dụng được cập nhật liên tục mỗi khi ứng dụng được kích hoạt. Cơ sở dữ liệu này sẽ được lưu trữ thông qua hệ quản trị cơ sở dữ liệu SQLite. Với việc sử
dụng SQLite, cơ sở dữ liệu sẽ dễ dàng truy cập bằng các câu lệnh truy vấn của SQL như SELECT, CREATE, UPDATE ... Việc quản lý SQLite dễ dàng và đơn giản thông qua plugin SQLite Manager của Firefox và có thể chạy hoàn toàn độc lập mà không cần đến server.
Giao diện hiển thị dữ liệu được trình bày một cách khoa học và dễ nhìn, sử dụng các đối tượng của Xcode như Button, Label, Text Field, View Controller ... để tương tác dữ liệu do người dùng điều chỉnh, đồng thời hiển thị dữ liệu đã được truy xuất từ SQLite. Xử lý thông tin thời tiết trên website sử dụng một trang web php chạy localhost (giả lập trên máy ảo) để xử lý, mô tả các tác vụ của dịch vụ web.
6.1.4 Cơ chế vận hành
Phần mềm tự động cập nhật cơ sở dữ liệu theo 2 cơ chế:
• Cơ chế thứ nhất là cập nhập bằng tay, khi chương trình được chạy, sẽ tạo ra các câu lệnh truy vấn SQL và gửi đến SQLite để truy xuất dữ liệu và hiển thị kết quả ra màn hình.
• Cơ chế thứ 2 là phần mềm tự động cập nhật trong một khoảng thời gian nào đó nhất định (ví dụ 5 phút), ứng dụng sẽ gửi một câu lệnh truy vấn yêu cầu web service cập nhật thông tin tức thì và trả về một mảng dữ liệu kết quả. Chương trình sẽ xử lý dữ liệu đó, lưu vào cơ sở dữ liệu SQLite và hiện kết quả ra màn hình.
Hình 6.1: Thông tin về ứng dụng xem thời tiết Sơ đồ 6.1: Mô hình truy xuất dữ liệu
6.1.5 Tính Năng
Ứng dụng thời tiết cho người dùng có thể kiểm tra thông tin nhiệt độ, thời tiết của địa điểm hiện tại. Ngoài ra phần mềm cũng hỗ trợ người dùng sử dụng apple map để tra cứu bản đồ của vùng chúng ta đang ở.
Giao diện chính của ứng dụng gồm: vị trí hiện tại, thời gian cập nhật, thời tiết, nhiệt độ tại thời điểm hiện tại, thời gian mặt trời mọc, thời gian mặt trời lặn, thời điểm mặt trăng tròn, khuyết.
Thông tin thời tiết được lấy từ trang web: http://www.wunderground.com
Hình 6.2: Thông tin thời tiết trên wunderground.com
Chức năng của ứng dụng:
• Tự động cập nhật thông tin: theo thời gian, có thể cài đặt thời gian theo ý muốn. • Tùy chọn hiển thị theo độ C hay độ F
CHƯƠNG 7: TỔNG KẾT
7.1 Kết quả đạt được
Sau thời gian nghiên cứu đề tài “ Tìm hiểu lập trình trên IOS và làm ứng dụng demo” thì nhóm đã đạt được một số kết quả sau:
• Tìm hiểu được cách thức xây dựng chương trình trên nền tảng IOS bằng ngôn ngữ lập trình Objective-C như:
− Công cụ hổ trợ trong lập trình: Xcode và chương trình giả lập Simulator − Cách thức xây dựng mô hình MVC (Model-View-Control) trong Objective − Tìm hiểu được ngôn ngữ Objective-C
• Xây dựng được ứng dụng “Xem thông tin thời tiết” trên Iphone. − Xem được thông tin thời tiết trên Iphone được cập nhật liên tục. − Tích hợp bản đồ trong ứng dụng
− Giao diện dễ sử dụng
− Ngôn ngữ là Tiếng Việt phù hợp với người sử dụng Việt Nam
7.2 Hướng phát triển ứng dụng
Trong tương lai thì ứng dụng cần phát triền thêm một số chức năng: • Đa dạng hoá thông tin từ nhiều nguồn khác nhau (hiện tại 1 nguồn) • Ứng dụng trên ipad, ipod không riêng iphone
• Hỗ trợ nhiều ngôn ngữ. Hiện tại chỉ hổ trợ ngôn ngữ Tiếng Việt. • Giao diện đa nhiệm, bắt mắt hơn
PHỤ LỤC Tài liệu tham khảo tiếng anh
• Apress, Learn Objective-C on the Mac For OS X and iOS 2nd.
• Aaron Hillegass , Objective-C Programming: The Big Nerd Ranch Guide. • Apress, iPhone and iPad Apps for Absolute Beginners 3rd.
• O’Reilly , Head First iPhone & iPad Development.
• O’Reilly , iPhone App Development: The missing manual.
• Neal Goldstein & Dave Wilson, iOS 6 Application Development For Dummies. • Neal Goldstein , iPhone Application Development For Dummies.
Video tham khảo
• http://www.youtube.com/user/MilmersXcode • http://www.youtube.com/playlist?list=PLA138EFCAFA592E7E • http://www.youtube.com/user/ChupaMobile • http://www.youtube.com/user/CarnegieMellonU?feature=watch • http://www.youtube.com/user/CodeWithChris • http://www.youtube.com/user/iThanhVN • https://itunes.apple.com/vn/course/developing-ios-7-apps-for/id733644550
Website tham khảo
• http://geekylemon.com/ • http://www.appcoda.com/tutorials/ • https://www.udemy.com/blog/how-to-build-an-iphone-app-from-scratch-fornon- technical-people/ • http://www.idev101.com/learn/ • http://www.mobioneer.com/6-iphone-app-development-tutorial.html/ • http://nhatnghe.com/forum/forumdisplay.php?f=154 • http://codewithchris.com/ • http://www.chupamobile.com/tutorial-ios