公司已经上线的电商网站,需要开发Android系统的移动设备访问端.
上司布置任务,让我准备一份可行性分析,lz初来乍到经验不足,向各位前辈求个思路
以下是lz拙见:
一.访问网站的设备类型
1.标准手机版
手机标准版,适用于所有类型手机(触屏,全键盘,大屏,9键)
2.大屏幕触屏手机版
适用于IOS,Android操作系统的智能手机
3.电脑版
电脑访问的版本
二.面临的功能问题
1.如何判断访问网站的设备类型?
电脑,Android,IOS,塞班; 各种(手机/电脑)的浏览器
2.根据访问设备判断访问不同的域名打开相对应的页面(拿淘宝举个例子)
例如(电脑:www.taobao.com; 手机:m.taobao.com)
3.手机客户端该如何实现
手机客户端和手机浏览器
显示的信息相同,布局略有变化
4.手机客户本身就是个浏览器吗?
------解决方案--------------------
根据 User Agent String 判断客户端平台及浏览器的 Java 程序
------解决方案--------------------
版主的方法试试。
------解决方案--------------------
关于判断客户端,在你对应的客户端程序中设置头信息就行了。后台对HTTP请求头分析:
boolean mobileAgent = false;
Header userAgentHeader = request.headers.get("user-agent");
if (userAgentHeader.values.contains("QuhaoAndroid")) {
mobileAgent = true;
logger.debug("The caller agent is mobile : " + mobileAgent);
logger.debug("The caller agent is pc : " + !mobileAgent);
return;
}
if (userAgentHeader.values.contains("QuhaoiPhone")) {
mobileAgent = true;
logger.debug("The caller agent is mobile : " + mobileAgent);
logger.debug("The caller agent is pc : " + !mobileAgent);
return;
}
if (userAgentHeader.values.contains("Windows")) {
mobileAgent = false;
logger.debug("The caller agent is mobile : " + mobileAgent);
logger.debug("The caller agent is pc : " + !mobileAgent);
}
if (!session.contains(Constants.SESSION_USERNAME)) {
logger.debug("no session is found in Constants.SESSION_USERNAME");
renderJapidWith("japidviews.backend.merchant.MerchantManagementController.index");
}
还有就是现在成熟的解决方案(css/js),全适配,不需要自己去判断什么样的屏幕或者客户端:Bootstrap
http://getbootstrap.com/
------解决方案--------------------
客户端添加头信息:
HttpPost request = new HttpPost(httpUrl);
request.setHeader("user-agent", "QuhaoAndroid");