You are on page 1of 57

ĐẠ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

ĐẠ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

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

..................12 3..............................................1 Android là gì ?................................1................7 2...........................18 4..................1........2...............1..........16 3......5 droidcharts:......................1 Giới thiệu về Web service:........3 2...........2 GraphView:.......18 4............................................................7 2........................................................9 Chương 3: Vẽ đồ thị trên ứng dụng Android....................18 4..........1.....1......1 Khái niệm:. 17 Chương 4: Web service và giao tiếp giữa client và server...................20<hai số cuối của năm bảo vệ KLTN>................................................................................20< hai số cuối của năm bảo vệ KLTN>..........................15 3............................................1 Web service..................................................................................1...... 1 Chương 2: Lập trình ứng dụng trên nền Android.................2 Lập trình ứng dụng Android:....................................2 Lựa chọn:...1........................... 3 2.........12 3........3 Chu trình sống của một activity:.1...........................................................................................................1......1 AchartEngine:......................8 2...........................................3 aiCharts:...................1 HÀ NỘI ......................1....................... 18 4....................................2 Các đặc điểm của web service:...............12 3...................4 Flot:. 14 3....................18 ........2 Chu trình sống của một ứng dụng Android:.............................1 Các thành phần cơ bản của 1 ứng dụng Android:.1 Khảo sát một số thư viện vẽ đồ thị trên Android...............Mục lục HÀ NỘI ............................................... 13 3..............................2 Chương 1: Mở đầu..........2..............2..

....1 XML: ................4..................3 Các yếu tố nền tảng của web service:....30 5......1.........................................................................................................19 4......1....2 Thiết kế server:......2 Bảng company_list..2.1..........................1 Xem thông tin mã cổ phiếu:............2 WSDL: ............ 22 4...1.1..........................2..........................22 4......1.....4...1 Các chức năng chính của chương trình:..................1.........................1..........2............................1.....2 Tạo web service bằng Eclipse lấy dữ liệu từ cơ sở dữ liệu SQL...................30 5............ 33 5........27 4............1.................1.................3..................................1 Ksoap2-Android là gì ?......4 Thiết kế chức năng:.........23 4................1......2..........1..................................2 Xóa mã cổ phiếu khỏi danh sách:...1................1...........21 4............28 Chương 5: Xây dựng và triển khai ứng dụng.............. .................1.1............2..........4 SOAP: ......................1 Xây dựng chương trình:............4 Mô hình hoạt động của web service:......................3.....2 Kết nối tới cơ sở dữ liệu SQL.1............3 Tạo web service bằng Eclipse.................30 5....27 4...................19 4..............2.......................1...... 19 4...1......1...........3 UDDI:.....35 5.......................4.....23 4...20 4....................................2 Giao tiếp giữa client và server.......31 5......1 Bảng hose................................19 4........1 Thiết kế cơ sở dữ liệu...............3.36 ..............34 5...1..............................................26 4.......................................................3 Thiết kế client:............1..2 Sử dụng ksoap2-Android để lấy dữ liệu từ server:..............................25 4.............................3....1........1............................................2................................................................1.........

...........40 5.......................41 5.36 5.........1 Kiểm tra chức năng tương tác giữa người dùng với các mã cổ phiếu mà người dùng quan tâm......4.......3......................................................41 Chương 6: Tổng kết...............4......................1................3 Kiểm tra chức năng tìm kiếm các mã cổ phiếu có trên thị trường của chương trình..1............5 Xóa toàn bộ mã cổ phiếu khỏi danh sách:...............4............................................ 39 5.....1 Kết luận.....................................1.............................6 Tìm kiếm mã cổ phiếu:........................................................ 39 5......2 Cài đặt:...........1................4 Thử nghiệm & Kết quả:.........8 Xem tin tức:...............4............5..............................................37 5.....3................................................4 Cập nhật thông tin mã cổ phiếu:.........2 Kiểm tra chức năng thể hiện các tin tức trên giao diện người dùng và việc tương tác với người dùng............................40 5.......1..................3 Vẽ biểu đồ cho mã cổ phiếu:....................45 6...........7 Thêm mã cổ phiếu vào danh sách:..... 40 5...................................3..............................................38 5............38 5..2 Hướng phát triển.37 5.............3 Kiểm tra:.................4........................................4....1................................45 6........45 ..................................................................................

Danh sách bảng biểu STT Bảng 1 Bảng 2 Bảng 3 Tên bảng biểu hose – lưu trữ thông tin sàn hose company_list – lưu trữ thông tin các công ty Các thành phần trong biểu đồ tuần tự Trang 22 23 33 Danh sách hình ảnh STT Hình 1 Hình 2 Hình 3 Hình 4 Hình 5 Hình 6 Hình 7 Hình 8 Hình 9 Hình 10 Hình 11 Hình 12 Hình 13 Hình 14 Hình 15 Hình 16 Tên hình ảnh Cấu trúc tổng quát của Android Chu trình sống của 1 activity Hai loại biểu đồ cột AchartEngine Hai loại biểu đồ đường thẳng AchartEngine Biểu đồ cột và đường thẳng GraphView Biểu đồ cột aiCharts Biểu đồ Flot Biểu đồ droidchart Cấu trúc một thông điệp SOAP Mô hình hoạt động của web service Mô hình dữ liệu tổng thể CSDL stock DSN stock của cơ sở dữ liệu SQL Khởi tạo 1 Soap object Thiết lập tham số Thiết lập Soap Envelope và gửi tới web service server Kết quả từ server trả về Trang 6 10 12 13 13 14 15 16 19 20 21 25 27 27 27 28 .

