« Home « Kết quả tìm kiếm

Lập trình điện thoại di động - Ebook


Tóm tắt Xem thử

- Mục tiêu của J2ME là cho phép người lập trình viết các ứng dụng độc lập với thiết bị di động, không cần quan tâm đến phần cứng thật sự.
- Các thiết bị di động khác nhau có thể có các bộ vi xử lý khác nhau với các tập mã lệnh khác nhau.
- Tầng này cung cấp một sự chuẩn hóa cho các thiết bị di động để ứng dụng J2ME sau khi đã biên dịch có thể hoạt động trên bất kỳ thiết bị di động nào có J2ME KVM..
- Cũng có thể có các hiện trạng và các API khác ngoài MIDP được dùng cho ứng dụng.
- Ví dụ, có thể có hiện trạng PDA định nghĩa các lớp và phương thức hữu dụng cho việc tạo các ứng dụng PDA (lịch, sổ hẹn, sổ địa chỉ.
- Cũng có thể có một hiện trạng định nghĩa các API cho việc tạo các ứng dụng Bluetooth.
- Quá trình phát triển ứng dụng MIDlet với IDE (Môi trường phát triển tích hợp- Intergrated Development Environment):.
- đó tất cả các lớp đều phải được tiền kiểm tra trước khi chúng có thể được download về thiết bị di động.
- Các hình ảnh của ứng dụng.
- Các tập tin dữ liệu có thể được yêu cầu bởi ứng dụng.
- Một tập tin kê khai (manifest.mf) cung cấp mô tả về ứng dụng cho bộ quản lý ứng dụng (application manager) trên thiết bị di động..
- Người dùng: Download ứng dụng về thiết bị di động.
- Người dùng sau đó download tập tin JAR chứa ứng dụng về thiết bị di động.
- Việc này yêu cầu người dùng phải có tập tin JAR thật sự và phần mềm truyền thông để download ứng dụng sang thiết bị thông qua cáp dữ liệu..
- Việc này yêu cầu người dùng phải có tập tin JAR thật sự và phần mềm truyền thông để download ứng dụng sang thiết bị thông qua cổng hồng ngoại..
- Nếu tiến trình tiền kiểm tra thất bại thì ứng dụng sẽ không được download về thiết bị di động..
- Bộ quản lý ứng dụng: Lưu trữ chương trình.
- Bộ quản lý ứng dụng trên thiết bị di động sẽ lưu trữ chương trình trên thiết bị di động.
- Người dùng: Thực thi ứng dụng.
- Bộ quản lý ứng dụng sẽ chuyển ứng dụng cho KVM để chạy trên thiết bị di động..
- Mục đích của tầng này là cung cấp một tập tối thiểu các thư viện cho phép một ứng dụng Java chạy trên thiết bị di động.
- Chu kỳ sống ứng dụng.
- Giao diện ứng dụng và người dùng.
- Ứng dụng được truy xuất đến các API của CLDC và MIDP.
- Ứng dụng được truy xuất tài nguyên của thiết bị di động (các cổng, âm thanh, bộ rung, các báo hiệu.
- Một thiết bị di động có thể hỗ trợ nhiều hiện trạng.
- Một hiện trạng có thể áp đặt thêm các giới hạn trên các loại thiết bị di động (như nhiều bộ nhớ hơn hay độ phân giải màn hình cao hơn).
- Hiện trạng là tập các API hữu dụng hơn cho các ứng dụng cụ thể.
- Lập trình viên có thể viết một ứng dụng cho một hiện trạng cụ thể và không cần quan tâm đến nó chạy trên thiết bị nào..
- Nó không định nghĩa cách mà ứng dụng được nạp trong thiết bị di động.
- Các ứng dụng J2ME được gọi là MIDlet (Mobile Information Device applet)..
- Lớp chính của ứng dụng được định nghĩa là lớp kế thừa lớp MIDlet của MIDP.
- Có thể chỉ có một lớp trong ứng dụng kế thừa lớp này.
- Lớp MIDlet được trình quản lý ứng dụng trên điện thoại di động dùng để khởi động, dừng, và tạm dừng MIDlet (ví dụ, trong trường hợp có cuộc gọi đến)..
- Trong ví dụ này MIDletExample là bắt đầu của ứng dụng..
- Nó không thật sự xóa ứng dụng khỏi điện thoại di động.
- Có thể nhận các sự kiện timer..
- Bộ quản lý ứng dụng gọi hàm tạo và hàm startApp.
- Hàm startApp() có thể được gọi nhiều lần trong suốt chu kỳ sống của ứng dụng.
- Lập trình viên cũng có thể điều khiển trạng thái của MIDlet..
- Trong trường hợp này, phương thức notifyPaused() sẽ được dùng để yêu cầu bộ quản lý ứng dụng chuyển ứng dụng sang trạng thái tạm dừng..
- Các lớp đã biên dịch của ứng dụng MIDlet được đóng gói trong một tập tin JAR (Java Archive File).
- Tập tin JAR là toàn bộ ứng dụng MIDlet.
- Đồ họa mức thấp dùng cho các ứng dụng trò chơi yêu phải vẽ lên màn hình..
- Kích thước thật sự của textbox có thể lấy bằng phương thức getMaxSize()..
- Thời gian hiển thị có thể được thiết lập bởi ứng dụng.
- Tuy nhiên, cả nhãn và nội dung củaStringItem có thể được hiệu chỉnh bởi ứng dụng..
- Kích thước thật sự có thể nhỏ hơn yêu cầu do giới hạn của thiết bị di động..
- Gauge có thể có tính tương tác hoặc không.
- Lưu trữ bản ghi cho phép lưu dữ liệu khi ứng dụng thoát, khởi động lại và khi thiết bị di động tắt hay thay pin.
- Dữ liệu lưu trữ bản ghi sẽ tồn tại trên thiết bị di động cho đến khi ứng dụng thật sự được xóa khỏi thiết bị di động.
- Khi dữ liệu đã được định dạng, nó có thể được thêm vào lưu trữ bản ghi.
- Các bản ghi trong một lưu trữ bản ghi có thể được sắp xếp theo thứ tự do lập trình viên định nghĩa.
- Nó cho phép thiết bị di động sử dụng các ứng dụng như tìm kiếm cơ sở dữ liệu, trò chơi trực tuyến… Trong J2ME, mạng được chia làm hai phần.
- Các hiện trạng có thể định nghĩa các giao thức kết nối như HTTP,.
- HttpConnection) để có thể sử dụng các phương thức cho giao thức đó.
- Một kết nối HTTP có thể ở một trong ba trạng thái khác nhau: Thiết lập (Setup), Kết nối (Connectd), hay Đóng (Close)..
- Phương thức setRequestMethod() và setRequestProperty() chỉ có thể được dùng trong trạng thái thiết lập.
- Cả hai phương thức GET và POST có thể được dùng để triệu gọi CGI script (Common Gateway Interface script) và cung cấp dữ liệu nhập.
- CGI script có thể được triệu gọi giống như phương thức GET và POST..
- Nếu cần gởi thêm dữ liệu cho server, thì có thể dùng phương thức POST..
- Phương thức getRequestMethod() và getRequestProperty() có thể được dùng để lấy các thuộc tính trên..
- Lĩnh vực Ứng dụng không dây với công nghệ Java Khái quát.
- Các ứng dụng Java cho các thiết bị không dây nhỏ (“MIDlet”) sẽ đóng một vai trò – có thể là nhỏ, cũng có thể là lớn – trong các hệ thống phần mềm phân tán.
- 8K bộ nhớ không bay hơi dành cho dữ liệu bền vững của ứng dụng..
- Các kiểu ứng dụng MIDP.
- Các ứng dụng MIDP được gọi là các MIDlet.
- Ứng dụng đơn (standalone application) được nạp hoàn toàn vào thiết bị và có thể chạy bất kỳ lúc nào thiết bị được mở, không yêu cầu tài nguyên bên ngoài.
- Ứng dụng nối mạng (networked application) được chia thành ít nhất hai thành phần, một thành phần là client được triển khai trên thiết bị di động.
- Dịch vụ HTTP, bao gồm ứng dụng Web và dịch vụ Web (Web service).
- Quản lý dữ liệu ứng dụng phải thỏa mãn tất cả tính chất của giao tác ACID:.
- Tầng persistent quản lý lưu trữ bền vững và lấy dữ liệu ứng dụng.
- Mô hình mẫu có thể biểu diễn như Hình 4:.
- Điều này có khả năng sẽ làm giảm không gian cho ứng dụng MIDlet..
- Tối ưu hóa truyền thông Client/Server cho các ứng dụng di động Ứng dụng di động client/server.
- Ngoài các ứng dụng chạy đơn trên thiết bị di động không cần tương tác với tài.
- Tiếp theo sẽ so sánh các giao thức khác nhau, có thể được dùng để phát triển các loại ứng dụng phân tán này..
- Ở đây ta sẽ dùng một proxy servlet để có thể nâng cao hiệu quả của các ứng dụng di động client/server..
- Nhiều ứng dụng di động chỉ thật sự hoạt động khi kết nối đến server.
- Kết nối có thể “luôn luôn mở (always on)” hay chỉ mở khi ứng dụng cần liên lạc với server.
- Sử dụng cách tiếp cận phân tán, ứng dụng di động có thể truy xuất đến các cơ sở dữ liệu ngoại, vì những công việc quá phức tạp đối với khả năng hạn chế của thiết bị MIDP có thể được chuyển đến cho một server mạnh hơn.
- Do đó, lời giải cho ứng dụng di động doanh nghiệp chỉ có thể thực hiện thông qua tương tác giữa J2EE và Java 2 Platform, Micro Edition (J2ME).
- HTTP là một giao thức liên lạc client/server lý tưởng cho ứng dụng Java di động.
- Kiến trúc mức cao của một ứng dụng enterprise Java không dây..
- Một client ứng dụng sử dụng MIDP hay được gọi là MIDlet client, cung cấp giao diện người dùng trên thiết bị di động.
- Ứng dụng có thể dùng các thành phần này để hỗ trợ nhiều loại client mà không (hay ít) ảnh hưởng đến logic nghiệp vụ chính của ứng dụng.
- Ta xem xét một số vấn đề khi thiết kế và thực hiện các ứng dụng enterprise không dây..
- Xây dựng ứng dụng không dây có những ràng buộc đặc thù.
- Hạn chế của các thiết bị di động dẫn đến nhiều ràng buộc khi thiết kế các ứng dụng không dây.
- Do đó, các ứng dụng chỉ dựa vào HTTP sẽ có tính khả chuyển trên các thiết bị khác nhau.
- Mặt khác, không phải tất cả các thiết bị MIDP đều hỗ trợ truyền thông dựa trên packet hay datagram, do đó các ứng dụng sử dụng các phương thức này không bảo đảm tính khả chuyển..
- Server ứng dụng J2EE và nhiều thiết bị MIDP hỗ trợ HTTP trên Secure Sockets Layer (SSL).
- Thay vào đó, ứng dụng phải sử dụng một giao tác bù (compensating.
- Khi sử dụng HTTP, các nhà phát triển ứng dụng có thể dùng mã trạng thái của HTTP response để thể hiện thành công hay thất bại ở mức truyền thông.
- Điều này có ý nghĩa đặc biệt quyết định cho các ứng dụng không dây do màn hình hiển thị và khả năng nhập liệu của các thiết bị di động bị hạn chế..
- Cá nhân hóa ứng dụng.
- Bởi vì các dữ liệu này là ổn định, ứng dụng có thể dùng nó để cá nhân hóa việc sử dụng của người dùng..
- Lưu dữ liệu bền vững này ở đâu là tùy vào người phát triển ứng dụng..
- Thông tin cá nhân hóa có khả năng sử dụng giữa nhiều loại client hay không? Ví dụ, người dùng sử dụng ứng dụng đặt vé trên điện thoại di động có thể muốn truy xuất cùng ứng dụng đó qua Web.
- Dữ liệu cá nhân hóa có thể được lưu chồng ở cả client và server