㈠ 做一個商城app需要多少錢
做一個商城app需要多少錢
近年來,國內電子商務產業發展迅猛。隨著大數據、區塊鏈技術和社交媒體的加入,電商產業模式也得到了前所未有的發展和轉型。例如,從傳統的B2C到C2C,消費者既可以成為消費者,也可以成為推動者,從而刺激消費。那麼,手機購物商城App背後的邏輯是什麼?製作一個商城APP需要多少錢?這里,讓我們從以下幾個方面逐一了解。
3、App自助平台製作
過去要想擁有一套App軟體,大多數選擇外包,但是需要資金投入大,普通中小企業根本承擔不起。不過隨著技術的進步,現在,不需任何編程開發技術,不需要找專業的外包公司開發,自己就能夠製作手機APP了。而且成本可以節約90%左右。
㈡ 做一個APP定製開發需要多少錢_一套app設計項目多少錢
做一個APP定製開發需要多螞搭返少錢
如今,不少企業都想擁有屬於自己企業或產品的手機APP,但其中最困擾企業主的問題就是:開發一款手機APP到底需要多少錢?
簡單點來說,要視手機APP的需求及質量而言,價位一般在幾千到十幾萬左右,更高端的價格更高。
今天,我們就來詳細分析一下這個問題,請繼續往下看吧。
一、APP開發款式分為固定款和定製款,兩者的價格均不相同
固定款:是指直接套用已有的、現成的APP固定模板,報價是固定的,所需要的功能也是固定的,缺點就是客戶拿不到源代碼,也不能根據企業需求進行定製,由於枝腔源代碼是封裝的,如果企業以後想進行功能升級或系統維護的話,也不能夠實現,只能重新開發一個新的軟體。
固定款的APP開發時間短,約2~3日的時間即可完成,費用大約在幾千到幾萬之間。
定製款:定製款是指APP的功能全部重新開發,過程比較繁瑣,需要美工、策劃、APP開發(前台/客戶端/手機端)、後台程序員等工種協同完成,大型的、功能復雜的APP甚至需要數十人的團隊。
由於APP的功能和設計都是定製的,因此價格會高些。定製款的開發時間與開發價格是成正比的,開發時間長,大約在兩三個月甚至不定的周期里才能完成,而費用大概在幾萬甚至十幾萬左右。
因此,想要知道開發一款手機APP需要花費多少錢,企業主首先必須把APP的詳細需求和功悶飢能告知APP開發公司,開發公司才能報出一個合理的價格。
二、手機APP平台不同,製作成本也不一樣
現在市面上流行的手機APP製作平台主要有兩種一般包括兩種系統:安卓系統(android)和蘋果系統(IOS)。
一般來說,製作蘋果系統的手機APP軟體費用要比安卓平台的貴一些,因為蘋果公司對蘋果平台的封閉性和手機APP開發語言Objective-C的難度,都讓APP開發者加大了蘋果系統手機APP開發的難度。
三、APP製作成本包含參與人員的工資
通常情況下,開發一款APP需要產品經理、客戶端工程師、後端工程師和UI設計師各一名,這已經是製作手機APP應用軟體比較精簡的配置了,所以這些參與人員的工資也是包含在APP製作成本當中的。這些工作人員的月薪加起來可能都會超過4、5萬元。
四、APP開發公司的所在地
需要注意的是,同樣實力的APP開發公司,在不同的城市也會導致APP的成本費用高一些
㈢ 求一套完整的java WEB項目的網路購物網站源代碼
/**
*@description:
*@authorchenshiqiangE-mail:[email protected]
*@date2014年9月7日下午2:51:50
*@version1.0
*/
packagecom.example.map;
importjava.util.ArrayList;
importjava.util.Collections;
importjava.util.HashSet;
importjava.util.List;
importandroid.app.Activity;
importandroid.os.Bundle;
importandroid.support.v4.view.PagerAdapter;
importandroid.support.v4.view.PagerTabStrip;
importandroid.support.v4.view.ViewPager;
importandroid.text.Editable;
importandroid.util.Log;
importandroid.view.LayoutInflater;
importandroid.view.View;
importandroid.view.ViewGroup;
importandroid.widget.ExpandableListView;
importandroid.widget.ListView;
importcom..mapapi.map.offline.MKOLSearchRecord;
importcom..mapapi.map.offline.MKOLUpdateElement;
importcom..mapapi.map.offline.MKOfflineMap;
importcom..mapapi.map.offline.MKOfflineMapListener;
importcom.example.map.adapters.OfflineExpandableListAdapter;
importcom.example.map.adapters.OfflineMapAdapter;
importcom.example.map.adapters.OfflineMapManagerAdapter;
importcom.example.map.interfaces.;
importcom.example.map.models.OfflineMapItem;
importcom.example.map.utils.CsqBackgroundTask;
importcom.example.map.utils.ToastUtil;
importcom.example.system.R;
istener,
{
//------------------------Constants------------------------
//-------------------------Fields--------------------------
privateViewPagerviewpager;
privatePagerTabStrippagertab;
privateMySearchViewsvDown;
privateListViewlvDown;
privateMySearchViewsvAll;
;
privateListViewlvSearchResult;
privateList<View>views=newArrayList<View>(2);
privateList<String>titles=newArrayList<String>(2);
privateMKOfflineMapmOffline=null;
;
;
;
privateList<OfflineMapItem>itemsDown;//下載或下載中城市
privateList<OfflineMapItem>itemsAll;//所有城市,與熱門城市及下載管理對象相同
privateList<OfflineMapItem>itemsProvince;
privateList<List<OfflineMapItem>>itemsProvinceCity;
//-----------------------Constructors----------------------
//--------Methodsfor/fromSuperClass/Interfaces-----------
@Override
protectedvoidonCreate(BundlesavedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_offline_map);
// finalStringpackname=this.getPackageName();
// PackageInfopackageInfo;
// try
// {
// packageInfo=this.getPackageManager().getPackageInfo(packname,PackageManager.GET_SIGNATURES);
//
//
// if(code==-00)
// {
//初始化離線地圖管理
mOffline=newMKOfflineMap();
mOffline.init(this);
initViews();
viewpager.setCurrentItem(1);
// }
// }
// catch(NameNotFoundExceptione)
// {
// e.printStackTrace();
// }
}
privatebooleanisResumed=false;
@Override
protectedvoidonResume()
{
super.onResume();
if(!isResumed)
{
isResumed=true;
loadData();
}
}
@Override
protectedvoidonDestroy()
{
super.onDestroy();
mOffline.destroy();
}
/**
*
*@authorchenshiqiangE-mail:[email protected]
*@paramtype
*事件類型:MKOfflineMap.TYPE_NEW_OFFLINE,MKOfflineMap.TYPE_DOWNLOAD_UPDATE,MKOfflineMap.TYPE_VER_UPDATE.
*@paramstate
*事件狀態:當type為TYPE_NEW_OFFLINE時,表示新安裝的離線地圖數目.當type為TYPE_DOWNLOAD_UPDATE時,表示更新的城市ID.
*/
@Override
(inttype,intstate)
{
switch(type)
{
caseMKOfflineMap.TYPE_DOWNLOAD_UPDATE:
MKOLUpdateElementupdate=mOffline.getUpdateInfo(state);
if(setElement(update,true)!=null)
{
if(itemsDown!=null&&itemsDown.size()>1)
{
Collections.sort(itemsDown);
}
refreshDownList();
}
else
{
downAdapter.notifyDataSetChanged();
}
allSearchAdapter.notifyDataSetChanged();
allCountryAdapter.notifyDataSetChanged();
break;
caseMKOfflineMap.TYPE_NEW_OFFLINE:
//有新離線地圖安裝
Log.d("OfflineDemo",String.format("addofflinemapnum:%d",state));
break;
caseMKOfflineMap.TYPE_VER_UPDATE:
//版本更新提示
break;
}
}
/**
*網路下載狀態改變(暫停--》恢復)居然不回調,所以改變狀態時自己得增加介面監聽狀態改變刷新界面
*
*@authorchenshiqiangE-mail:[email protected]
*@paramitem
*有狀態改變的item
*@paramremoved
*item是否被刪除
*/
@Override
publicvoidstatusChanged(OfflineMapItemitem,booleanremoved)
{
if(removed)
{
for(inti=itemsDown.size()-1;i>=0;i--)
{
OfflineMapItemtemp=itemsDown.get(i);
if(temp.getCityId()==item.getCityId())
{
itemsDown.remove(i);
}
}
refreshDownList();
}
else
{
loadData();
downAdapter.notifyDataSetChanged();
}
allSearchAdapter.notifyDataSetChanged();
allCountryAdapter.notifyDataSetChanged();
}
//---------------------Methodspublic----------------------
publicvoidtoDownloadPage()
{
viewpager.setCurrentItem(0);
}
//---------------------Methodsprivate---------------------
privatevoidinitViews()
{
//TODO
viewpager=(ViewPager)findViewById(R.id.viewpager);
pagertab=(PagerTabStrip)findViewById(R.id.pagertab);
LayoutInflaterinf=LayoutInflater.from(this);
Viewv1=inf.inflate(R.layout.view_offline_download,null,false);
svDown=(MySearchView)v1.findViewById(R.id.svDown);
lvDown=(ListView)v1.findViewById(R.id.lvDown);
views.add(v1);
Viewv2=inf.inflate(R.layout.view_offline_countrys,null,false);
svAll=(MySearchView)v2.findViewById(R.id.svAll);
lvWholeCountry=(ExpandableListView)v2.findViewById(R.id.lvWholeCountry);
lvSearchResult=(ListView)v2.findViewById(R.id.lvSearchResult);
views.add(v2);
titles.add("下載管理");
titles.add("城市列表");
pagertab.setTabIndicatorColor(0xff00cccc);
pagertab.setDrawFullUnderline(false);
pagertab.setBackgroundColor(0xFF38B0DE);
pagertab.setTextSpacing(50);
viewpager.setOffscreenPageLimit(2);
viewpager.setAdapter(newMyPagerAdapter());
svDown.setSearchListener(newMySearchView.SearchListener()
{
@Override
publicvoidafterTextChanged(Editabletext)
{
refreshDownList();
}
@Override
publicvoidsearch(Stringtext)
{
}
});
svAll.setSearchListener(newMySearchView.SearchListener()
{
@Override
publicvoidafterTextChanged(Editabletext)
{
refreshAllSearchList();
}
@Override
publicvoidsearch(Stringtext)
{
}
});
downAdapter=newOfflineMapManagerAdapter(this,mOffline,this);
lvDown.setAdapter(downAdapter);
allSearchAdapter=newOfflineMapAdapter(this,mOffline,this);
lvSearchResult.setAdapter(allSearchAdapter);
allCountryAdapter=(this,mOffline,this);
lvWholeCountry.setAdapter(allCountryAdapter);
lvWholeCountry.setGroupIndicator(null);
}
/**
*刷新下載列表,根據搜索關鍵字及itemsDown下載管理數量變動時調用
*/
privatevoidrefreshDownList()
{
Stringkey=svDown.getInputText();
if(key==null||key.length()<1)
{
downAdapter.setDatas(itemsDown);
}
else
{
List<OfflineMapItem>filterList=newArrayList<OfflineMapItem>();
if(itemsDown!=null&&!itemsDown.isEmpty())
{
for(OfflineMapItemi:itemsDown)
{
if(i.getCityName().contains(key))
{
filterList.add(i);
}
}
}
downAdapter.setDatas(filterList);
}
}
/**
*刷新所有城市搜索結果
*/
()
{
Stringkey=svAll.getInputText();
if(key==null||key.length()<1)
{
lvSearchResult.setVisibility(View.GONE);
lvWholeCountry.setVisibility(View.VISIBLE);
allSearchAdapter.setDatas(null);
}
else
{
lvSearchResult.setVisibility(View.VISIBLE);
lvWholeCountry.setVisibility(View.GONE);
List<OfflineMapItem>filterList=newArrayList<OfflineMapItem>();
if(itemsAll!=null&&!itemsAll.isEmpty())
{
for(OfflineMapItemi:itemsAll)
{
if(i.getCityName().contains(key))
{
filterList.add(i);
}
}
}
allSearchAdapter.setDatas(filterList);
}
}
privatevoidloadData()
{
newCsqBackgroundTask<Void>(this)
{
@Override
protectedVoidonRun()
{
//TODOAuto-generatedmethodstub
//導入離線地圖包
//將從官網下載的離線包解壓,把vmp文件夾拷入SD卡根目錄下的BaiMapSdk文件夾內。
//把網站上下載的文件解壓,將BaiMapvmpl裡面的.dat_svc文件,拷貝到手機BaiMapSDK/vmp/h目錄下
intnum=mOffline.importOfflineData();
if(num>0)
{
ToastUtil.showToastInfo(BaiOfflineMapActivity.this,"成功導入"+num+"個離線包",false);
}
List<MKOLSearchRecord>all=null;
try
{
all=mOffline.getOfflineCityList();
}
catch(Exceptione)
{
e.printStackTrace();
}
if(all==null||all.isEmpty())
{
ToastUtil.showToastInfo(BaiOfflineMapActivity.this,"未獲取到離線地圖城市數據,可能有其他應用正在使用網路離線地圖功能!",false);
returnnull;
}
List<MKOLSearchRecord>hotCity=mOffline.getHotCityList();
HashSet<Integer>hotCityIds=newHashSet<Integer>();
if(!hotCity.isEmpty())
{
for(MKOLSearchRecordr:hotCity)
{
hotCityIds.add(r.cityID);
}
}
itemsAll=newArrayList<OfflineMapItem>();
itemsDown=newArrayList<OfflineMapItem>();
itemsProvince=newArrayList<OfflineMapItem>();
itemsProvinceCity=newArrayList<List<OfflineMapItem>>();
//cityType0:全國;1:省份;2:城市,如果是省份,可以通過childCities得到子城市列表
//全國概略圖、直轄市、港澳子城市列表
ArrayList<MKOLSearchRecord>childMunicipalities=newArrayList<MKOLSearchRecord>();
proHot.cityName="熱門城市";
proHot.childCities=cs;
List<MKOLUpdateElement>updates=mOffline.getAllUpdateInfo();
if(updates!=null&&updates.size()>0)
{
}
@Override
protectedvoidonResult(Voidresult)
{
//TODOAuto-generatedmethodstub
refreshDownList();
refreshAllSearchList();
allCountryAdapter.setDatas(itemsProvince,itemsProvinceCity);
}
}.execute();
}
㈣ 怎麼查看軟體源代碼
問題一:怎樣查看別人做的軟體的源代碼(高手進) 無論你學什麼都不可能得到真正的源代碼的,原因很簡單,絕大多數的exe或者dll都是用高級語言諸如C/C++/delphi之類開發的,經過開發環境的編譯得到計算機能夠執行的二進制機器碼文件exe,這個過程是通常是不可轉逆的,但是這個過程稱之為反匯編或者反編譯,也就是說你可以用一些軟體(比如W32Da *** 等等)將exe之類進行反編譯,得到匯編語言的代碼,這種代碼雖然可能執行結果與原軟體相同,但已經與源代碼完全不同了。因此絕大多數的軟體破解工作,都是基於反匯編的調試工具上進行的,比如ollydbg或者softice等等。
當然有些特例的,比如/java/vb等等開發的exe,是有可能用一些專用軟體看到部分源代碼的。
問題二:如何查看軟體的源代碼 30分 額 你想多了..... 現在軟體都是生成的 也就說源代碼都被加密過了。除非作者把源碼發出來,不然是看不到的。 當然有些牛逼的黑客能反編譯,但人家的反編譯軟體都當傳家寶一樣收著,不會公布出來的!!!!
問題三:怎麼可以查看一個軟體的源代碼 前觸是你會編程,懂得代碼流程和代碼函數的用途
你在編寫個程序(反射),將軟體源代碼讀出來,就能知道它用了哪些函數,用了哪些方法,怎樣調用的
這樣你就不是知道了它是怎麼寫的,不過編寫反射程序蠻麻煩,現在我還在研究當中
一般軟體漏洞 可以用這個方法檢查出來,進行報復和修復。。。。現在的游戲外掛,就是利用這個原理編寫出來的
問題四:如何查看已編寫好的軟體的源代碼? 除非是未編譯的軟體源代碼,平常你看到的雙擊直接安裝的軟體是經過打包(或者加殼)處理過的。所以你能看到的最多也只是經過反匯編工具解碼出來的匯編代碼,需要很高的匯編知識才能看懂。而且如果軟體加殼了,這個解殼的過程也挺復雜。所以建議你搜一下那個軟體的源碼,如果沒有就沒有辦法了~!
問題五:怎樣查看一個軟體的源代碼? 一般情況下是不可能矗(除非公開源代碼的),一般軟體肯定都有加密措施,不然的話,就不會告微軟壟斷、要求微軟公開源代碼了!
公開源代碼的話,我想用vc++一般都可以看吧。自己的觀點,希望能夠拋磚引玉
問題六:怎樣在安卓設備上查看軟體源代碼 安卓設備是無法查看軟體源代碼的。每一個在手機安裝的app,都是經過嚴格的加密和數字簽名發布的應用程序,想要看到源代碼必須破解加密,不過這幾乎不可能。
一些簡單的應用程序還是可以反編譯工具,查看到源代碼的。
問題七:怎麼查看可執行程序的源代碼 有沒有什麼工具? 只能進行反編譯,你看到也也是一些匯編編碼,想看源碼根本就沒有可能。
滿意請採納
問題八:怎麼查看一個應用程序的源代碼。 不能,唯一的方法就是反匯編,但是反匯編對匯編語言的要求很高,而且效率極低!如果這么容易知道源碼,那麼那些靠寫程序吃飯人飯碗早就掉了!還是問你朋友要源碼吧~要不然自己寫一個...
問題九:游戲軟體怎麼查看源代碼? 呵呵 ,源代碼自然看不到了,比如java編寫的游戲代碼發布後都是.class的文件,你如果能成功找到這些文件的話,下載一個java的反編譯器,把這個文件載入進去就可以看到源代碼了!其他語言編寫的代碼,我還真不會弄了!
問題十:怎麼查看一個exe程序的源代碼 有很多反編譯軟體但是 目前的那些效率比較低下,而且不是什麼樣的exe程序都可以反編譯的要看編碼的語言你可以去網路一下eXeScope(下載地址 onlinedown/soft/9594)這個工具你可以試試 祝你好運~