Hình 17 Hình 18 Hình 19 Hình 20 Hình 21 Hình 22 Hình 23 Hình 24 Hình 25 Hình 26 Hình 27 Hình 28 Hình 29 Hình 30 Hình 31 Hình 32 Mô hình hệ thống của chương trình Thiết kế tổng quan server Thiết kế tổng quan client Biểu đồ tuần tự ca sử dụng xem thông tin mã cổ phiếu Biểu đồ tuần tự ca sử dụng xóa 1 mã cổ phiếu khỏi danh sách Biểu đồ tuần tự ca sử dụng vẽ biểu đồ cho mã cổ phiếu Biểu đồ tuần tự ca sử dụng cập nhật thông tin mã cổ phiếu Biểu đồ tuần tự ca sử dụng xóa toàn bộ mã cổ phiếu Biểu đồ tuần tự ca sử dụng tìm kiếm mã cổ phiếu Biểu đồ tuần tự ca sử dụng thêm mã cổ phiếu vào danh sách Biểu đồ tuần tự ca sử dụng xem tin tức Chức năng gợi ý mã cổ phiếu của chương trình Hộp thoại nhắc nhở với mã cổ phiếu không hợp lệ Chức năng cập nhật thông tin của chương trình Chức năng theo dõi tin tức của chương trình Chức năng vẽ biểu đồ của chương trình 30 31 32 34 35 35 36 36 37 38 38 40 41 41 42 43 Bảng các chữ cái viết tắt SQL SDK Structured Query Language Software Development Kit .

Discovery.API GSM IDE JDK SOAP XML WSDL UDDI SDL ODBC DSN EJB JSP Application Programming Interface Global System for Mobile Integrated Development Environment Java Development Kit Simple Object Access Protocol eXtensible Markup Language Web Service Description Language Universal Description.and Integration Service Description Language Open Database Connectivity Data Source Name Enterprice java bean Java Server Pages .

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.Trong đó.upcom.các thông tin sẽ được gửi truy vấn đến server để lấy về.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.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.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.cập nhật thông tin về các mã cổ phiếu mà người dùng quan tâm. Phạm vi của khóa luận chỉ tập trung vào phần client.theo dõi các tin tức về thị trường chứng khóan trong nướ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.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.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.CHƯƠNG 1: MỞ ĐẦU Trong những năm gần đây.Chương trình sẽ hoạt động trên các máy chạy Android như một client.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 sàn giao dịch lớn như hose. Bên cạnh đó.đặ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.… Khóa luận gồm các nội dung như sau: 1 .những người kinh doanh chứng khoán.điện thoại di động ngày càng phổ biến.đặc biệt là về chứng khoán trong nước.gần như là vật bất ly thân.thông tin sẽ luôn được server tự động cập nhật.Thị trường chứng khoán Việt Nam ngày càng phát triển và lớn mạnh. 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.cùng với sự phát triển mạnh mẽ.

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.hướng mở rộng phát triển chương trình. Chương 5. Mở đầu: giới thiệu đề tài khóa luận. 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. Chương 4.Chương 1.ý nghĩa và tính khả thi của đề tài. 2 . Chương 2. Tổng kết: trình bày kết quả đạt được. Chương 6.một số kết quả đạt được khi chạy thử ứng dụng. Chương 3. 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. 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.

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.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ấ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.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ụ thể hơn.gồm hệ điều hành. Các thiết bị.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. 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.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ó.6.các thành phần cấu tạo. 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 3 . 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.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.

mật.bao gồm máy ảo Dalvik và các thư viện lõi cung cấp chức năng cụ thể.thư mục.0.các trình điều khiển phần cứng…đã được tối ưu hóa cho thiết bị di động..OpenGL Mỗi tiến trình được dùng để chạy một ứng dụng Android. 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ị.hình ảnh để tùy chỉnh giao diện màn hình chủ. Tích hợp trình duyệt web.quản lý bộ nhớ. Sử dụng các widget. Cấu trúc dữ liệu lưu trữ SQLite.Các tiến trình được thiết kế để chạy hiệu quả trên các thiết bị di động.cung cấp các thư viện đồ họa 2D.các plug-in. Hỗ trợ Camera.bao gồm SQLite.Bluetooth(phụ thuộc thiết bị phần cứng).bao gồm các công cụ.3G.accelerometer(phụ thuộc thiết bị phần cứng).tài liệu.quản lý tiến trình.EDGE.compass. Thư viện nguồn mở cho việc phát triển ứng dụng. Công nghê GSM – GSM Telephony (phụ thuộc nền tảng phần cứng). Một số đặc trưng của Android SDK: Hỗ trợ Wifi. Bộ công cụ phát triển phần mềm được dùng để tạo ra các ứng dụng.Webkit. Tăng tốc đồ họa. 4 .3D sử dụng OpenGL ES 2. Kho lưu trữ các dữ liệu dùng để chia sẻ giữa các ứng dụng.cung cấp mã nguồn mở bộ phát triển trình duyệt web HTML5 WebKit.GPS.

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. Cấu trúc của Google Android: 5 .- Hỗ trợ đa phương tiện: hỗ trợ phần lớn các định dạng âm thanh.có vị trí như nhau.PNG.mỗi tiến trình ứng dụng.JPG.chia sẻ dữ liệu.AAC. Ngoài một số những đặc tính trên.H.hình nền. 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.ô tìm kiếm nhanh.Đ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.Android cho phép các ứng dụng trao đổi thông tin.các thư mục. Các widget giao diện màn hình chủ.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.thực thi các tiến trình.MPEG4.Để giảm bớt rủi ro một cách hiệu quả.video phổ biến như MP3.hình ảnh.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.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.264. Tất cả các ứng dụng được tạo ra đều ngang hàng.

… và một số ứng dụng chạy ngầm. Tầng Application: bao gồm tất cả các ứng dụng có trong thiết bị chạy Android như: phone.mỗi tầng làm việc đều nhờ sự giúp đỡ của tầng 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..Linux Kernel.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.một 6 . 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.Cấu trúc tổng quát của Android.game.Hình 1. Có 5 tầng cơ bản trong hệ điều hành Android: Application Framework.Android Runtime.Native Libraries.browser.contact.

