Aplikacje sieciowe
Aplikacje na urządzenia mobile
Platformy dla aplikacji na urządzenia mobilne
• Java ME (Micro Edition)
• .NET Compact Framework
• Android
• Ipad, IPhone
• Windows Phone 7
• BlackBeery
• Symbian
• Środowiska zależne od platformy sprzetowej
Java Micro Edition
Konfiguracja urządzenia
• Connected Limited Device Configuration (CLDC)
Profile:
– Mobile Information Device (MID) – Personal Digital Assistant (PDA)
• Connected Device Configuration Profile:
– Foundation
Ograniczenia Maszyny virtualnej
• Brak implementacji wszystkich klas
• Brak implementacji liczb zmiennoprzecinkowych
• Brak kontroli nad obiektem Garbage Colektor
• Ograniczona obsługa wątków
• Za obsługę wyjątków odpowiedzialne jest
urządzenie
Tworzenie aplikacji mobilnej (MIDLET)
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class HelloMIDlet extends MIDlet implements CommandListener { private boolean midletPaused = false;
public Display getDisplay () { return Display.getDisplay(this);
}
public void exitMIDlet() {
switchDisplayable (null, null);
destroyApp(true);
notifyDestroyed();
}
public void startApp() { if (midletPaused) { resumeMIDlet ();
} else { initialize ();
startMIDlet ();
}
midletPaused = false;
}
public void pauseApp() { midletPaused = true;
}
public void destroyApp(boolean unconditional) { }
}
Środowisko programistyczne NETBEANS
Platforma .NET
Ograniczenia
• Brak możliwości tworzenia aplikacji ASP.NET na urządzenia mobilne
• Ograniczenia w dostępności klas lub metod w klasach
• Ograniczenie wykorzystania baz danych (w praktyce tylko MS SQL Compact Edition)
• Inny sposób korzystania z plików
• Nie wspiera serializacji binarnej i SOAP
Środowisko Visual Studio
Tworzenie aplikacji
using System;
using System.Linq;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace SmartDeviceTest2 {
public partial class MainSmartPhoneForm : Form {
public MainSmartPhoneForm() {
InitializeComponent();
}
private void MainSmartPhoneForm_Load(object sender, EventArgs e) {
this.tKlientTableAdapter.Fill(this.mobileDataBaseDataSet.TKlient);
} } }