Đồ án Phần mềm thông tin chứng khoán trên nền Android (Client)

Trong những năm gần đây,cùng với sự phát triển mạnh mẽ,sự hội nhập nhanh chóng của nền kinh tế Việt Nam là sự phát triển vượt bậc của thị trường chứng khoán trong nước.Thị trường chứng khoán Việt Nam ngày càng phát triển và lớn mạnh,là môi trường đầu tư hấp dẫn đối với những người có vốn nhàn rỗi,những người kinh doanh chứng khoán.Nhu cầu cập nhật thông tin chứng khoán mọi lúc mọi nơi ngày càng trở thành một nhu cầu thiết yếu của nhiều người. Bên cạnh đó,điện thoại di động ngày càng phổ biến,gần như là vật bất ly thân,đặc biệt là ngày càng xuất hiện nhiều hệ điều hành dành cho di động với nhiều chức năng và cải tiến.Trong đó,nổi bật lên là hệ điều hành Android do Google phát triển,Android tuy là nền tảng mới ra đời, nhưng số lượng người sử dụng điện thoại chạy hệ điều hành Android ngày càng trở nên đông đúc. Nhận thấy số lượng phần mềm về chứng khoán trên Android còn chưa nhiều,đặc biệt là về chứng khoán trong nước,việc ra đời một phần mềm thông tin chứng khoán giúp người sử dụng cập nhật thông tin chứng khoán mọi lúc mọi nơi,theo dõi các tin tức chứng khoán một cách thuận tiện và nhanh chóng là hoàn toàn khả thi.Chương trình sẽ hoạt động trên các máy chạy Android như một client,các thông tin sẽ được gửi truy vấn đến server để lấy về,thông tin sẽ luôn được server tự động cập nhật. Phạm vi của khóa luận chỉ tập trung vào phần client,xây dựng chương trình với chức năng chính cho phép người sử dụng tìm kiếm,theo dõi,cập nhật thông tin về các mã cổ phiếu mà người dùng quan tâm,theo dõi các tin tức về thị trường chứng khóan trong nước,ở các sàn giao dịch lớn như hose,upcom, Khóa luận gồm các nội dung như sau: Chương 1. Mở đầu: giới thiệu đề tài khóa luận,ý nghĩa và tính khả thi của đề tài. Chương 2. Lập trình ứng dụng trên nền Android: trình bày các kiến thức cơ bản về Androi và cách xây dựng 1 ứng dụng trên Android. Chương 3. Vẽ đồ thị trên ứng dụng Android: trình bày kiến thức và các tài liệu về vẽ biểu đồ trên hệ điều hành Android. Chương 4. Web service và giao tiếp client-server: trình bày kiến thức cách xây dựng một web service đơn giản sử dụng dữ liệu từ cơ sở dữ liệu SQL và cách thức giao tiếp giữa client và server. Chương 5. Xây dựng và triển khai ứng dụng: trình bày các vấn đề liên quan đến xây dựng và triển khai ứng dụng,một số kết quả đạt được khi chạy thử ứng dụng. Chương 6. Tổng kết: trình bày kết quả đạt được,hướng mở rộng phát triển chương trình.