3D Libraries.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.…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.mọi xử lý hệ thống đều phải thông qua tầng này.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.những 7 .1 activity thể hiện một trang dùng để viết tin nhắn và gửi đi. Media 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).ngoài ra phải phải có một IDE như Eclipse.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.thường mỗi cửa sổ này lấp đầy màn hình. 2.2.Mỗi activity có một cửa sổ làm việc để sử dụng.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. 2.USB.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.Linux Kernel cung cấp các trình điều khiển thiết bị phần cứng như: camera.ở đó người dùng có thể thực hiện những gì họ muốn.…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.Netbeans.số thư viện cơ bản như: Libraries.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. - Tầng Linux Kernel: đây là nhân của hệ điều hành Android.… - System C Library.SQLite.

content providers.radio button.Trong đó.textview.Ví dụ như thông báo pin yếu.textfield.thông báo người dùng vừa đổi ngôn ngữ hiển thị. 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.… 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.Các bộ thu phát không có giao diện sử dụng.menu item. Activity. Intent: nền tàng để truyền tải các thông báo.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.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.trong cơ sở dữ liệu SQLite hay bất cứ chỗ nào lưu trữ được trên thiết bị.2 CHU TRÌNH SỐNG CỦA MỘT ỨNG DỤNG ANDROID: 8 .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.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.Broadcast receivers. Notification: đưa ra các cảnh báo mà không làm cho các activity ngừng hoạt động.Dữ liệu có thể lưu trữ ở file hệ thống. 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.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. 2.checkbox.phải gửi đi 1 intent để tạo 1 activity mới hiển thị trang web đó.Ví dụ như khi mở 1 trang web.services là những thành phần chính cấu thành nên ứng dụng Android.

Visible process: là tiến trình của ứng dụng mà activity đang hiển thị với người dùng. Stop: activity bị thay thế hoàn toàn bởi activity mới.Các tiến trình với độ ưu tiên: 1.nó sẽ được xếp lên đầu của stack và là activity được thực thi. Empty process: tiến trình không có bất cứ một thành phần nào đang hoạt động.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 đó.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. 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. Activity bao gồm 4 trạng thái: Active: activity đang được hiển thị trên màn hình. Killed: khi hệ thống thiếu bộ nhớ.2. 5.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.Android có cơ chế quản lý các tiền trình theo chế độ ưu tiên. 9 . 2. 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. 4.nó giải phóng các tiến trình theo nguyên tắc ưu tiên. 2. Service process: là tiến trình service đang thực thi. Paused: activity vẫn hiển thị nhưng không thể tương tác được. 3.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.

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(). 10 . Visible lifetime: từ phương thức onStart() đến onStop().Hình 2.Chu trình sống của 1 activity.

nếu activity được hiển thị trên màn hình. 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.- Foreground lifetime: từ phương thức onResume() đến onPause().và đã bị destroy.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. - onPause(): được gọi khi hệ điều hành ưu tiên activity khác.để activity đó đươcj hiển thị.Đây là phương thức dùng để khởi tạo activity. - onRestart(): được gọi sau khi activity đã bị stop trước đó.nếu activity không hiển thị trên màn hình vì lý do nào đó. - onStart(): được gọi trước khi activity xuất hiện trên màn hình. Các phương thức của một activity: - onCreate(): sẽ được gọi khi lần đầu activity được tạo.Khi gọi phương thức onCreate().Ở thời điểm này.trước khi nó được bắt đầu trở lại. - onResume(): được gọi ngay sau onStart() nếu activity được hiển thị trên màn hình.khi activity đó kết thúc. 11 . - onStop(): được gọi khi activity không còn được hiển thị nữa.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 đó.điều khiển sẽ được chuyển cho onStop().onResume() cũng được gọi khi activity nhường quyền lại cho một activity khác.điều khiển sẽ được chuyển cho onResume().activity sẽ không xuất hiện trên màn hình.lúc đó sẽ được hiển thị lại trên màn hình. - onDestroy(): nơi activity có thể thực hiện bất kì việc gì trước khi bị destroy.Khi phương thức này hoàn thành.

text view.tháng.hỗ trợ các loại biểu đồ: biểu đồ đường thẳng.không cho phép can thiệp tùy chỉnh giao diện như việc thêm các button.Qua đó tìm ra một thư viện thích hợp nhất cho chương trình.biểu đồ tròn.1. 12 .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.sử dụng trong lập trình. vào giao diện biểu đồ để thực hiện ý tưởng riêng của người lập trình. 3.… với đồ họa tương đối đẹp và dễ cài đặt.1 ACHARTENGINE: Thư viện biểu đồ cho các ứng dụng Android.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..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.biểu đồ đường thẳng cũng gồm 2 loại khác nhau….1 KHẢO SÁT MỘT SỐ THƯ VIỆN VẼ ĐỒ THỊ TRÊN ANDROID.biểu đồ cột.biểu đồ thời gian.năm.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. 3.cụ thể phục vụ cho chức năng vẽ biểu đồ cho mỗi mã cổ phiếu..

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.biểu đồ tự động được hiển thị ra một cách đầy đủ.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ị.1.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 4.Hai loại biểu đồ đường thẳng AchartEngine. 13 .Hình 3. 3.Hai loại biểu đồ cột AchartEngine.sơ sài.

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.đâ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.cho phép lấy dữ liệu từ một số định dạng phổ biến như:XML.Liên kết dữ liệu dễ dàng. 3.hỗ trợ các môi trường phát triển Android.dễ dàng cài đặt.Biểu đồ cột và đường thẳng GraphView.3 AICHARTS: Thư viện được thiết kể và tối ưu cho Android.Hình 5. 14 .nhanh chóng.…Tuy nhiên.database.1.

Biểu đồ cột aiCharts.Hình 6.4 FLOT: Là thư viện Javascript cho jQuery.…Do mọi công việc từ nhập dữ liệu đến vẽ biểu đồ đều được thực hiện trong file html nên việc sử dụng rất dễ dàng.theo dõi chuột. 3.tất cả các tùy chọn đều mở rộng.1.zoom out.chỉ cần gọi 1 webview trong Android với đường link đến file html để hiển thị ra màn hình.Nó tạo ra biểu đồ dựa trên dữ liệu từ phía máy khách(client).giao diện đẹp và có các tính năng tương tác với biểu đồ như zoom in.Trọng tâm của thư viện là tính dễ sử dụng. 15 .

