Если ваше мобильное устройство / никакие мобильные приложения не разделены, вам необходимо вставить в файл Face-config.xml следующую строку
<application>
<default-render-kit-id>PRIMEFACES_MOBILE</default-render-kit-id>
</application>
, если ваше мобильное устройство / никакие мобильные представления не находятся в том же приложении, которое у вас есть
написать обработчик представления путем переопределения API CalculayRenderKitId и решить, когда отображать страницу в мобильном режиме.Этот подход рекомендуется, если ваши мобильные и немобильные страницы находятся в одном приложении, и вам нужно переключать рендер-комплекты на лету (из документации Primefaces Mobile).
Здесь простой класс ViewHandler, который используетфункциональность Spring Mobile для переключения между мобильными и немобильными страницами.
import javax.faces.application.ViewHandler;
import javax.faces.application.ViewHandlerWrapper;
import javax.faces.context.FacesContext;
import javax.servlet.http.HttpServletRequest;
import org.springframework.mobile.device.Device;
import org.springframework.mobile.device.DeviceUtils;
import org.springframework.mobile.device.site.SitePreference;
import org.springframework.mobile.device.site.SitePreferenceUtils;
/**
* @author <a href="mailto:gesuino.napoli">Gesuino Napoli</a>
*
*/
public class MobileViewHandler extends ViewHandlerWrapper {
private ViewHandler wrapped;
public MobileViewHandler(ViewHandler wrapped) {
this.wrapped = wrapped;
}
@Override
public ViewHandler getWrapped() {
return this.wrapped;
}
@Override
public String calculateRenderKitId(FacesContext context) {
HttpServletRequest request = (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest();
Device device = DeviceUtils.getRequiredCurrentDevice(request);
SitePreference sitePreference = SitePreferenceUtils.getCurrentSitePreference(request);
if (device.isMobile() || sitePreference == SitePreference.MOBILE) {
return "PRIMEFACES_MOBILE";
}
return this.wrapped.calculateRenderKitId(context);
}
}
Затем зарегистрируйте ViewHandler в face-config.xml
<application>
<!-- <default-render-kit-id>PRIMEFACES_MOBILE</default-render-kit-id> -->
<view-handler>com.acme.myproject.web.util.viewhandler.MobileViewHandler</view-handler>
....
</application>
Если вы хотите протестировать свое приложениеС помощью эмулятора Android вы можете скачать и установить SDK-Android
- Установить Android SDK
- Установить плагин ADT Eclipse
- Создать виртуальное устройство Android (AVD)
Чтобы сделать это, перейдите по этой ссылке: http://developer.android.com/sdk/index.html.
Затем перейдите к этой статье "Получение эмулятора Android для чтения виртуальных хостов на компьютере разработчика" - http://dillieodigital.wordpress.com/2012/03/19/soup-to-nuts-getting-your-android-emulator-to-read-virtual-hosts-on-your-development-machine/