Android商城開發(fā)(一)——一次活動(dòng)頁需求引發(fā)的危機(jī)感

本文出自:https://blog.csdn.net/DT235201314/article/details/81027990

一丶概述

本文講述商城活動(dòng)頁需求解決過程揍瑟,及一些個(gè)人想法(危機(jī)感)铡俐,提供問題解決方法及核心代碼踊跟。

二丶活動(dòng)頁開發(fā)必備技能

1.切圖

2.js h5

3.Android webview

4.Android和js方法互調(diào)

三丶現(xiàn)狀陳述

個(gè)人:會Android寂祥,webview只做過簡單的頁面打開吵取,沒做過交互俭缓;會js(呵呵刑赶,好像已經(jīng)忘了吧)捏浊,會復(fù)制粘貼;切圖不會撞叨,可以學(xué)金踪,Android和js交互,可以學(xué)(兩篇博客搞定)牵敷。

需求:1.秒殺活動(dòng)(主要胡岔,后面文章再說);2.原生活動(dòng)頁改為js頁面(本文重點(diǎn))

項(xiàng)目:15年底的外包半成品項(xiàng)目枷餐,閑置至2018年初靶瘸,領(lǐng)導(dǎo)拍板重視緊急上線(緊急改BUG咯),4月原維護(hù)同事辭職尖淘,商城項(xiàng)目由我主要負(fù)責(zé)(之前有看代碼奕锌,沒負(fù)責(zé)開發(fā)),秒殺活動(dòng)發(fā)版時(shí)間:暫定下周五*(不到一周時(shí)間村生,評估:時(shí)間不足)惊暴。

行動(dòng):周末加班一天。

四丶實(shí)際操作

1.查看公司內(nèi)購項(xiàng)目“碰碰貓”(混合開發(fā)趁桃,已交給前段組負(fù)責(zé))辽话。

問題:1.使用httpClient,Android studio編譯報(bào)錯(cuò)卫病。(可以說項(xiàng)目已經(jīng)很久沒維護(hù)更新了)2......

說說碰碰貓油啤,升級空間非常大,功能點(diǎn)很多沒完善蟀苛,有提過需求卻一直擱淺...

可能原因:項(xiàng)目已交付給前段人員維護(hù)益咬,不屬于移動(dòng)組項(xiàng)目。新需求需要協(xié)作開發(fā)帜平,需領(lǐng)導(dǎo)協(xié)調(diào)辦公幽告。很久沒維護(hù)的項(xiàng)目梅鹦,網(wǎng)絡(luò)框架,Android studio配置等都得更新冗锁,工作量不小項(xiàng)目卻是掛在別的組(容易被當(dāng)皮球)齐唆。

2.兩篇文章搞定需求

理論篇:Android:你要的WebView與 JS 交互方式 都在這里了

實(shí)戰(zhàn)篇:Android與HTML+JS交互入門

兩篇文章講得很詳細(xì),后面再說相關(guān)技術(shù)

另外兩篇文章就能解決需求冻河,可見自己的可替代性很高箍邮。

3.切圖,一下真還學(xué)不會叨叙,拜托同事幫忙锭弊,驚訝的發(fā)現(xiàn)居然就是橫橫橫橫豎5下搞定,簡單的還是能學(xué)會的擂错。

4.尋找js商城模板(后面會粘貼代碼)還是交給同事廷蓉,居然幾分鐘就搞定了。須快速上手马昙。

五丶原生開發(fā)vs混合開發(fā)

原生開發(fā):

優(yōu)點(diǎn):更流暢,只需移動(dòng)端(一個(gè)人)維護(hù)

缺點(diǎn):活動(dòng)更新刹悴,另寫頁面行楞,復(fù)用性不高,需重新發(fā)版(如果設(shè)計(jì)圖變化不大土匀,顯示模板相同可不發(fā)版)

混合開發(fā):

優(yōu)點(diǎn):活動(dòng)更換只需要更換js頁面子房,不需要發(fā)版

缺點(diǎn):必要時(shí)需要移動(dòng)端,前段同時(shí)維護(hù)

六丶核心代碼

Android提供給js的接口就轧,傳值為空跳轉(zhuǎn)到主頁面证杭,傳值帶參數(shù)跳轉(zhuǎn)到商品詳情頁面

@JavascriptInterface
public void startFunction(final String text,final String text1) {
    if("".equals(text)&&"".equals(text1)){
        Intent intent = new Intent(this, MainActivity.class);
        startActivity(intent);
    }else {
        Intent intent = new Intent(this, DetailActivity.class);
        intent.putExtra(KeyContants.KEY_INENT_PRODUCT_ID, text);
        intent.putExtra(KeyContants.KEY_INTENT_PROMOTION_PRODUCT_ID, text1);
        startActivity(intent);
    }
}

商城js模板


<%@page contentType="text/html; charset=utf-8" pageEncoding="UTF-8" %>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>預(yù)售活動(dòng)</title>
</head>
 
<body style="text-align:center; margin:0; padding:0; background-color: black; ">
<img src="${pageContext.servletContext.contextPath}/static/promotion/img/51/ys-wap.jpg" style="width: 100%;" border="0" usemap="#Map" onClick="return false;"/>
<map name="Map" id="CribMap">
    <area shape="rect" coords="---" id="---" />
   
</map>
</body>
 