16 .do dữ liệu ít nên các nhãn sẽ hiển thị ngày tháng năm đầy đủ.1. 3.dữ liệu sẽ nhiều.đặc biệt các nhãn hiển thị theo các trục x.Đây là một nhánh của thư viện biểu đồ Java JfreeChart được phát triển cho nền tảng Android.5 DROIDCHARTS: Là một công cụ hỗ trợ vẽ biểu đồ cho điện thoại sử dụng hệ điều hành Android.các nhãn do không tùy chỉnh được sẽ hiển thị đè lên nhau.tuy nhiên đồ họa đơn giản.Hình 7.Biểu đồ Flot.Việc cài đặt và sử dụng thư viện này khá dễ dàng trong lập trình.y không tự động căn chỉnh khi dữ liệu hiển thị quá nhiều.hay 1 năm.nhưng khi chuyển sang biểu đồ 1 tháng.sử dụng đồ họa của Android.Việc thêm dữ liệu cho biểu đồ tương đối dễ dàng với các hàm được tích hợp sẵn trong thư viện.ví dụ như khi hiển thị biểu đồ 1 tuần.

dễ sử dụng.việc cài đặt và sử dụng dễ dàng với nhiều ví dụ mẫu có sẵn.2 LỰA CHỌN: Sau một thời gian tìm hiểu và cài đặt.sử dụng. 17 .tự động căn chỉnh các nhãn theo dữ liệu.khóa luận sử dụng thư viện Flot để phục vụ cho chức năng vẽ biểu đồ giá cả và khối lượng mỗi mã cổ phiếu do có nhiều ưu điểm vượt trội hơn các thư viện khác: đồ họa đẹp.có khả năng tương tác người dùng cao. 3.Biểu đồ droidchart.Hình 8.

cách thức giao tiếp giữa client và server thông qua web service.1 GIỚI THIỆU VỀ WEB SERVICE: 4. Webservice bao gồm nhiều mô đun và có thể đưa lên mạng internet. 4.cách xây dựng một web service bằng Eclipse IDE.1.Web service được xây dựng dựa trên SOAP.1 Khái niệm: Web service là một hệ thống phần mềm được thiết kế để hỗ trợ khả năng tương tác giữa các ứng dụng trên các máy tính khác nhau thông qua mạng internet. 18 .2 Các đặc điểm của web service: Webservice cho phép client và server tương tác được với nhau trong những môi trường khác nhau.1.thực hiện các chức năng và đưa ra thông tin mà người dùng yêu cầu.Khi phía máy client gửi yêu cầu truy vấn.thành phần cấu tạo của một web service.giao diện chung và sự gắn kết của nó được mô tả bằng XML.khái niệm.Web service có thể xác định bằng địa chỉ URL.phía server kiểm tra yêu cầu và trả lời yêu cầu dữ liệu của client bằng cách truyền dữ liệu dựa trên chuẩn SOAP.1 WEB SERVICE.các đặc điểm.1. 4.Phục vụ cho việc xây dựng liên lạc client-server của chương trình.CHƯƠNG 4: WEB SERVICE VÀ GIAO TIẾP GIỮA CLIENT VÀ SERVER Chương này giới thiệu về web service. Web service được xây dựng dựa trên mã nguồn mở và được phát triển từ các chuẩn đã được công nhận. 4.Web service cho phép máy chủ cung cấp dịch vụ trao đổi và truyền dữ liệu với máy client.1.1.

UDDI cung cấp 3 loại thành phần khác nhau: 19 .- Một ứng dụng khi được triển khai sẽ hoạt động theo mô hình client-server.1.1.1. 4.SOAP để cung cấp dịch vụ web qua internet.1.3 UDDI: UDDI được dùng để xác định các thông tin về các web service được cung cấp bởi các nhà cung cấp dịch vụ.2 WSDL: Định nghĩa cách mô tả dịch vụ web theo cú pháp XML.được sử dụng định nghĩa các thành phần dữ liệu trên trang web. Giao thức và kiểu mã hóa sẽ được dùng khi gọi các hàm của dịch vụ Web.WSDL được sử dụng kết hợp với XML.3. Loại thông tin:tham số. 4.những kiểu dữ liệu.1.3.1.3 Các yếu tố nền tảng của web service: 4.Tất cả các dữ liệu giao tiếp sẽ được chuyển sang định dạng thẻ XML.bao gồm các thông tin: Tên dịch vụ.1.1.client có thể đọc WSDL để xem các chức năng có trên server và dùng SOAP để thực hiện các chức năng đó. 4.3.cho phép client truy tìm và nhận thông tin được yêu cầu khi sử dụng dịch vụ web. Một WSDL gồm hai phần: phần giao diện mô tả giao diện và phương thức kết nối và phần thi hành mô tả thông tin truy xuất CSDL được lưu trong 2 tập tin XML tương ứng là tập tin giao diện dịch vụ và tập tin thi hành dịch vụ.XML có cấu trúc hoàn toàn giống HTML.1 XML: Là một chuẩn mở do W3C(World Wide Web Consortium) đưa ra cách thức mô tả dữ liệu.

Cấu trúc một thông điệp SOAP.sử dụng các tài liệu XML như những thông điệp trao đổi.SOAP được xem như là cấu trúc xương sống của các ứng dụng phân tán xây dựng từ nhiều ngôn ngữ.4 SOAP: Giao thức truy xuất đối tượng đơn giản. 4.hệ điều hành khác nhau.có cấu trúc như XML.trao đổi thông tin giữa các ứng dụng thông qua mạng internet.cho phép các đối tượng khác xác định được dịch vụ.SOAP được xây dựng bởi Microsoft và phần mềm Userland.được thiết kế đơn giản và dễ mở rộng. 20 .tên giao dịch.. Cấu trúc một thông điệp SOAP: Hình 9.- White pages(trang trắng): chứa thông tin liên hệ và các định dạng chính yếu của dịch vụ web.như địa chỉ.SOAP có thể dễ dàng vượt qua tường lửa giúp cho việc liên lạc trở nên dễ dàng hơn.không bị ràng buộc bởi bất kỳ ngôn ngữ lập trình hoặc công nghệ nào.1.Đặc biệt..3.1.thông thường sử dụng giao thức HTTP.cho phép các đối tượng thấy được web service theo từng loại. - Green pages(trang xanh): chứa thông tin kỹ thuật mô tả các hành vi chức năng của web service. - Yellow pages(trang vàng): chứa thông tin mô tả dịch vụ web theo những loại khác nhau.

