日期:2014-05-17  浏览次数:20731 次

Java电商网站开发Android手机端,求前辈给思路,望大神指方向
公司已经上线的电商网站,需要开发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");