<script type="text/javascript">
    var ua = navigator.userAgent.toLowerCase();
    if (/iphone|ipad|ipod/.test(ua)) {
        document.getElementById("area01").onclick = function() { window.webkit.messageHandlers.callFunction.postMessage("{ \"productId\":\"---\",\"promotionId\":\"\" }") };
        document.getElementById("area20").onclick = function() { window.scrollTo(0,0) };
        document.getElementById("area21").onclick = function() { window.webkit.messageHandlers.backAction.postMessage("") };
 
    } else {
        document.getElementById("area01").onclick = function() { window.android.startFunction('---','') };
        document.getElementById("area20").onclick = function() { window.scrollTo(0,0) };
        document.getElementById("area21").onclick = function() { window.android.startFunction('','') };
    }
 
 
 
</script>
 
<script type="text/javascript">
    adjust();
    var timeout = null;
    window.onresize = function () {
        clearTimeout(timeout);
        timeout = setTimeout(function () { window.location.reload(); }, 100);
    }
    function adjust() {
        var map = document.getElementById("CribMap");
        var element = map.childNodes;
        var itemNumber = element.length / 2;
        for (var i = 0; i < itemNumber - 1; i++) {
            var item = 2 * i + 1;
            var oldCoords = element[item].coords;
            var newcoords = adjustPosition(oldCoords);
            element[item].setAttribute("coords", newcoords);
        }
        var test = element;
    }
    function adjustPosition(position) {
        var pageWidth = document.body.clientWidth;
        var imageWidth = 640;
        var each = position.split(",");
        for (var i = 0; i < each.length; i++) {
            each[i] = Math.round(parseInt(each[i]) * pageWidth / imageWidth).toString();
            i++;
            each[i] = Math.round(parseInt(each[i]) * pageWidth / imageWidth).toString();
        }
        var newPosition = "";
        for (var i = 0; i < each.length; i++) {
            newPosition += each[i];
            if (i < each.length - 1) {
                newPosition += ",";
            }
        }
        return newPosition;
    }
</script>
</html>

七丶危機(jī)感分析

1.項(xiàng)目:突然重視的商城項(xiàng)目,后期可能不重視妒御。以目前現(xiàn)狀花錢燒個(gè)商城APP與阿里京東競爭不可能解愤。

2.項(xiàng)目發(fā)展:可能像內(nèi)購平臺一樣,后期交由前端維護(hù)(事少了,KPI好不了)

3.個(gè)人:js不會乎莉,切圖不會送讲,說是說可以學(xué)卻一直沒開始學(xué),等著被淘汰

4.趨勢:大前端趨勢

只有不斷學(xué)習(xí)才能防止淘汰

寫在最后微信掃碼提問

如果文章對你有幫助惋啃,歡迎點(diǎn)贊關(guān)注

image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末哼鬓,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子边灭,更是在濱河造成了極大的恐慌异希,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,378評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件绒瘦,死亡現(xiàn)場離奇詭異称簿,居然都是意外死亡扣癣,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,970評論 3 399
  • 文/潘曉璐 我一進(jìn)店門予跌,熙熙樓的掌柜王于貴愁眉苦臉地迎上來搏色,“玉大人,你說我怎么就攤上這事券册∑到危” “怎么了?”我有些...
    開封第一講書人閱讀 168,983評論 0 362
  • 文/不壞的土叔 我叫張陵烁焙,是天一觀的道長航邢。 經(jīng)常有香客問我,道長骄蝇,這世上最難降的妖魔是什么膳殷? 我笑而不...
    開封第一講書人閱讀 59,938評論 1 299
  • 正文 為了忘掉前任,我火速辦了婚禮九火,結(jié)果婚禮上赚窃,老公的妹妹穿的比我還像新娘。我一直安慰自己岔激,他們只是感情好勒极,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,955評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著虑鼎,像睡著了一般辱匿。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上炫彩,一...
    開封第一講書人閱讀 52,549評論 1 312
  • 那天匾七,我揣著相機(jī)與錄音,去河邊找鬼江兢。 笑死昨忆,一個(gè)胖子當(dāng)著我的面吹牛杉允,可吹牛的內(nèi)容都是我干的扔嵌。 我是一名探鬼主播官撼,決...
    沈念sama閱讀 41,063評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼纷捞,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了涌穆?” 一聲冷哼從身側(cè)響起世澜,我...
    開封第一講書人閱讀 39,991評論 0 277
  • 序言:老撾萬榮一對情侶失蹤独旷,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體嵌洼,經(jīng)...
    沈念sama閱讀 46,522評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡案疲,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,604評論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了麻养。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片褐啡。...
    茶點(diǎn)故事閱讀 40,742評論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖鳖昌,靈堂內(nèi)的尸體忽然破棺而出备畦,到底是詐尸還是另有隱情,我是刑警寧澤许昨,帶...
    沈念sama閱讀 36,413評論 5 351
  • 正文 年R本政府宣布懂盐,位于F島的核電站,受9級特大地震影響糕档,放射性物質(zhì)發(fā)生泄漏莉恼。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,094評論 3 335
  • 文/蒙蒙 一速那、第九天 我趴在偏房一處隱蔽的房頂上張望俐银。 院中可真熱鬧,春花似錦端仰、人聲如沸悉患。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,572評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至坞淮,卻和暖如春茴晋,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背回窘。 一陣腳步聲響...
    開封第一講書人閱讀 33,671評論 1 274
  • 我被黑心中介騙來泰國打工诺擅, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人啡直。 一個(gè)月前我還...
    沈念sama閱讀 49,159評論 3 378
  • 正文 我出身青樓烁涌,卻偏偏與公主長得像,于是被迫代替她去往敵國和親酒觅。 傳聞我的和親對象是個(gè)殘疾皇子撮执,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,747評論 2 361

推薦閱讀更多精彩內(nèi)容