thông tin mã hóa. 4. - Phần tử đầu trang SOAP header: chứa các thông tin tiêu đề cho trang. 21 .- Phần tử gốc SOAP envelope: phần tử bao trùm nội dung thông điệp.1.ngôn ngữ sử dụng cho các bản mô tả dịch vụ là SDL với cấu trúc cú pháp của XML.xây dựng và cài đặt đối tượng dịch vụ lên một web server và cung cấp bản mô tả dịch vụ để hướng dẫn mọi người cách khai thác.khai báo văn bản XML như là một thông điệp SOAP.1.4 Mô hình hoạt động của web service: Hình 10.… - Phần tử khai báo nội dung chính trong thông điệp SOAP body: chứa các thông tin yêu cầu và phản hồi.bao gồm 3 thành phần: Các nhà cung cấp dịch vụ service provider. Trong mô hình hoạt động của mỗi web service.Mô hình hoạt động của web service.những đầu mục có thể mang dữ liệu chứng thực.

- Những người dùng cuối.1.1.- Các nhà khai thác dịch vụ service requester.2 TẠO WEB SERVICE BẰNG ECLIPSE LẤY DỮ LIỆU TỪ CƠ SỞ DỮ LIỆU SQL.dựa vào đó xây dựng các lớp trung gian truy xuất đối tượng dịch vụ. Mô hình dữ liệu tổng thể của cơ sở dữ liệu stock: company_list -mack -sanck -giahientai -giasosach -pb -caonhat52tuan -thapnhat52tuan -eps -pe -eps4quytruoc -pe4quytruoc -roa -roe -donbaytc -beta -khoiluongluuhanh -khoiluongniemyet -cophieuquy -nuocngoaisohuu -vonthitruong -doanhthu -lnst -voncsh -tongno -tongtaisan -tencongty -tenquocte -diachi -dienthoai -fax -website hose -ticker -date -openprice -highprice -lowprice -closeprice -volume 22 .thiết kế giao diện cho ứng dụng.1 Thiết kế cơ sở dữ liệu. 4. 4.sử dụng một cách gián tiếp dịch vụ web của các nhà cung cấp.2.truy cập trang web của nhà khai thác dịch vụ.xem xét các bản mô tả dịch vụ của nhà cung cấp.

highprice.Mô hình dữ liệu tổng thể CSDL stock.2.Hình 11. Các thành phần: varchar varchar varchar varchar varchar varchar varchar 9 10 9 9 9 9 9 Mã cổ phiếu Ngày năm Giá mở cửa Giá cao nhất Giá thấp nhất Giá đóng cửa Khối lượng tháng Null value Data type Max Data length Remarks 23 . Attribute Key type Tên trường ticker date openprice highprice lowprice closeprice volume 4.lowprice.date.volume. Các thành phần: ticker.1.2.1 Bảng hose.hose – lưu trữ thông tin sàn hose. Mô tả: lưu trữ thông tin của sàn chứng khoán hose. Mô tả: lưu trữ thông tin của các công ty có cổ phiếu niêm yết trên các trung tâm giao dịch chứng khoán. 4. Bảng 1.closeprice.2 Bảng company_list.1.1.1.openprice.

sanck.khoiluongniemyet.tenquocte. Bảng 2.company_list – lưu trữ thông tin các công ty.eps4quytruoc.pb.donbaytc.dienthoai.tongtaisan.pe4quytruoc.di achi.tongno.doanhthu.giahientai.pe.nuocngoaisohuu.vonthitru ong.roa.eps.lnst.voncsh.roe.cophieuquy.thapnhat52tu an.fax.tencongty.website. Attribute Key type Tên trường Mack sanck giasosach giahientai pb caonhat52tuan thapnhat52tuan eps pe eps4quytruoc pe4quytruoc roa PK varchar varchar varchar varchar varchar varchar varchar varchar varchar varchar varchar varchar 24 Null valu e Data type Max Data lengt h 9 10 9 9 9 9 9 9 9 9 9 9 Mã cổ khoán Sàn chứng khoán Giá sổ sách Giá hiện tại Price-to-book ratio Cao nhất 52 tuần Thấp nhất 52 tuần Earning per share Price/earning share Eps 4 quý trước Pe 4 quý trước Return on total assets per Remarks .mack.giasosach.khoiluo ngluuhanh.beta.caonhat52tuan.Khoá chính là mack.

tính bảo mật tốt 25 .2.2 Kết nối tới cơ sở dữ liệu SQL.roe donbaytc beta khoiluongluuhan h khoiluongniemye t cophieuquy nuocngoaisohuu vonthitruong doanhthu lnst voncsh tongno tongtaisan tencongty tenquocte diachi dienthoai fax website varchar varchar varchar varchar varchar varchar varchar varchar varchar varchar varchar varchar varchar varchar varchar varchar varchar varchar varchar 9 9 9 30 30 30 30 30 30 30 30 30 30 100 100 200 30 30 100 Return equyty on common Đòn bẩy tài chính Beta Khối lượng lưu hành Khối lượng niêm yết Cổ phiếu quý Nước ngoài sở hữu Vốn thị trường Doanh thu Lợi nhuận sau thuế Vốn chủ sở hữu Tổng nợ Tổng tài sản Tên công ty Tên quốc tế Địa chỉ Điện thoại Fax Website 4.1. Khóa luận dùng hệ quản trị cơ sở dữ liệu SQL Server với nhiều ưu điểm hơn các hệ cơ sở dữ liệu khác như mạnh hơn.