doc54 trang | Chia sẻ: ngtr9097 | Lượt xem: 3404 | Lượt tải: 2download
Bạn đang xem trước 20 trang tài liệu Đồ án Phần mềm thông tin chứng khoán trên nền Android (Client), để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Đặng Thanh Tùng Phần mềm thông tin chứng khoán trên nền Android(Client) KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Công nghệ thông tin Hà Nội – 2011 HÀ NỘI - 20 (chữ hoa, 12pt, đậm, căn giữa) ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Đặng Thanh Tùng Phần mềm thông tin chứng khoán trên nền Android(Client) KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Công nghệ thông tin Cán bộ hướng dẫn: TS. Trần Thị Minh Châu Hà Nội - 2011 HÀ NỘI - 20 (chữ hoa, 12pt, đậm, căn giữa) Tóm tắt nội dung Phần mềm thông tin chứng khoán trên nền Android: cung cấp thông tin chứng khoán theo các mã cổ phiếu trên các sàn giao dịch lớn của Việt Nam,theo dõi các tin tức mới nhất về tình hình thị trường chứng khoán trong nước,hỗ trợ người dùng với phần mềm trên điện thoại di động.Hệ thống gồm 2 phần: phần client và phần server. Phần client là ứng dụng cài đặt trên điện thoại di động sử dụng hệ điều hành Android,hỗ trợ người sử dụng hệ thống thuận tiện hơn,theo dõi được thông tin mọi lúc mọi nơi.Client được sử dụng để tìm,theo dõi,cập nhật thông tin về các mã cổ phiếu người dùng quan tâm,theo dõi các tin tức về thị trường chứng khoán trong nước. Phần server thực hiện xử lý truy vấn: Phạm vi khóa luận tập trung phát triển phần client. Lời cam đoan Em xin cam đoan tất cả nội dung của khóa luận này là phần nghiên cứu và thể hiện của riêng cá nhân mình,không sao chép tài liệu,công trình nghiên cứu của người khác,nếu sai em xin chịu hoàn toàn trách nhiệm và chịu mọi kỷ luật của khoa và nhà trường đề ra. Hà Nội,ngày 11 tháng 05 năm 2011 Sinh viên Đặng Thanh Tùng Lời cám ơn Em xin chân thành cám ơn cô giáo hướng dẫn TS. Trần Thị Minh Châu,người đã trực tiếp hướng dẫn,giúp đỡ và dẫn dắt tận tình trong suốt quá trình em thực hiện khóa luận. Em xin gửi lời cám ơn tới thầy giáo TS. Lê Sỹ Vinh đã giúp em có nhiều gợi ý,ý tưởng và tài liệu trong quá trình thực hiện khóa luận. Em cũng xin gửi lời cám ơn tới các thầy,cô giáo trong trường Đại Học Công Nghệ,đặc biết là các thầy cô trong khoa Công Nghệ Thông Tin,đã truyền đạt cho em những kiến thức,kinh nghiệm quý báu trong suốt những năm học vừa qua. Do thời gian hoàn thành khóa luận có hạn cho nên những suy nghĩ cũng như sự thể hiện ý đồ không tránh khỏi có những khiếm khuyết.Em rất mong được sự động viên và góp ý kiến của các thầy cô giáo. Sinh viên Đặng Thanh Tùng Mục lục Danh sách bảng biểu STT Tên bảng biểu Trang Bảng 1 hose – lưu trữ thông tin sàn hose 22 Bảng 2 company_list – lưu trữ thông tin các công ty 23 Bảng 3 Các thành phần trong biểu đồ tuần tự 33 Danh sách hình ảnh STT Tên hình ảnh Trang Hình 1 Cấu trúc tổng quát của Android 6 Hình 2 Chu trình sống của 1 activity 10 Hình 3 Hai loại biểu đồ cột AchartEngine 12 Hình 4 Hai loại biểu đồ đường thẳng AchartEngine 13 Hình 5 Biểu đồ cột và đường thẳng GraphView 13 Hình 6 Biểu đồ cột aiCharts 14 Hình 7 Biểu đồ Flot 15 Hình 8 Biểu đồ droidchart 16 Hình 9 Cấu trúc một thông điệp SOAP 19 Hình 10 Mô hình hoạt động của web service 20 Hình 11 Mô hình dữ liệu tổng thể CSDL stock 21 Hình 12 DSN stock của cơ sở dữ liệu SQL 25 Hình 13 Khởi tạo 1 Soap object 27 Hình 14 Thiết lập tham số 27 Hình 15 Thiết lập Soap Envelope và gửi tới web service server 27 Hình 16 Kết quả từ server trả về 28 Hình 17 Mô hình hệ thống của chương trình 30 Hình 18 Thiết kế tổng quan server 31 Hình 19 Thiết kế tổng quan client 32 Hình 20 Biểu đồ tuần tự ca sử dụng xem thông tin mã cổ phiếu 34 Hình 21 Biểu đồ tuần tự ca sử dụng xóa 1 mã cổ phiếu khỏi danh sách 35 Hình 22 Biểu đồ tuần tự ca sử dụng vẽ biểu đồ cho mã cổ phiếu 35 Hình 23 Biểu đồ tuần tự ca sử dụng cập nhật thông tin mã cổ phiếu 36 Hình 24 Biểu đồ tuần tự ca sử dụng xóa toàn bộ mã cổ phiếu 36 Hình 25 Biểu đồ tuần tự ca sử dụng tìm kiếm mã cổ phiếu 37 Hình 26 Biểu đồ tuần tự ca sử dụng thêm mã cổ phiếu vào danh sách 38 Hình 27 Biểu đồ tuần tự ca sử dụng xem tin tức 38 Hình 28 Chức năng gợi ý mã cổ phiếu của chương trình 40 Hình 29 Hộp thoại nhắc nhở với mã cổ phiếu không hợp lệ 41 Hình 30 Chức năng cập nhật thông tin của chương trình 41 Hình 31 Chức năng theo dõi tin tức của chương trình 42 Hình 32 Chức năng vẽ biểu đồ của chương trình 43 Bảng các chữ cái viết tắt SQL Structured Query Language SDK Software Development Kit API Application Programming Interface GSM Global System for Mobile IDE Integrated Development Environment JDK Java Development Kit SOAP Simple Object Access Protocol XML eXtensible Markup Language WSDL Web Service Description Language UDDI Universal Description,Discovery,and Integration SDL Service Description Language ODBC Open Database Connectivity DSN Data Source Name EJB Enterprice java bean JSP Java Server Pages Chương 1: Mở đầu Trong những năm gần đây,cùng với sự phát triển mạnh mẽ,sự hội nhập nhanh chóng của nền kinh tế Việt Nam là sự phát triển vượt bậc của thị trường chứng khoán trong nước.Thị trường chứng khoán Việt Nam ngày càng phát triển và lớn mạnh,là môi trường đầu tư hấp dẫn đối với những người có vốn nhàn rỗi,những người kinh doanh chứng khoán.Nhu cầu cập nhật thông tin chứng khoán mọi lúc mọi nơi ngày càng trở thành một nhu cầu thiết yếu của nhiều người. Bên cạnh đó,điện thoại di động ngày càng phổ biến,gần như là vật bất ly thân,đặc biệt là ngày càng xuất hiện nhiều hệ điều hành dành cho di động với nhiều chức năng và cải tiến.Trong đó,nổi bật lên là hệ điều hành Android do Google phát triển,Android tuy là nền tảng mới ra đời, nhưng số lượng người sử dụng điện thoại chạy hệ điều hành Android ngày càng trở nên đông đúc. Nhận thấy số lượng phần mềm về chứng khoán trên Android còn chưa nhiều,đặc biệt là về chứng khoán trong nước,việc ra đời một phần mềm thông tin chứng khoán giúp người sử dụng cập nhật thông tin chứng khoán mọi lúc mọi nơi,theo dõi các tin tức chứng khoán một cách thuận tiện và nhanh chóng là hoàn toàn khả thi.Chương trình sẽ hoạt động trên các máy chạy Android như một client,các thông tin sẽ được gửi truy vấn đến server để lấy về,thông tin sẽ luôn được server tự động cập nhật. Phạm vi của khóa luận chỉ tập trung vào phần client,xây dựng chương trình với chức năng chính cho phép người sử dụng tìm kiếm,theo dõi,cập nhật thông tin về các mã cổ phiếu mà người dùng quan tâm,theo dõi các tin tức về thị trường chứng khóan trong nước,ở các sàn giao dịch lớn như hose,upcom,… Khóa luận gồm các nội dung như sau: Chương 1. Mở đầu: giới thiệu đề tài khóa luận,ý nghĩa và tính khả thi của đề tài. Chương 2. Lập trình ứng dụng trên nền Android: trình bày các kiến thức cơ bản về Androi và cách xây dựng 1 ứng dụng trên Android. Chương 3. Vẽ đồ thị trên ứng dụng Android: trình bày kiến thức và các tài liệu về vẽ biểu đồ trên hệ điều hành Android. Chương 4. Web service và giao tiếp client-server: trình bày kiến thức cách xây dựng một web service đơn giản sử dụng dữ liệu từ cơ sở dữ liệu SQL và cách thức giao tiếp giữa client và server. Chương 5. Xây dựng và triển khai ứng dụng: trình bày các vấn đề liên quan đến xây dựng và triển khai ứng dụng,một số kết quả đạt được khi chạy thử ứng dụng. Chương 6. Tổng kết: trình bày kết quả đạt được,hướng mở rộng phát triển chương trình. Chương 2: Lập trình ứng dụng trên nền Android Chương này giới thiệu một cách sơ lược về hệ điều hành Android,các thành phần cấu tạo,cấu trúc tổng quát của Androi và các thành phần cơ bản của một ứng dụng được xây dựng trên nền Android.Nắm được một số hiểu biết nhất định về hệ điều hành Android và định hình được hướng phát triển một ứng dụng Android trong quá trình thực hiện khóa luận. 2.1 Android là gì ? Android là tên một nền tảng mở cho thiết bị di động của Google dựa trên kernel Linux 2.6,gồm hệ điều hành,những phần mềm trung gian(middleware) và một số ứng dụng cơ bản mà người sử dụng cần đến.Bộ công cụ phát triển phần mềm Android SDK cung cấp các công cụ và các giao diện lập trình ứng dụng API cần thiết để xây dựng và phát triển các ứng dụng trên nền Android bằng ngôn ngữ lập trình Java.Androi là một tổ hợp với 3 thành phần cơ bản: Hệ điều hành mã nguồn mở và hoàn toàn miễn phí cho thiết bị di động. Nền tảng phát triền mã nguồn mở cho việc tạo ra các ứng dụng trên thiết bị di động Android. Các thiết bị,cụ thể là thiết bị di động chạy hệ điều hành Android và các ứng dụng của nó. Cụ thể hơn,hệ điều hành Android được tạo nên từ một số thành phần cần thiết và liên quan đến nhau: Phần cứng được thiết kế riêng cho các thiết bị di động cùng với các phần mềm của nó. Nhân của hệ điều hành dựa trên kernel Linux cung cấp giao diện lập trình mức thấp cùng với các tính năng cốt lõi quản lý bảo mật,quản lý tiến trình,quản lý bộ nhớ,các trình điều khiển phần cứng…đã được tối ưu hóa cho thiết bị di động. Thư viện nguồn mở cho việc phát triển ứng dụng,bao gồm SQLite,Webkit,OpenGL Mỗi tiến trình được dùng để chạy một ứng dụng Android,bao gồm máy ảo Dalvik và các thư viện lõi cung cấp chức năng cụ thể.Các tiến trình được thiết kế để chạy hiệu quả trên các thiết bị di động. Bộ công cụ phát triển phần mềm được dùng để tạo ra các ứng dụng,bao gồm các công cụ,tài liệu,các plug-in.. Một số đặc trưng của Android SDK: Hỗ trợ Wifi,EDGE,3G,Bluetooth(phụ thuộc thiết bị phần cứng). Công nghê GSM – GSM Telephony (phụ thuộc nền tảng phần cứng). Tích hợp trình duyệt web,cung cấp mã nguồn mở bộ phát triển trình duyệt web HTML5 WebKit. Tăng tốc đồ họa,cung cấp các thư viện đồ họa 2D,3D sử dụng OpenGL ES 2.0. Nền tảng ứng dụng giúp sử dụng lại hoặc thay thế các thành phần của ứng dụng tích hợp sẵn trong thiết bị. Cấu trúc dữ liệu lưu trữ SQLite. Sử dụng các widget,thư mục,hình ảnh để tùy chỉnh giao diện màn hình chủ. Kho lưu trữ các dữ liệu dùng để chia sẻ giữa các ứng dụng. Hỗ trợ Camera,GPS,compass,accelerometer(phụ thuộc thiết bị phần cứng). Hỗ trợ đa phương tiện: hỗ trợ phần lớn các định dạng âm thanh,hình ảnh,video phổ biến như MP3,AAC,JPG,PNG,MPEG4,H.264. Ngoài một số những đặc tính trên,có một số đặc trưng mà chỉ có Android mới có như: Ứng dụng Google Map: Google Map trên điện thoại di động đã trở nên rất phổ biến,Android đã tích hợp Google Map như một thành phần ứng dụng cho phép người sử dụng dễ dàng trên điện thoại. Tất cả các ứng dụng được tạo ra đều ngang hàng,có vị trí như nhau,Android không phân biệt giữa các ứng dụng được phát triển bởi chính Google và các bên thứ ba.Điều này mang lại cho người dùng khả năng thay đổi giao diện thiết bị một cách mạnh mẽ bằng cách các ứng dụng của bên thứ ba mà chưa từng có một hệ điều hành nào làm được trước đây. Các widget giao diện màn hình chủ,các thư mục,hình nền,ô tìm kiếm nhanh. Giao tiếp chia sẽ dữ liệu và liên tiến trình: bằng cách sử dụng Intent và Content Providers,Android cho phép các ứng dụng trao đổi thông tin,chia sẻ dữ liệu,thực thi các tiến trình.Để giảm bớt rủi ro một cách hiệu quả,mỗi tiến trình ứng dụng,dữ liệu lưu trữ đều được để private ngoại trừ những dữ liệu chia sẻ với các ứng dụng khác. Cấu trúc của Google Android: Hình 1.Cấu trúc tổng quát của Android. Có 5 tầng cơ bản trong hệ điều hành Android: Application Framework,Android Runtime,Native Libraries,Linux Kernel..mỗi tầng làm việc đều nhờ sự giúp đỡ của tầng dưới. Tầng Application: bao gồm tất cả các ứng dụng có trong thiết bị chạy Android như: phone,contact,game,browser,… và một số ứng dụng chạy ngầm.Người dùng có quyền gỡ bỏ hay cài đặt các ứng dụng tùy thích ở tầng này. Tầng Application Framework: tầng Google xây dựng cho các nhà phát triển xây dựng ứng dụng của họ trên Android,bằng cách gọi các API có sẵn mà Google đã viết để sử dụng các tính năng của phần cứng mà không cần hiểu cấu trúc bên dưới. Tầng Native Libraries: bao gồm một số các thư viện C/C++ được sử dụng bởi các thành phần khác nhau của hệ thống Android,một số thư viện cơ bản như: System C Library,SQLite, Media Libraries,3D Libraries,… Tầng Runtime: mỗi ứng dụng Android chạy trên một tiến trình riêng của máy ảo Dalvik(vitural machine).Dalvik được viết để chạy nhiều máy ảo cùng lúc mộ cách hiệu quả trên thiết bị di động. Tầng Linux Kernel: đây là nhân của hệ điều hành Android,mọi xử lý hệ thống đều phải thông qua tầng này.Linux Kernel cung cấp các trình điều khiển thiết bị phần cứng như: camera,USB,bluetooth…Kernel hoạt động như một lớp trừu tượng giữa phần cứng và phần mềm còn lại của hệ thống. 2.2 Lập trình ứng dụng Android: Để lập trình ứng dụng Android cần phải có bộ Android SDK và JDK 5 hoặc 6,ngoài ra phải phải có một IDE như Eclipse,Netbeans,…Khóa luận sử dụng Eclipse để phát triển ứng dụng do đây là IDE phổ biến với nhiều tính năng hỗ trợ lập trình Android. 2.2.1 Các thành phần cơ bản của 1 ứng dụng Android: Một ứng dụng Android được xây dựng từ các thành phần cơ bản sau: Activities: một activity đại diện cho 1 giao diện người dùng trực quan,ở đó người dùng có thể thực hiện những gì họ muốn.Ví dụ một chương trình SMS có thể bao gồm các activity như 1 activity thể hiện list các số liên lạc,1 activity thể hiện một trang dùng để viết tin nhắn và gửi đi,…Mặc dù tập hợp các activity lại mới tạo nên một ứng dụng giao diện cho người sử dụng nhưng mỗi activity vẫn hoạt động độc lập với những cái còn lại.Thông thường có 1 activity được đánh dấu là activity đầu tiên và được gọi đầu tiên khi ứng dụng được khởi chạy.Mỗi activity có một cửa sổ làm việc để sử dụng,thường mỗi cửa sổ này lấp đầy màn hình,những nội dung trực quan ở mỗi cửa sổ được cung cấp bởi một hệ thống các view như:button,textfield,textview,radio button,checkbox,menu item,… Services: không có giao diện trực quan nhưng nó có thể chạy ngầm định trên thiết bị và không bị giới hạn thời gian hoạt động.Ví dụ 1 service giúp thiết bị chơi nhạc trong khi người sử dụng làm công việc khác. Broadcast receivers: các bộ thu phát là thành phần nhận và tương tác với các thông báo được đưa ra.Ví dụ như thông báo pin yếu,thông báo người dùng vừa đổi ngôn ngữ hiển thị.Các bộ thu phát không có giao diện sử dụng,tuy nhiên chúng có khởi động 1 ứng dụng khi có phản hồi thông tin mà chúng nhận được. Content providers: là 1 tập hợp các dữ liệu đặc biệt của ứng dụng này mà các ứng dụng khác có thể dùng chung.Dữ liệu có thể lưu trữ ở file hệ thống,trong cơ sở dữ liệu SQLite hay bất cứ chỗ nào lưu trữ được trên thiết bị. Intent: nền tàng để truyền tải các thông báo.Intent được sử dụng để gửi các thông báo đi nhằm khởi tạo 1 Activity hay Service để thực hiện công việc mong muốn.Ví dụ như khi mở 1 trang web,phải gửi đi 1 intent để tạo 1 activity mới hiển thị trang web đó. Notification: đưa ra các cảnh báo mà không làm cho các activity ngừng hoạt động. Activity,Broadcast receivers,content providers,services là những thành phần chính cấu thành nên ứng dụng Android.Trong đó,activity là thành phần quan trọng nhất và đóng vai trò chính trong xây dựng ứng dụng Android. 2.2.2 Chu trình sống của một ứng dụng Android: Android có cơ chế quản lý các tiền trình theo chế độ ưu tiên,các tiến trình có độ ưu tiên thấp sẽ bị Android giải phóng mà không hề cảnh báo trước nhằm đảm bảo tài nguyên.Các tiến trình với độ ưu tiên: Foreground process: là tiến trình của ứng dụng hiện thời đang được người dùng tương tác. Visible process: là tiến trình của ứng dụng mà activity đang hiển thị với người dùng. Service process: là tiến trình service đang thực thi. Background process: là tiến trình của ứng dụng mà các activity của nó không hiển thị với người dùng. Empty process: tiến trình không có bất cứ một thành phần nào đang hoạt động. 2.2.3 Chu trình sống của một activity: Hệ điều hành Android quản lý các activity theo dạng stack: khi một activity mới được khởi tạo,nó sẽ được xếp lên đầu của stack và là activity được thực thi,các activity trước đó sẽ bị tạm dừng và chỉ hoạt động trở lại khi activity mới này được giải phóng. Activity bao gồm 4 trạng thái: Active: activity đang được hiển thị trên màn hình. Paused: activity vẫn hiển thị nhưng không thể tương tác được. Stop: activity bị thay thế hoàn toàn bởi activity mới. Killed: khi hệ thống thiếu bộ nhớ,nó giải phóng các tiến trình theo nguyên tắc ưu tiên.Các activity ở trạng thái stop hay paused cũng có thể bị giải phóng và khi các activity này được hiển thị lại thì được khởi động lại hoàn toàn và phục hồi lại trạng thái trước đó. Hình 2.Chu trình sống của 1 activity. Vòng đời của một activity bao gồm 3 vòng chính: Entire lifetime: từ phương thức onCreate() đến onDestroy(). Visible lifetime: từ phương thức onStart() đến onStop(). Foreground lifetime: từ phương thức onResume() đến onPause(). Các phương thức của một activity: onCreate(): sẽ được gọi khi lần đầu activity được tạo.Đây là phương thức dùng để khởi tạo activity.Khi gọi phương thức onCreate(),Android sẽ truyền một đối tượng chứa trạng thái hoạt động nào đó đã được lưu của activity khi được gọi trước đó. onRestart(): được gọi sau khi activity đã bị stop trước đó,trước khi nó được bắt đầu trở lại. onStart(): được gọi trước khi activity xuất hiện trên màn hình.Khi phương thức này hoàn thành,nếu activity được hiển thị trên màn hình,điều khiển sẽ được chuyển cho onResume(),nếu activity không hiển thị trên màn hình vì lý do nào đó,điều khiển sẽ được chuyển cho onStop(). onResume(): được gọi ngay sau onStart() nếu activity được hiển thị trên màn hình,onResume() cũng được gọi khi activity nhường quyền lại cho một activity khác,khi activity đó kết thúc,lúc đó sẽ được hiển thị lại trên màn hình. onPause(): được gọi khi hệ điều hành ưu tiên activity khác,để activity đó đươcj hiển thị.Ở thời điểm này,activity sẽ không xuất hiện trên màn hình. onStop(): được gọi khi activity không còn được hiển thị nữa,và đã bị destroy. onDestroy(): nơi activity có thể thực hiện bất kì việc gì trước khi bị destroy. Khi xây dựng activity cần viết lại phương thức onCreate() để thực hiện quá trình khởi tạo,các phương thức khác có cần viết lại hay không tùy theo yêu cầu lập trình. Chương 3: Vẽ đồ thị trên ứng dụng Android Chương này tập trung khảo sát một số thư viện vẽ đồ thị trên hệ điều hành Android.Qua đó tìm ra một thư viện thích hợp nhất cho chương trình,cụ thể phục vụ cho chức năng vẽ biểu đồ cho mỗi mã cổ phiếu. 3.1 Khảo sát một số thư viện vẽ đồ thị trên Android. 3.1.1 AchartEngine: Thư viện biểu đồ cho các ứng dụng Android,hỗ trợ các loại biểu đồ: biểu đồ đường thẳng,biểu đồ thời gian,biểu đồ tròn,biểu đồ cột,…với đồ họa tương đối đẹp và dễ cài đặt,sử dụng trong lập trình.Mỗi loại biểu đồ có nhiều tùy chỉnh như: biểu đồ cột có 2 loại là default và stacked,biểu đồ đường thẳng cũng gồm 2 loại khác nhau….Tuy nhiên nhược điểm của thư viện này là biểu đồ được sinh ra gắn với một intent,không cho phép can thiệp tùy chỉnh giao diện như việc thêm các button,text view,.. vào giao diện biểu đồ để thực hiện ý tưởng riêng của người lập trình.Ví dụ như thêm các radio button để thực hiện các chức năng hiển thị biểu đồ theo tuần,tháng,năm. Hình 3.Hai loại biểu đồ cột AchartEngine. Hình 4.Hai loại biểu đồ đường thẳng AchartEngine. 3.1.2 GraphView: Là một view tùy chỉnh dễ dàng tạo ra các biểu đồ bằng cách cung cấp một mảng giá trị,biểu đồ tự động được hiển thị ra một cách đầy đủ.Tuy nhiên đồ họa không được đầu tư nhiều so với các thư viện biểu đồ khác,quá đơn giản,sơ sài,không đáp ứng được yêu cầu của ứng dụng hướng tới xây dựng biểu đồ có đồ họa dễ nhìn. Hình 5.Biểu đồ cột và đường thẳng GraphView. 3.1.3 aiCharts: Thư viện được thiết kể và tối ưu cho Android,hỗ trợ các môi trường phát triển Android,dễ dàng cài đặt,cung cấp đầy đủ tài liệu cần thiết và có các ví dụ mẫu về cách sử dụng thư viện.Liên kết dữ liệu dễ dàng,nhanh chóng,cho phép lấy dữ liệu từ một số định dạng phổ biến như:XML,database,…Tuy nhiên,đây là thư viện có bản quyền với giá khá cao nên khó có điều kiện để sử dụng thư viện này vào việc xây dựng ứng dụng. Hình 6.Biểu đồ cột aiCharts. 3.1.4 Flot: Là thư viện Javascript cho jQuery.Nó tạo ra biểu đồ dựa trên dữ liệu từ phía máy khách(client).Trọng tâm của thư viện là tính dễ sử dụng,tất cả các tùy chọn đều mở rộng,giao diện đẹp và