Java EE(Java Enterprise Edition) là môi trường phát triển và triển khai các ứng dụng được phát triển bởi Sun.Để ứng dụng client kết nối với cơ sở dữ liệu server dùng ODBC.3 Tạo web service bằng Eclipse.ODBC cung cấp thông tin này một tên đơn giản để ta có thể tham chiếu đến nó.2.các hàm giao tiếp và các giao thức triển khai các ứng dụng đa 26 . 4.ta phải cung cấp thông tin về nguồn dữ liệu ODBC. Hình 12. Để xây dựng web service trên Eclipse.1.Để kết nối tới cơ sở dữ liệu bằng ngôn ngữ lập trình Java. Web service runtime là Axis2.DSN stock của cơ sở dữ liệu SQL.thay vì phải thiết lập thông tin từ đầu mỗi lần ta cần đến nó.Tên này chính là tên nguồn dữ liệu hay DSN.hơn.cần phải chú ý 2 vấn đề chính là: Eclipse phải là bản “Eclipse IDE for Java EE Developers”.là cái nền cung cấp các dịch vụ.khóa luận sử dụng kết nối thông qua ODBC.

là một nền tảng chuyên cho lập trình các ứng dụng web trên các web server.Ksoap2 được thiết kế lại hoàn toàn dựa trên những bài học từ phiên bản đầu tiên ksoap1.hiệu quả hơn so với phiên bản đầu tiên Axis1.Server J2EE cung cấp 2 container là web container và EJB container: EJB container: quản lý và thực thi các thành phần enterprice bean.x. Tạo lớp cài đặt cho cả client và server sử dụng WSDL. Hỗ trợ WSDL.bao gồm nhiều công nghệ như JSP.truy cập dịch vụ. Web container: quản lý và thực thi các thành phần JSP. Chương trình dùng thư viện mở ksoap2-Android để kết nối web service client và server. Axis là một web service framework mã nguồn mở được phát triển bởi Apache Software Foundation.Đây là một thư viện SOAP khá hiệu quả cho nền tảng Android với nhiều tính năng cải tiến và đã được sửa nhiều lỗi hơn các phiên bản trước đấy. Nhận và xử lý các thông điệp SOAP.Ksoap2-Android là một nhánh trong thư viện ksoap2 được thêm vào để hỗ trợ cho nền tảng Android.tầng..2 GIAO TIẾP GIỮA CLIENT VÀ SERVER.1 KSOAP2-ANDROID LÀ GÌ ? Ksoap là một thư viện mở cho các SOAP web service client trong môi trường Java như Applet hay ứng dụng J2ME.Servlet.cho phép dễ dàng khai thác.Phiên bản hiện nay Axis2 hoạt động linh hoạt.tự động sinh ra các bản mô tả cho các dịch vụ được phát triển từ Axis2.Servlet..2. 27 .Một số tính năng của Axis2: Gửi các thông điệp SOAP. 4. 4.

Xử lý kết quả phản hồi từ server.ở ví dụ này phương thức getInfoByTicker có 2 tham số là: mack. Thiết lập Soap Envelope là thông điệp Soap dùng để trao đổi giữa các ứng dụng và gửi tới web service server.chương trình sẽ yêu cầu dữ liệu từ server trả về theo nhiều thông tin khác nhau.4.lọc lấy thông tin cần thiết. 28 . Tùy theo từng phương thức khác nhau mà tham số cần truyền vào khác nhau bằng hàm addProperty có sẵn của đối tượng SoapObject. Ví dụ về yêu cầu thông tin của một mã cổ phiếu và xử lý phản hồi lại của chương trình: Khởi tạo một SoapObject: Hình 13. Truyền tham số cần thiết.date.2. Hình 14.Thiết lập tham số.nhưng các bước cơ bản để gửi yêu cầu và nhận phản hồi từ server thì tương tự nhau: Trước hết phải khởi tạo một SoapObject để gửi yêu cầu cho server với NAMESPACE và METHOD_NAME tùy theo yêu cầu.Khởi tạo 1 Soap object.2 SỬ DỤNG KSOAP2-ANDROID ĐỂ LẤY DỮ LIỆU TỪ SERVER: Để thực hiện được các chức năng chính của chương trình.

Xử lý kết quả từ server trả về.Thiết lập Soap Envelope và gửi tới web service server. Hình 16.- Thiết lập Soap Envelope và gửi tới web service server. Hình 15.Kết quả từ server trả về. 29 .

cập nhật thông tin các mã cổ phiếu mà người dùng quan tâm.server và giao diện tương tác server-client.6 tháng. 5.cấu trúc thiết kế của client.3 tháng.1 tháng. Mô hình hệ thống của chương trình: 30 .1 XÂY DỰNG CHƯƠNG TRÌNH: 5. Tự động vẽ biểu đồ thể hiện sự biến đổi của giá cả và khối lượng mỗi mã cổ phiếu mà người dùng quan tâm.Hiển thị các thông tin của mã cổ phiếu với giao diện chặt chẽ.1. Tìm kiếm và thêm các mã cổ phiếu vào trong danh sách những mã cổ phiếu mà người dùng quan tâm.bố cục hợp lý.1 năm.CHƯƠNG 5: XÂY DỰNG VÀ TRIỂN KHAI ỨNG DỤNG Chương này giới thiệu các chức năng chính của chương trình.Thông tin được server cập nhật theo từng ngày nên đảm bảo thông tin mà người dùng nhận được là mới nhất.1 CÁC CHỨC NĂNG CHÍNH CỦA CHƯƠNG TRÌNH: Theo dõi.logic.Biểu đồ được thể hiện theo khoảng thời gian: 1 tuần.kết quả sau khi đưa chương trình vào hoạt động.Thông tin được server cập nhật liên tục. Theo dõi các tin tức về tình hình chứng khoán trên các sàn giao dịch lớn trong nước và thị trường chứng khoán nước nhà.

Biều đồ lớp thiết kế chi tiết: 31 .1. 5.Mô hình hệ thống của chương trình.2 THIẾT KẾ SERVER: Phạm vi khóa luận chỉ tập trung vào phần client và giao diện server-client.nên server chỉ làm đủ để phục vụ vấn đề kiểm tra giao diện và các chức năng chính của chương trình.Client request data Client request updateServer response search CSDL Client request news Hình 17.

Phương thức getInfoByTicker(String mack.Thiết kế tổng quan server. Phương thức getAllDataByTicker(String mack): có chức năng lấy toàn bộ dữ liệu của một mã cổ phiếu trong cơ sở dữ liệu.Hình 18.String date): có chức năng lấy dữ liệu của một mã cổ phiếu theo một ngày nhất định ở trong cơ sở dữ liệu. Phần server gồm có lớp chính là MyStock bao gồm 3 phương thức chính với chức năng khác nhau để phục vụ cho các chức năng của client: Phương thức getListTicker(String masan): có chức năng lấy tất cả các mã cổ phiếu có trong một sàn giao dịch trong cơ sở dữ liệu. 32 .

5. Hình 19.stock.1.ticker là các lớp nằm trong lớp MyStock là các đối tượng được tạo ra để thuận tiện cho việc cất giữ thông tin.Thiết kế tổng quan client.3 THIẾT KẾ CLIENT: Biểu đồ lớp thiết kế chi tiết: Xác định mối quan hệ giữa các lớp và các thuộc tính.phương thức tương ứng của mỗi lớp. 33 .Các lớp stocks.

Mỗi class có chức năng và vai trò khác nhau trong xây dựng chương trình: Lớp Main:đảm nhiệm chức năng xây dựng giao diện người sử dụng. Lớp News: được tạo ra để thể hiện một đối tượng tin tức có 2 thuộc tính chính là title và summary.myAdapter: là các lớp nằm trong lớp Main.4 THIẾT KẾ CHỨC NĂNG: Biều đồ tuần tự mô tả tương tác giữa người dùng và các đối tượng hệ thống theo trình tự thời gian. Lớp CallWebservice: có chức năng liên lạc với server để lấy thông tin cần thiết mà người dùng yêu cầu. 5. Phần tử Ký hiệu Mô tả 34 . Lớp ChartView: đảm nhiệm chức năng vẽ biểu đồ cho mỗi mã cổ phiểu.Phần client bao gồm 7 lớp chính đảm nhiệm xây dựng các chức năng chính của chương trình. Lớp newsAdapter.1.Các thành phần trong biểu đồ tuần tự.Thành phần cơ bản của một biểu đồ tuần tự là: Bảng 3.xử lý các tương tác của người dùng với chương trình.có nhiệm vụ hỗ trợ xây dựng danh sách các tin tức và mã cổ phiếu trong giao diện chương trình. Lớp Order: được tạo ra để thể hiện một đối tượng mã cổ phiếu với thuộc tính title.nhấn mạnh thứ tự thực hiện của các tương tác.

Nét đứt bên dưới thể hiện đường sống của đối tượng.Đối tượng Được biểu diễn bằng 1 hình chữ nhật. Thông điệp Được biểu diễn bằng mũi tên nối giữa các đối tượng thể hiện thông điệp được gọi từ đối tượng này đến đối tượng kia.1 Xem thông tin mã cổ phiếu: 35 .1.4. 5.bên trong là tên đối tượng. Các chức năng của chương trình được mô tả bằng các biểu đồ tuần tự thể hiện rõ sự tương tác giữa các đối tượng với nhau.các đối tượng chỉ xuất hiện khi tham gia vào tương tác và được thể hiện bằng các hình chữ nhật nằm dọc trên đường sống.

Biểu đồ tuần tự ca sử dụng xem thông tin mã cổ phiếu. 5.Biểu đồ tuần tự ca sử dụng xóa 1 mã cổ phiếu khỏi danh sách. 5.1.4.2 Xóa mã cổ phiếu khỏi danh sách: Hình 21.3 Vẽ biểu đồ cho mã cổ phiếu: 36 .1.Hình 20.4.

5.1.4.Hình 22.4.1.4 Cập nhật thông tin mã cổ phiếu: Hình 23. 5.5 Xóa toàn bộ mã cổ phiếu khỏi danh sách: 37 .Biểu đồ tuần tự ca sử dụng cập nhật thông tin mã cổ phiếu.Biểu đồ tuần tự ca sử dụng vẽ biểu đồ cho mã cổ phiếu.

7 Thêm mã cổ phiếu vào danh sách: 38 .Hình 24. 5.4.Biểu đồ tuần tự ca sử dụng xóa toàn bộ mã cổ phiếu.Biểu đồ tuần tự ca sử dụng tìm kiếm mã cổ phiếu. 5.1.1.6 Tìm kiếm mã cổ phiếu: Hình 25.4.

4.2 CÀI ĐẶT: Do không có đủ thời gian để cài đặt chương trình trên điện thoại thật nên chương trình hiện nay được chạy và kiểm tra ở chế độ giả lập 39 .Hình 26.1.Biểu đồ tuần tự ca sử dụng thêm mã cổ phiếu vào danh sách.8 Xem tin tức: Hình 27. 5. 5.Biểu đồ tuần tự ca sử dụng xem tin tức.

1 KIỂM TRA CHỨC NĂNG TƯƠNG TÁC GIỮA NGƯỜI DÙNG VỚI CÁC MÃ CỔ PHIẾU MÀ NGƯỜI DÙNG QUAN TÂM.Dữ liệu các mã cổ phiếu có trên các sàn giao dịch bên phía server được lấy tĩnh trừ trang web http://cophieu68. 5. 5.3 KIỂM TRA: Do phạm vi khóa luận chỉ tập trung vào phần client nên server được tạo ra.com dưới dạng file excel và đuợc thêm vào trong cơ sở dữ liệu.Việc liên lạc.chạy trong môi trường thật.3. 5. Nhấn vào hàng tương ứng trong danh sách tin tức để xem toàn bộ thông tin của tin tức đó.yêu cầu máy tình phải cài đặt sẵn Eclipse.dữ liệu tin tức được thêm cứng vào cơ sở dữ liệu khoảng 20 tin tức.giao tiếp giữa client và server là giao tiếp thật.3.Để chạy được chương trình. 40 để thực hiện chức năng vẽ biểu đồ cho mã cổ . Nhấn vào nút để thực hiện chức năng xóa mã cổ phiếu đó khỏi danh sách mà người dùng quan tâm.2 KIỂM TRA CHỨC NĂNG THỂ HIỆN CÁC TIN TỨC TRÊN GIAO DIỆN NGƯỜI DÙNG VÀ VIỆC TƯƠNG TÁC VỚI NGƯỜI DÙNG. Nhấn vào nút “refresh” để cập nhật thông tin mới nhất cho mã cổ phiếu hiện tại.Android SDK và Android Emulator. Nhấn vào hàng tương ứng trong danh sách để xem thông tin về mã cổ phiếu. Nhấn vào nút phiếu. Nhấn vào nút “reset” để xóa toàn bộ mã cổ phiếu trong danh sách hiện tại.hoạt động với mục đích chính là kiểm tra các chức năng bên phía client.trên máy tính.đảm bảo khi có server hoàn chỉnh ghép vào có thể hoạt động được.

- Hình 28.Mỗi khi người dùng nhập mã cổ phiếu.3 KIỂM TRA CHỨC NĂNG TÌM KIẾM CÁC MÃ CỔ PHIẾU CÓ TRÊN THỊ TRƯỜNG CỦA CHƯƠNG TRÌNH. Chức năng tìm kiếm và đưa ra gợi ý các mã cổ phiếu hoạt động tốt. Mỗi lần khởi động chương trình mất khoảng 5-6 giây để vào giao diện chính do chương trình cần gửi yêu cầu và nhận dữ liệu từ server trả về.chương trình tự động đưa ra các gợi ý. 41 .Chức năng gợi ý mã cổ phiếu của chương trình.chương trình tự động đưa ra các mã cổ phiếu có tiền tố khớp với xâu kí tự người dùng nhập.4 THỬ NGHIỆM & KẾT QUẢ: Một số hình ảnh và kết quả khi đưa chương trình vào hoạt động thử. Nhấn vào nút “Add” để thêm mã cổ phiếu vào danh sách quan tâm.Khoảng thời gian này là thời gian liên lạc giữa client và server. 5. Gõ tên mã cổ phiếu cần tìm vào trong khung tìm kiếm.3.5.

Nếu mã cổ phiếu không hợp lệ.chương trình đưa ra lời nhắc nhở.Hộp thoại nhắc nhở với mã cổ phiếu không hợp lệ.Nếu mã cổ phiếu hợp lệ.- Chức năng thêm mã cổ phiếu mất khoảng thời gian 4-5 giây để chương trình kiểm tra mã cổ phiếu được thêm vào. Chức năng cập nhật thông tin mới nhất cho một mã cổ phiếu hoạt động ổn định.lấy thông tin mã cổ phiếu đố từ server về.chương trình tự động gửi yêu cầu. 42 . Hình 29.

Chức năng theo dõi tin tức của chương trình. Hình 31. Chức năng theo dõi và đọc tin tức ổn định.khi chạy thử chương trình mất khoảng 35-45 giây từ lúc click vào tin tức đến lúc browser hiển thị.Hình 30. 43 .Chức năng cập nhật thông tin của chương trình.tuy nhiên thời gian khởi động browser mất khá nhiều thời gian.

Do khóa luận tập trung vào phần client nên tạm thời dữ liệu được dùng để vẽ biểu đồ được chương trình sinh ngẫu nhiên. Hình 32. 44 .1 tháng.3 tháng.Chương trình cung cấp chức năng vẽ biểu đồ theo 5 khoảng thời gian: 1 tuần.Chức năng vẽ biểu đồ của chương trình.1 năm.các chức năng của chương trình hoạt động khá tốt.Về cơ bản. Nhìn chung.6 tháng.chương trình đã hoàn thành các chức năng.- Chức năng vẽ biểu đồ cho từng mã cổ phiếu hoạt động ổn định.

2 HƯỚNG PHÁT TRIỂN. Ứng dụng mang tính thực tế cao.có thể triển khai thực tế.chỉ cần server tuân theo đúng giao diện thiết kế thì hoàn toàn có thể thành một phần mềm có khả năng sử dụng được trong thực tế.1 KẾT LUẬN.javascript. 45 .Mục đích ưu tiên trước nhất là xây dựng server hoạt động thật tuân theo giao diện thiết kế để có thể đưa phần mềm vào sử dụng trong thực tế.hướng tới lợi ích cho những người kinh doanh chứng khoán trong nước. Việc xây dựng ứng dựng trên nền tảng Android thực sự có rất nhiều thú vị song cũng không ít những vấn đề.học được một số kiến thức mới.Song song đó cải tiến phần client để hoạt động hiệu quả hơn và có thể bổ sung thêm các chức năng mới cho chương trình.được tiếp xúc với những ngôn ngữ khác như html. 6.… Phần client đã tương đối hoàn chỉnh với các chức năng hoạt động hiệu quả.khó khăn vấp phải trong quá trình tìm hiểu và xây dựng ứng dụng.Qua đó trau dồi thêm kinh nghiệm trong lập trình ngôn ngữ Java.CHƯƠNG 6: TỔNG KẾT 6.

http://www.htm l [2].aspx [4]. AiChart . 2010.com/components/graphvie w [3].achartengine. pp.Tham khảo về sử dụng thư viện aichart.Tham khảo về sử dụng thư viện graphview.http://code. 38-48. Reto Meier.google.org/content/download.artfulbits. Flot Tham khảo về sử dụng thư viện flot.Tham khảo về sử dụng thư viện achartengine.Tài liệu tham khảo [1].http://android.com/p/droidcharts/ [6].com/p/flot/ [5]. Wiley Publishing.google. AchartEngine .http://code.http://www. DroidCharts Tham khảo về sử dụng thư viện droidcharts. GraphView .arnodenhond. . Professional Android 2 Application Development.com/Android/aiCharts.