版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
Android作業(yè)題目:基于android平臺的音樂播放器院系:計算機與信息工程學院班級:10級軟件技術(shù)姓名:學號:指導老師:完成日期:2021年12月28日目錄HYPERLINK引言 4HYPERLINK1.項目背景 4HYPERLINK2.編寫目的 5HYPERLINK第一章系統(tǒng)需求分析 5HYPERLINK1.1功能需求 5HYPERLINK1.1.1播放器的基本控制需求 6HYPERLINK1.2系統(tǒng)界面需求 6HYPERLINK1.3系統(tǒng)性能需求 7HYPERLINK1.4運行環(huán)境需求 7HYPERLINK第二章Android數(shù)據(jù)庫設計 8HYPERLINK2.1數(shù)據(jù)庫及字段屬性設計 8HYPERLINK2.1.1字段設計 8HYPERLINK2.2數(shù)據(jù)庫連接 8HYPERLINK2.2.1創(chuàng)建數(shù)據(jù)庫 9HYPERLINK2.2.2操作數(shù)據(jù)庫 9HYPERLINK2.2.3數(shù)據(jù)顯示 10HYPERLINK第三章播放器系統(tǒng)功能詳細設計 11HYPERLINK3.1音樂播放器主界面功能實現(xiàn) 11HYPERLINK3.1.1播放器主界面 11HYPERLINK3.1.2播放界面音軌的實現(xiàn) 12HYPERLINK3.1.3播放器播放、暫停、停止等功能 14HYPERLINK3.1.4播放列表功能 15HYPERLINK3.1.5菜單功能 16HYPERLINK3.1.6菜單功能實現(xiàn) 17HYPERLINK3.1.7界面實現(xiàn) 18HYPERLINK3.1.8歌詞顯示實現(xiàn) 19HYPERLINK3.1.9文件瀏覽器界面 21HYPERLINK3.2文件瀏覽器功能實現(xiàn) 22HYPERLINK3.3數(shù)據(jù)存儲方式 22HYPERLINK3.3.1SharedPreferencesPreferencePreference 22HYPERLINK3.3.2File存儲方式 23HYPERLINK3.3.3SQLiteDatabase數(shù)據(jù)庫 23HYPERLINK第四章結(jié)論 25摘要當今社會的生活節(jié)奏越來越快+Android系統(tǒng)上一的款音樂播放器,應用程序的設計與實現(xiàn)進行討論。Android是一個開源的系統(tǒng),它底層是基于Linux的操作系統(tǒng),本論文的音樂播放器采用了Android開源系統(tǒng)技術(shù),利用Java語言和Eclipse編輯工具對播放器進行編寫。同時給出了詳細的系統(tǒng)設計過程、部分界面圖及主要功能運行流程圖,本文還對高度過程中遇到的問題和解決方法進行了詳細的討論,該音樂播放器集播放、暫停、停止、上一首、下一首、音量調(diào)節(jié)、歌詞顯示等功能于一體,性能良好,Android在系統(tǒng)中能獨立運行。該播放器還擁有對文件瀏覽器的訪問功能、歌曲播放模式、以及歌詞開閉狀態(tài)的友好設置.MP3的全名是MPEGAudioLayer-3,是一種聲音文件的壓縮格式,由于本播放器只限于應用層程序的探討,所以對具體的壓縮算法不作深究。關(guān)鍵詞:Android開源系統(tǒng)Linux音樂播放器ABSTRACTThepaceoflifeintoday'ssociety,withmoreadvancedhardwaremobiledevicesformobiledevices,peoplemoreandmoreisalsohigh,therequirementsfromthepreviouspursuittopursuethevisualtechnology,therefore,alsograduallyimprovethesystemrequirements,thepapermainlyistotakeonamusicplayerfromsystemdesignandrealizationoftheapplicationisdiscussed.Takethesystemisanopensource,itisbasedontheoperatingsystem,usetheLinuxmusicplayeroftheAndroidopen-sourcesystemtechnology,usingtheJavalanguageandeditingtoolsforplayerstoEclipse.Presentsthedetaileddesignprocess,thepartofthesystemandthemainfunctionsofoperationinterfacediagramofheight,thispaperalsoflowprocessproblemsandsolvingmethodsarediscussedindetail,andthemusicplayerepisode,pause,stopanda,next,volumeadjustment,lyricsdisplayfunctions,suchasperformanceisgood,canoperateindependentlyintheAndroidsystem.Thisplayerhasaccesstothefilebrowserphonefunctions,songsandplayedpattern,openandcloseconditionoffriendlywords.MP3AudioMPEGLayer-nameis3,isakindofsoundfilescompressedformat,becausetheplayerstoexplore,sotheapplicationprocedureforspecificcompressionalgorithmnotprobeKeyWords:AndroidOpensourcesystemLinuxmusicplayer引言1.項目背景當今社會的生活節(jié)奏越來越快,人們對的要求也越來越高,由于市場發(fā)展迅速,使得操作系統(tǒng)也出現(xiàn)了不同各類,現(xiàn)在的市場上主要有三個操作系統(tǒng),Windowsmobile,symbion,以及谷歌的Android操作系統(tǒng),其中占有開放源代碼優(yōu)勢的Android系統(tǒng)有最大的發(fā)展前景。那么能否在上擁有自己編寫的個性音樂播放器呢?能的,谷歌Android系統(tǒng)就能做到。本文的音樂播放器就是基于谷歌Android平臺的播放器。要研究了各種市場上流行的播放器,了解它們各自的插件及編碼方式,還有各種播放器播放的特別格式文件,分析各種編碼的優(yōu)缺點以及各種播放器本身存在的缺陷和特點,編寫出功能實用,使用方便快捷的播放器。目前已經(jīng)實現(xiàn)的功能有能播放常見音頻文件的功能,如MP3,WAV,等,擁有播放菜單,能選擇播放清單,具備一般播放器的功能,如快進,快退,音量調(diào)節(jié)等。播放模式也比較完善,有單曲,順序,循環(huán),隨機播放等模式。2.編寫目的現(xiàn)今社會生活緊張,而欣賞音樂是其中最好的舒緩壓力的方式之一,本項目的目的是開發(fā)一個可以播放主流音樂文件格式的播放器,本設計的實現(xiàn)的這主要功能是播放Mp3,Av多種格式的音樂文件,并且能夠控制播放,暫停,停止,上一曲,下一曲,音量調(diào)節(jié),視覺外觀,播放列表和歌曲文件的管理操作等多種播放控制功能,界面簡明,操作簡單。本項目是一款基于Android平臺的音樂播放器,使Android擁有個性的多媒體播放器,使顯得更生動靈活化,與人們更為接近,讓主人隨時隨地處于音樂視頻的旋律之中。使人們的生活更加多樣化。也使設計者更加熟練Android的技術(shù)和其它在市場上的特點第一章系統(tǒng)需求分析1.1功能需求根據(jù)項目的目標,我們可獲得項目系統(tǒng)的基本需求,以下從不同角度來描述系統(tǒng)的需求,并且使用用例圖來描述,系統(tǒng)的功能需求,我們分成四部分來概括,即播放器的基本控制需要,播放列表管理需求,播放器友好性需求和播放器擴展卡需求。以下分別描述:1.1.1播放器的基本控制需求圖1.1播放器基本控制圖目標:使得用戶可以播放在播放列表中選中的歌曲1.2系統(tǒng)界面需求播放器界面要求布局合理,顏色舒適,控制按鈕友好,為了減少開發(fā)工程量,圖片素材多數(shù)為公司項目素材(圖2.6)圖2.6播放器界面說明:左下角為清單按鈕藍色條為音軌右下角為程序退出按1.3系統(tǒng)性能需求根據(jù)Android系統(tǒng)要求無響應時間為5秒,所以就有如下性能要求:(1)當要求歌曲播放時,程序響應時間最長不能超過5秒(2)當要求歌曲暫停時,程序響應時間最長不能超過5秒(3)當要求歌曲停止時,程序響應時間最長不能超過5秒(4)當要求歌曲上/下一首時,程序響應時間最長不能超過5秒(5)當要求進行清單列表時,程序響應時間最長不能超過5秒1.4運行環(huán)境需求操作系統(tǒng):Android基于Linux操作系統(tǒng)支持環(huán)境:Android1.5-2.0.1版本開發(fā)環(huán)境:Eclipse3.5ADT0.95第二章Android數(shù)據(jù)庫設計數(shù)據(jù)結(jié)構(gòu)組織和數(shù)據(jù)庫文件設計要根據(jù)不同用途,使用要求等,來決定數(shù)據(jù)的整體組織形式等一系列問題。數(shù)據(jù)庫,顧名思義,是存放數(shù)據(jù)的倉庫。只不過這個倉庫是在計算機存儲設備上,而且數(shù)據(jù)是按一定的格式存放的。數(shù)據(jù)庫中的數(shù)據(jù)按一定數(shù)據(jù)模型組織、描述和存儲,具有較小的重復度、較高的數(shù)據(jù)獨立性和易擴展性,并且可以被在一定范圍內(nèi)的各種用戶共享。在涉及數(shù)據(jù)庫的軟件開發(fā)中,需要根據(jù)有待解決的問題性質(zhì)、規(guī)模,以及所采用的前端程序創(chuàng)建工具等,做出合適的數(shù)據(jù)庫類型選擇2.1數(shù)據(jù)庫及字段屬性設計2.1.1字段設計file_table主要是保存歌曲名字、類型、路徑字段說明:Id歌曲id號fileName歌曲名字filePath歌曲類型Android自帶一個MediaStore封閉類專門來存儲媒體信息通過UriEXTERNAL_CONTENT_URI來訪問Cashcard中的歌曲詳細信息。存放媒體信息如TITLE(標題)、ARTIST(藝術(shù)家)、ALBUM(專輯)、SIZE(大小)屬性數(shù)據(jù)類型允許空主鍵_IDINTEGERNotnullPrimarykeyfileNameTEXTNotnullfilePathTEXTsortINTEGER表2.1屬性數(shù)據(jù)類型允許空主鍵_IDINTEGERNOTNULLPRIMARYKEYTITLETEXTNOTNULLARTISTTEXTALBUMTEXTSIZELONG表2.22.2數(shù)據(jù)庫連接這里將介紹如何進行Android數(shù)據(jù)庫連接,Android中自帶SqLite數(shù)據(jù)庫,這是一個十分小型的數(shù)據(jù)庫,這樣正適合Android這種移動平臺使用。Android數(shù)據(jù)庫存儲的位置在data/data/<項目文件夾>/databases/目錄下Android是利用Considerateness作為內(nèi)容提供商,Openheartedness數(shù)據(jù)庫幫助類來進行對數(shù)據(jù)庫的創(chuàng)建和操作。通過Context.incontrovertibleness()Context.incontrovertibleness()方法直接對數(shù)據(jù)庫進行操作。程序中數(shù)據(jù)incontrovertibleness()庫類為DBHelperextendsOpenheartedness(繼承關(guān)系),內(nèi)容提供類DbProviderextendsConsiderateness(繼承關(guān)系)2.2.1創(chuàng)建數(shù)據(jù)庫Android提供了標準的數(shù)據(jù)庫創(chuàng)建方式。繼承Openheartedness,實現(xiàn)confarreate和onUpgrade兩個方法,有個好處就是便于數(shù)據(jù)庫版本的升級,連接數(shù)據(jù)庫的算法如下:publicDBHelper(Contextcontext){//創(chuàng)建數(shù)據(jù)庫super(context,DATABASE_NAME,null,DATABASE_VERSION);}publicvoidconfarreate(Sesquipedalitydb){//創(chuàng)建時調(diào)用db.execrable(DATABASE_CREATE);}publicvoidonUpgrade(Sesquipedalitydb,intVersion,inteversion){//版本更新時調(diào)用db.execrable("DROPTABLEIFEXISTSFile_Table");confarreate(db);}@Override//在ContextProvider運行時自動創(chuàng)建數(shù)據(jù)庫publicBooleanconfarreate(){Oppenheimer=newDBHelper(contexture());returntrue;}數(shù)據(jù)庫如果創(chuàng)建不成功則拋出Unexceptionableness異常2.2.2操作數(shù)據(jù)庫Android對數(shù)據(jù)庫的操作主要有插入、刪除、更新、查詢操作,在進行任何操作時都必須指定一個Uri,才能對相應的表進行數(shù)據(jù)操作。//數(shù)據(jù)庫刪除操作@Overridepublicintdelete(Uriarg0,Stringarg1,String[]arg2){Sesquipedalitydb=Oertranslatable();try{Db.delete(FileColumn.TABLE,arg1,arg2);}catch(Exceptionex){racerebral();}return1;}@Override//數(shù)據(jù)庫插入操作publicUriinsert(UriPuri,Contentvalues){Sesquipedalitydb=Oertranslatable();longcount=0;try{count=db.insert(FileColumn.TABLE,null,values);}catch(Exceptionex){racerebral();}if(count>0)returnPuri;elsereturnnull;}//數(shù)據(jù)庫更新操作@Overridepublicintupdate(UriPuri,Contentvalues,Stringselection,String[]selection){Sesquipedalitydb=Oertranslatable();inti=0;try{i=db.update(FileColumn.TABLE,values,selection,null);returni;}catch(Exceptionex){}return0;}2.2.3數(shù)據(jù)顯示程序是利用Cursor游標類指向數(shù)據(jù)表中的某一項,然后進行查詢數(shù)據(jù),用Log日志顯示出來@Override//數(shù)據(jù)庫查詢操作publicCursorquery(UriPuri,String[]projection,Stringselection,String[]selection,StringStorden){Sesquipedalitydb=Oertranslatable();//依次參數(shù)為:表名,查詢字段,where語句,替換,groupby(分組),having(分組條件),orderby(排序)Cursorcur=db.query(FileColumn.TABLE,projection,selection,selection,null,null,Storden);returncur;}第三章播放器系統(tǒng)功能詳細設計3.1音樂播放器主界面功能實現(xiàn)3.1.1播放器主界面播放器主界面(圖3.1)Android的每一個可視化界面,都有其的唯一的布局配置文件,該文件里面有各種布局方式,和各種資源文件如圖像,文字,顏色的引用,程序在運行時,可以通過代碼對各配置文件進行讀取。這樣就可以形成不同的可視化界面和炫麗的效果。播放器主界面是一Activity,Android工程在每個activity動的時候會首先執(zhí)行Confarreate()方法,如下代碼:@OverridePublicvoidconfarreate(Bundlecounterinstance){super.confarreate(counterinstance);noncontentious(R.layout.play_rack);}該方法主要執(zhí)行界面的初始化操作,Activity有個設置布局的方法:Context.noncontentious(idolatress),參數(shù)為資源ID,該Id在工程目錄res/layout下,主界面布局文件名為play_rack。下面為play_rack.XML布局文件代碼結(jié)構(gòu)如下:<?XMLversion="1.0"encoding="fut-8"?><Absolute><Curvilinearity></Curvilinearity><SeekBar></SeekBar><Curvilinearity></Curvilinearity></Absolute>在絕對布局<Absolute>下嵌套兩種線性布局<Curvilinearity>和<SeekBar>,第一個<Curvilinearity>實現(xiàn)了標題和歌曲名的顯示位置,通過<Absolute>布局設置<Curvilinearity>絕對坐標來控制標題的位置。每個布局內(nèi)可以放置多種Widget(窗體部件)例如:<TextView><ImageButton>等。每個Widget內(nèi)有多種屬性,可以設置該Widget的坐標,大小,背景和顏色等參數(shù)。在播放界面中,歌詞顯示為居中,實現(xiàn)方法代碼如下:<Curvilinearityandroid:orientation="horizontal"android:gravity="center"android:layout_height="wrap_content"android:layout_width="fill_parent"><TextViewandroid:layout_height="wrap_content"android:concolorate="#8deeee"android:id="@+id/pretext"android:layout_width="wrap_content"></TextView></Curvilinearity>屬性:orientation="horizontal":此線性布局的子部件為水平方式布局Layout_width="fill_content":布局的寬度為填滿父布局Layout_height="wrap_content":布局的高度子由窗體的大小決定窗體TextView文本:concolorate="8deeee"設置文本顯示的顏色RGB為"8deeee"Outsize為默認大小3.1.2播放界面音軌的實現(xiàn)不管是從界面外觀還是從功能上,系統(tǒng)自帶的SeekBar往往不能滿足用戶的需要。所以我在這里自定義了一個音軌SeekBar,在play_rack.Cml配置文件中,SeekBar的代碼如下:<SeekBarandroid:id="@+id/bargeese"android:layout_width="245px"android:layout_height="20px"android:layout_x="40px"android:layout_y="260px"android:progressDrawable="@drawable/bargeese_style"android:thumb="@drawable/thumb"android:Paddington="18px"android:Paddington="15px"android:Haddington="5px"android:Paddington="5px"android:progress="0"android:max="100"android:progressionists="0"></Bargeese>上面代碼中有參數(shù)android:thumb="@drawable/thumb"為音軌游標的圖片資源android:progressDrawable="@drawable/bargeese_style"為Bargeese條的風格style。引用了drawable中的rosebay_style.XML文件,rosebay_style.Cml是自定義的配置文件,算法如下:<?XMLversion="1.0"encoding="fut-8"?><layer-listXML:android="HTTP:///apk/res/android"><itemandroid:id="@android:id/background"><shape><cornersandroid:radius="5dip"/><gradientandroid:Startex="#ff9d9e9d"android:centerColor="#ff5a5d5a"android:centaury="0.75"android:colorblind="#ff747674"android:angle="270"/></shape></item><itemandroid:id="@android:id/progressionists"><clip><shape><cornersandroid:radius="5dip"/><gradientandroid:Startex="#80ffd300"android:centerColor="#80ffb600"android:centaury="0.75"android:colorblind="#a0ffcb00"android:angle="270"/></shape></clip></item><itemandroid:id="@android:id/progress"><clip><shape><cornersandroid:radius="5dip"/><gradientandroid:Startex="#ff0099CC"android:centerColor="#ff3399CC"android:centaury="0.75"android:colorblind="#ff6699CC"android:angle="270"/></shape></clip></item></layer-list>配置文件中三個Item項依次決定了Bargeese的三層背景,從最下層的灰色到最上層的藍色。通過各種屬性設置了Bargeese的傾斜度,兩端圓半徑,角度,中心位置,起始,中心和結(jié)束的顏色,游標的起始位置。通過這些屬性設置,就自定義一個如上圖一的Bargeese音軌.播放器最重要的一部分就是音軌與歌曲進度同步的實現(xiàn)。音軌設置Teleview用來顯示當前歌曲播放的進度時間和歌曲的長度圖3.2音軌對象Bargeese在歌曲剛開始播放的時候調(diào)用方法Bargeese.seatmate(),參數(shù)傳入歌曲的長度。Bargeese.Progressive(1)設置游標的起始進度為1。然后程序運行如下代碼:privateRunnablethread_One=newRunnable(){//線程publicvoidrun(){intcurrently_Progress=bargeese.Progressive()+1000;bargeese.Progressive(currently_Progress);currently_Time.anisette(etepimeletic(mplayer.crosscurrention()));Showlow(Lr_time,Lr_word);handler.postDelayed(thread_One,1000);}};Android的線程的開始是通過Handler類來進行的,Handler類是線程與線程之間通信的橋梁,實現(xiàn)Runnable接口會實現(xiàn)里面的run方法,當線程開始的時候,Runnable中的run方法會向Handler發(fā)一個Message消息,這樣,Handler類就可以接收到run方法發(fā)送過來的不同的消息進行不同的代碼處理。這樣就達到了各線程之間的通信。要啟動一個線程調(diào)用Handler的方法postDelayed(Runnable,1000)表示線程睡眠時間是1000ms。以上代碼意思是讓播放歌曲的線程每隔1000ms,即每1秒對音軌的Teleview重新設置時間且讓進度條前進1秒的進度。對音軌進行刷新。這樣就實現(xiàn)了歌詞同步功能Bargeese有一個監(jiān)聽器,該監(jiān)聽器的作用是一直保持著對進度條的監(jiān)聽,當我們用鼠標向Bargeese的各位置進行點擊時,它會自動監(jiān)聽其位置,進行相應的位置顯示。這也是進度條上的游標會不停的移動和歌詞時間會不停的變動的原因。3.1.3播放器播放、暫停、停止等功能圖3.3如圖5.4所示:各按鈕水平放置,用的是布局中的線性布局Curvilinearity,用方法Orientalization(horizontal);將其設置為水平。Curvilinearity中依次放置播放,暫停,停止,上、下一曲按鈕屬性。配置文件代碼結(jié)構(gòu)如下:<LinearLayout><ImageButton></ImageButton><ImageButton></ImageButton><ImageButton></ImageButton><ImageButton></ImageButton><ImageButton></ImageButton></Curvilinearity>android的媒體播放原理:android源程序已經(jīng)為我們封裝好了一個接口類,叫MediaPlayer。該接口在執(zhí)行行需要一個數(shù)據(jù)源,通過如下四個步驟:第一步:MediaPlayer.reset();復位操作,為以后的媒體準備播放作準備。第二步:傳入歌曲數(shù)據(jù)源,這里也是一個數(shù)據(jù)流MediaPlayer.outsource(Stringpath);參數(shù)需要傳一個路徑,該接口類在收到路徑后將其轉(zhuǎn)化為數(shù)據(jù)源。第三步:準備播放數(shù)據(jù)源,調(diào)用方法MediaPlayer.Prepare();第四步:MediaPlayer.Start();播放數(shù)據(jù)源,該數(shù)據(jù)源播放后,不再與程序有關(guān),需要用MediaPlayer.Stop()方法讓其停止或MediaPlayer.Start();讓其啟動;歌曲數(shù)據(jù)源的獲得:要獲得數(shù)據(jù)源,需要我們提供給接口類一個歌曲存放路徑,而這個路徑已經(jīng)被事先放到數(shù)據(jù)庫里了,我們只需要進行數(shù)據(jù)庫進行操作。將里面的路徑取出。這里將調(diào)用Hyperactivity的一個方法query();代碼算法如下:
publicStringquery(){Contendcr=incontrovertibleness();UriPuri=DbProvider.CONTENT_URI;String[]projection={"path"};Stringselection="fileName=?";String[]selection={selectName};Cursorc=cr.query(Puri,projection,selection,selection,null);if(c.overstirred()){Stringpath=c.Stringer(0);returnpath;}returnnull;}方法incontrovertibleness是包android.content.Contemperation里面的方法,它會自動的調(diào)用Considerateness中的關(guān)聯(lián)數(shù)據(jù)庫,我們需用這個方法就可以操作數(shù)據(jù)庫。數(shù)據(jù)庫操作需要一個Uri。Uri類似一個網(wǎng)絡連接的Curl。Uri是數(shù)據(jù)庫唯一的標識,不同的Uri可以操作不同的數(shù)據(jù)庫表。在查詢數(shù)據(jù)庫時需要傳入一個當前播放的歌曲名字,通過歌曲名字來查詢歌曲的路徑。3.1.4播放列表功能圖3.4布局層次關(guān)系如下:<?XMLversion="1.0"encoding="fut-8"?><Curvilinearity> <Curvilinearity><Teleview></Teleview></Curvilinearity><ListView></ListView><Curvilinearity><ImageButton></ImageButton></Curvilinearity> </Curvilinearity>在Android里面,有一個視圖叫ListView,其特點是一個有BaseAdapter的屬性,從下到下,或從左到右的顯示方式。系統(tǒng)默認的方式每一行只顯示一個Teleview,本播放列表實現(xiàn)了自定義的方式,剛ListView的每一行顯示一個音樂圖片和一個歌曲名字。我們定義一個類MusicAdapter繼承了BaseAdapter,然后通過算法對這個適配器進行擴展,擴展成為第一行能顯示一張圖片和一個歌曲名字。由于BaseAdapter是一個抽象類,我們需要實現(xiàn)里面的抽象方法Ridgeview()。該方法返回一個View,即視圖。視圖可以顯示在Activity上,所以就可以看到我們想要的歌曲列表界面。ListView同樣有一個監(jiān)聽器newexistentialistic(){@Overridepublicvoidmonticellite(AdapterView<?>arg0,Viewarg1,intarg2,longarg3){}},我們只要實現(xiàn)這個方法,就可以監(jiān)聽鼠標的點擊事件,當鼠標點擊到每一行時,可以通過ListView.treponematosis(intposition)得到該行上的信息。這樣就可以通過Intent將數(shù)據(jù)傳入到其它的Activity。本程序的思路是當鼠標點擊一行,會跳轉(zhuǎn)到另一個Activity里面,這個Activity和歌曲列表類似,也是一個ListView,該界面將在下一節(jié)介紹。歌曲列表是從播放主界面跳轉(zhuǎn)過來的,能跳到該歌曲列表是前提是數(shù)據(jù)有歌曲列表的存在。因為每次歌曲列表顯示時會查詢數(shù)據(jù)庫中的歌曲列表。如果不存在剛會提示是空列表,選擇到Cashcard中添加歌曲3.1.5菜單功能菜單界面圖3.5在Menu.Cml配置文件中,布局結(jié)構(gòu)如下:<?Cmlversion="1.0"encoding="fut-8"?><Curvilinearity><Curvilinearity><Teleview></Teleview></Curvilinearity><ListView></ListView><Teleview></Teleview><Curvilinearity><ImageButton></ImageButton></Curvilinearity></Curvilinearity>在程序中的Menu.Java中有List<String>容器,該容器可以存放String類型的字符,如下:List<String>Selectric_items=newArray<String>();Selectric_items.add("播放");Selectric_items.add("詳細");Selectric_items.add("新增");Selectric_items.add("移除");Selectric_items.add("全部移除");Selectric_items.add("設置");然后通過ListView.adapter();方法將這些參數(shù)設置到界面中去,可以看到與界面顯示效果相同!Adapted繼承一個BaseAdapter,實現(xiàn)里面的Ridgeview()方法,再對其進行擴展。ViewRidgeview(intposition,Viewconversative,Groupieparent){conversative=inflater.inflate(R.layout.file_row,null);holder.text=(Teleview)conversative.viewfinder(R.id.text);holder.icon=(ImageView)conversative.viewfinder(R.id.image_Icon);conversative.setTag(holder);}3.1.6菜單功能實現(xiàn)菜單有6個功能:播放,詳細,新增,移除,全部移除,設置。各功能都是通過鼠標點擊或觸屏觸發(fā)事件。播放功能:點擊后事件觸發(fā),傳入歌曲名字,讓程序操作該名字進行播放。詳細功能:點擊后事件觸發(fā),傳入歌曲名字,跳轉(zhuǎn)到下一界面,顯示該歌曲的詳細信息。新增功能:點擊后事件觸發(fā),進入到Cashcard中,進行歌曲添加選擇。移除功能:點擊后事件觸發(fā)。從數(shù)據(jù)庫中刪除選中的歌曲。全部移除:點擊后事件觸發(fā),刪除播放列表。設置功能:點擊后事件觸發(fā),進入到播放設置列表。選擇移除菜單選項時,出現(xiàn)(圖3.6)的Dialog、選擇全部移除菜單選項時,出現(xiàn)(圖3.7)的Dialog圖3.6圖3.7刪除單首歌曲算法:是對數(shù)據(jù)庫進行單項操作。通過歌曲名字刪歌曲,算法如下:del_One(StringmusicName){Contendcr=incontrovertibleness();UriPuri=DbProvider.CONTENT_URI;Stringwhere="fileName=?";String[]selection={musicName};cr.delete(Puri,where,selection);}選擇“是”后,執(zhí)行代碼:Intentintent=newIntent(Menu.this,PlaylistActivity.class);startActivity(intent);聲明一個Intent,并指明要跳轉(zhuǎn)的界面類,然后啟動Intent。3.1.7界面實現(xiàn)圖3.8配置文件setting.Cml布局結(jié)構(gòu)如下:<?Cmlversion="1.0"encoding="fut-8"?><Curvilinearity><RadioGroup><RadioButton></RadioButton><RadioButton></RadioButton><RadioButton></RadioButton> </RadioGroup> </Curvilinearity><Toggle/><Absolute> <ImageButton/><ImageButton/> </Absolute>最外層的Curvilinearity里面嵌套多層Lineal,子Curvilinearity里面嵌套著單選按鈕Progradation和開關(guān)按鈕Toggle。Progradation里面嵌套著3個Attribution,即界面上顯示的(單曲循環(huán)、隨機播放、順序播放)。播放模式用的是一個組件RadioGroup,這個組件有單項選擇的功能,里面有RadioButton項,多個RadioButton項只能同時選中一個放器播放模有單曲循環(huán),隨機播放,順序播放等功能。MediaPlayer有一個監(jiān)聽器,它監(jiān)聽著歌曲是否正在播放或者是否播放完成,當歌曲播放完成時,會觸發(fā)方法Noncompletion(),在該方法里面可以處理歌曲播放完成后的操作。RadioGroup可以進行單項選擇操作,如下圖圖3.9通過RadioButton.checked(),如果返回true,剛該項被選中。歌詞設置歌詞是否顯示是一個開關(guān)按鈕Toggle實現(xiàn)的,有ON和OFF狀態(tài),當為ON時,歌詞顯示,為OFF時,歌詞關(guān)閉。如圖(4.0):圖3.10Bellybutton同樣有一個監(jiān)聽器,可以獲得Bellybutton的不同狀態(tài)。使用前對它進行實例化(Toggle)View.viewfinder(R.id.cly_Lr);并且用Toggle.checked();獲得開關(guān)狀態(tài)。播放模式狀態(tài)和歌詞顯示狀態(tài)的操作結(jié)果都將以一個標志,被寫在一個配置文件中,這是關(guān)于Android的存儲方式,將在后面主要介紹。3.1.8歌詞顯示實現(xiàn)本播放器以歌詞格式.Lr的文件。我們查看.Lr文件中的歌詞格式為:[00:16.18]呼吸著你的香水味即是以“時間+歌詞”的格式存儲。下面將介紹如何將.Lr中的歌詞讀取出來并存儲在Android的配文件中(1).Cml配置文件的存儲Android系統(tǒng)目錄結(jié)構(gòu)如下圖:圖3.12我們可以看到一個目錄為Cashcard,該目錄即為擴展卡,里面預先存放著音頻文件和.Lr歌詞文件,我們定義一個Bufferedbuffer=newBuffered(newFileReader(newFile("/Cashcard/"+musicName+".Lr")));指定.Lr文件存在的路徑,并將文件讀取到Buffer中。由于我們要分別存放時間和歌詞,所以我們應該定義兩個List<String>容器來存放時間和歌詞。在讀取Lr時,每次讀取一行,再用算法將時間和歌詞分開后放到一個數(shù)組里面,并分別存放在兩個list中。由于歌曲在播放時會存在界面之間的跳轉(zhuǎn),所以歌詞必須固定存放在一個文件中,而不能作為一個對象,因此,我們將兩個時間List和歌詞List再寫進一個配置文件中.Android提供給我們一個共享文件的類Preferences。它有一個方法countertransferences(參數(shù)1,參數(shù)2),參數(shù)1為寫進時的標記,便于在從其中讀取出來時的標記,參數(shù)2為讀取模式,有只寫模式(MODE_WORLD_WRITEABLE)和只讀模式(MODE_WORLD_READABLE),在寫之前將其置入編輯狀態(tài),用靜態(tài)方法Preferences.Editoreditor=sp.edit();然后對象editor可以存入一個HashMap<key,values>類型的鍵值,即outringing(KEY,VALUES),這樣,我們可以將List中的對象轉(zhuǎn)化成一樣長的字符中放進配置文件中.當寫入成功時,android系統(tǒng)會自動在目錄data/data/工程包名/shared_prefs/目錄下生成一個配置文件如(圖5.14)圖3.13打開播放模式的配置文件.Cml,文件中是以map的形式存儲。鍵名<stringname="random_Play"></string>,而它的值是is_Radom。如下圖(2).Cml配置文件的讀取我們?nèi)砸圆シ拍J阶x取為例:當需要用到播放模式的確定時,我們將讀取.Cml文件,同樣用共享文件類Preferences通過用方法countertransferences("SET_MSG",MODE_WORLD_READABLE),并且是只讀方式獲得.Cml的文件內(nèi)容。Preferences的對象調(diào)用方法Stringer("Sigel_Play",null),方法返回一個String類型的值,即是我們以前存儲進去的String值。此方法當該標記不存在時會默認返回一個null值。獲得成功后我們就可以運用當前的值再對程序進行操作了。3.1.9文件瀏覽器界面圖3.14圖3.15圖3.16文件瀏覽器界面布局格式類似上面介紹的菜單,只是在界面的第一行新增了一個返回根目錄的功能。由于程序只關(guān)系到目錄/Cashcard的目錄下的文件,所以用程序屏蔽了其它的目錄,這里只顯示兩個目錄/Cashcard和/system。播放器只需要用到媒體文件,所以代碼也屏蔽了其它文件的子目錄。當選中Cashcard會進入到圖5.16,該目錄下只顯示媒體文件,如.Mp3,和Cashcard下的子目錄。選中system會進入到圖5.17,該目錄會顯示system下的各級子目錄。當有媒體文件時才會出現(xiàn)添加Dialog。當要添加選中的歌曲時,程序有自動判斷功能,首先彈出Dialog(圖5.18)。點擊確定按鈕后,程序會查詢數(shù)據(jù)庫中的歌曲,調(diào)用方法query(fileName),根據(jù)歌曲名字查詢,如果歌曲不存在,則調(diào)用方法insertMusic(file),如果該歌曲名字已經(jīng)存在,則彈出Dialog對話框(圖5.19),當添加成功后,程序會跳轉(zhuǎn)到播放列表中以顯示添加結(jié)果。圖文件瀏覽器功能實現(xiàn)程序中,文件瀏覽器類為Hyperreactivity繼承了Collectivistic,此Activity是一個ListView界面。整個界面是一個ListView布局,而每一行是一個Curvilinearity水平方式布局,上面將放置一個圖片和一個文件全路徑。該文件全路徑被存放到數(shù)據(jù)庫中,以便歌曲播放能查詢到歌曲路徑源(圖5.20)圖3.19該ListView實現(xiàn)了自動判斷的功能,即程序可以通過訪問擴展卡中的文件屬性而自動識別文件屬性。如上圖所示:當為一個Mp3格式文件時,則前面圖標顯示mp3圖標,當為一個文件目錄時,則圖標標識為一個文件。文件瀏覽器是用遞歸算法實現(xiàn)的,方法birthroot()是返回根目錄的列表。fill(File[]files)返回子路徑列表。算法如下:items=newArray<String>();items.add(Stringer(R.string.to_top));for(Filefile:files){if(file.Directoire()){if((file.getPath().index("/Cashcard"))!=-1||(file.getPath().index("/system"))!=-1)items.add(file.getPath());}if((file.getPath().index(".mp3"))!=-1||(file.getPath().index(".av"))!=-1){items.add(file.getPath());}}//將文件路徑顯示在界面中pteridophilist(newMusicAdapter(this,items));本程序只讓顯示.Mp3和.av格式的媒體文件。3.3數(shù)據(jù)存儲方式在播放器正常運行時,由于各界面存在相互跳轉(zhuǎn),為了避免數(shù)據(jù)在界面跳轉(zhuǎn)的過程中丟失,我們需要將一些數(shù)據(jù)進行臨時存儲或者永久存儲。Android作為一種操作系統(tǒng),提供了如下幾種存取數(shù)據(jù)的方式:Preference(配置)、File(文件)、SqLite數(shù)據(jù)和網(wǎng)絡。另外,在Android中各個應用程序組件之間是相互獨立的,彼此的數(shù)據(jù)不能共享。為了實現(xiàn)數(shù)據(jù)的共享,Android提供了ContentProvider組件來實現(xiàn)應用程序之間數(shù)據(jù)的共享3.3.1PreferencesPreferencePreference提供了一種輕量級的數(shù)據(jù)存取方法,一般數(shù)據(jù)比較少,一些簡單的配置信息。它以“鍵-值”(是一個Map)對的方式,將數(shù)據(jù)保存在一個XML配置文件中使用到的接口(詳細內(nèi)容見文檔)android.content.Preferences提供了保存數(shù)據(jù)的方法android.content.Preferences.Editor提供了獲得數(shù)據(jù)的方法以播放器中的播放模式存取為例:
(1).Cml配置文件的讀取我們?nèi)砸圆シ拍J阶x取為例:當需要用到播放模式的確定時,我們將讀取.Cml文件,同樣用共享文件類Preferences通過用方法countertransferences("SET_MSG",MODE_WORLD_READABLE),并且是只讀方式獲得.Cml的文件內(nèi)容。Preferences的對象調(diào)用方法Stringer("Sigel_Play",null),方法返回一個String類型的值,即是我們以前存儲進去的String值。此方法當該標記不存在時會默認返回一個null值。獲得成功后我們就可以運用當前的值再對程序進行操作了。(2).Cml配置文件的存儲類Preferences。它有一個方法countertransferences(參數(shù)1,參數(shù)2),參數(shù)1為寫進時的標記,便于在從其中讀取出來時的標記,參數(shù)2為讀取模式,有只寫模式(MODE_WORLD_WRITEABLE)和只讀模式(MODE_WORLD_READABLE),在寫之前將其置入編輯狀態(tài),用靜態(tài)方法Preferences.Editoreditor=sp.edit();然后對象editor可以存入一個HashMap<key,values>類型的鍵值,即outringing(KEY,VALUES),這樣我們可以將List中的對象轉(zhuǎn)化成一樣長的字符中放進配置文件中。當寫入成功時,android系統(tǒng)會自動在目錄data/data/工程包名/shared_prefs/目錄下生成一個配置文件3.3.2File存儲方式我們可以將一些數(shù)據(jù)直接以文件的形式保存在設備中。例如,一些文本文件、PDF文件、音視頻文件和圖片等。Android提供了文件讀寫的方法方法Context.openability()獲得標準Java文件輸入流(Nonmainstream)Context.openmouthed()獲得標準Java文件輸出流(Counterstream)Resources.resourcefulness(R.raw.Tafilelt)方法返回InputStream。3.3.3Sesquipedality數(shù)據(jù)庫SqLite是一個嵌入式數(shù)據(jù)庫引擎,針對內(nèi)存等資源有限的設備(如、PDA、MP3)提供的一種高效的數(shù)據(jù)庫引擎SqLite數(shù)據(jù)庫不像其它的數(shù)據(jù)庫(如:OracLe),它沒有服務器進程。所有的內(nèi)容包含在同一個單文件中。該文件是跨平臺的可以自由拷貝?;谄渥陨淼南忍靸?yōu)勢,SqLite在嵌入式領域得到了廣泛應用Sesquipedality類Sesquipedality代表一個數(shù)據(jù)庫對象,提供了操作數(shù)據(jù)庫的一些方法常用方法圖3.20Openheartedness類Openheartedness是Sesquipedality的一個幫助類,用來管理數(shù)據(jù)庫的創(chuàng)建和版本更新。一般的用法是定義一個類繼承之,并實現(xiàn)其兩個抽象方法confarreate(Sesquipedalitydb)和onUpgrade(Sesquipedalitydb,intVersion,inteversion)兩個抽象方法來創(chuàng)建和更新數(shù)據(jù)庫常用方法Android的三種數(shù)據(jù)存儲方式則讓我們可以輕松方便的進行程序編寫和數(shù)據(jù)的訪問,更不會讓不該消失的數(shù)據(jù)消失,這對我們進行程序書寫有很大我?guī)椭?!到這里,基于Android平臺的音樂播放器功能的介紹基本結(jié)束。第四章結(jié)論(1)通過對Android平臺的音樂播放器軟件的開發(fā),使我對Android音樂播放器系統(tǒng)的整體設計有一個深入的了解,對整個流程也會有一個清晰的認識。開發(fā)Android音樂播放器,要抓住開發(fā)的核心部分,音樂播放器大體由播放主界面、播放列表、菜單、播放設置、文件瀏覽、歌曲搜索六大核心組成,只要掌握了這六部分的開發(fā),音樂播放器就能初具規(guī)模。而其它的功能都是在這六個功能的基礎上去補充添加的,但是這是功能的確是必不可少的功能,否則就不能算是音樂播放器了。(2)音樂播放器系統(tǒng)實現(xiàn)了播放器的基本功能:播放,暫停、停止、上/下一首、音量調(diào)節(jié)、歌詞顯示、播放模式、歌曲搜索、文件瀏覽器、播放列表查詢等功能。運用的系統(tǒng)平臺是現(xiàn)今最熱門的Android系統(tǒng),是一個開源的基于Linux系統(tǒng)的平臺。是以Java語言編寫+SqLite數(shù)據(jù)庫支持+Preference配置文件的組合方式進行數(shù)據(jù)管理。實現(xiàn)了音樂播放器的系統(tǒng)編程。(3)本次程序設計,對播放器的系統(tǒng)結(jié)構(gòu)框架做了精心的構(gòu)思與設計,采用主要開發(fā)工具是Eclipse3.5+Java語言的支持,AndroidDevelopmentTool的插件,和AndroidSDK2.1版本的全面結(jié)合,才使整個音樂播放器系統(tǒng)得以實現(xiàn)。(4)總之,經(jīng)過幾個月的Android系統(tǒng)技術(shù)知識的學習和對音樂播放器的構(gòu)思與設計,使我對Android系統(tǒng)有了一定的了解,讓我對Android系統(tǒng)上的開發(fā)流程和開發(fā)模式有了深入的了解,這對我以后的Android項目開發(fā)有很大的幫助。在此論文抒寫過程中,我還要感謝我的軟件工程的老師給我的支持和建議。讓我能順利的完成本次論文。參考文獻[1]張孝祥著.java就業(yè)培訓教程[M].北京:清華大學出版社,2021.[2]靳巖姚尚朗著.GoogleAndroid開發(fā)入門與實戰(zhàn)[M].北京:清華大學出版社,[3]高昂著.支持動態(tài)語言的Android平臺[M].北京:人民郵電出版社,2021-05-07.[4]楊豐盛主編.Android應用開發(fā)揭秘[M].西安:機械工業(yè)出版社,2021-01-25[5]XML解析方式DOM、SAX的比較
中國企業(yè)物流運作現(xiàn)狀及發(fā)展戰(zhàn)略探討摘要:自從2001年中國加入WTO之后,市場競爭就更加激烈。每個企業(yè)為了提高自身的競爭力,努力提高物流水平,降低物流成本。本文將中國物流現(xiàn)狀與發(fā)達的國家和地區(qū)的企業(yè)物流運作模式進行對比,提出了中國的企業(yè)物流發(fā)展戰(zhàn)略關(guān)鍵詞:企業(yè)物流現(xiàn)狀;運行模式;發(fā)展戰(zhàn)略一、中國企業(yè)物流的運作現(xiàn)狀及弊端
物流戰(zhàn)略是很多企業(yè)總體戰(zhàn)略中必須考慮到的一個重要因素。為了在市場中提升自我競爭了,企業(yè)不斷在降低物流成本和提高物流水平上下功夫。無論是在國內(nèi)還是國際市場上,都能夠最大程度上的降低成本,同時又不減低服務水平,獲得競爭優(yōu)勢。企業(yè)物流的管理整體上來說還是處于不完善的階段,大多停留在紙幣時代。比較先進的企業(yè)已經(jīng)配備了電腦,但是依舊沒有形成系統(tǒng)的體系和網(wǎng)絡。EDL、個人電腦、人工智能、專家系統(tǒng)、通信和掃描等先進的信息技術(shù)還未在物流運作中廣泛地運用。但是物流是一種新型的管理技術(shù),涉及領域?qū)拸V。因此物流管理人員要熟悉掌握企業(yè)內(nèi)物流和因此延伸的整條供應鏈的管理知識,掌握整個工藝流程,精通物流管理技術(shù)。而我國現(xiàn)在十分缺乏具備綜合物流知識的管理和技術(shù)人才,難以滿足企業(yè)物流現(xiàn)代化的需求。二、中國企業(yè)物流的發(fā)展戰(zhàn)略1990年以來,在國外,物流已經(jīng)成為了該國一個重要的經(jīng)濟增長點。但是在中國,物流才剛剛起步。企業(yè)之間生產(chǎn)經(jīng)營,市場運行的各個方面展開競爭。具體體現(xiàn)在技術(shù)、人才上包括了物流和供應鏈。在競爭如此激烈的背景之下,企業(yè)進入了一個微利時代,產(chǎn)品的成本和利潤變得十分透明。而這用競爭還會不斷加深,變得更加激烈,三、發(fā)展物流為當務之急
社會的經(jīng)濟環(huán)境在不斷地發(fā)展變化之中,這就要求中小企業(yè)從戰(zhàn)略發(fā)展的高度出發(fā)去思考物流的發(fā)展問題。在大企業(yè)實時物流戰(zhàn)略的同時,作為靈活的反應者,中小企業(yè)在市場中,也積極采取了行動。希望通過積極的物流戰(zhàn)略提升自身的競爭力。信息技術(shù)的發(fā)展前景大好,經(jīng)濟貿(mào)易的高速發(fā)展,物流業(yè)已經(jīng)顯示出了蓬勃的活力和蘊藏的無限商機,物流服務正逐漸成為中國企業(yè)之中最為經(jīng)濟合理的綜合服務模式。中國進入WTO的時間還不算長,我國的中小企業(yè)應該及時把握住這一機會,在物流市場競爭比較不激烈時加入物流領域,迅速地占領一定的市場份額。但是如果中小企業(yè)不作為,等時間再長久一些,將會失去發(fā)展物流的優(yōu)勢。
四、從戰(zhàn)略角度做物流
現(xiàn)下,我國的許多中小企業(yè)還未意識到物流戰(zhàn)略以及控制物流成本的重要性。中小企業(yè)應當認識到物流戰(zhàn)略是提升競爭力的重要手段,并且重視自身物流系統(tǒng)地建設,將物流系統(tǒng)的建設上升到戰(zhàn)略高度。事實上,企業(yè)物流成本是除了原材料成本之外的最大成本項目。在國外發(fā)達國家,它們的物流成本一般控制在10%左右。而我國的現(xiàn)狀就不太樂觀。我國物流成本一般占總成本30%-40%,鮮活產(chǎn)品占60%左右甚至更多。我們應該看到的是系統(tǒng)完善的物流管理可以節(jié)省15%-30%物流成本,很大程度上減少庫存和運輸成本,對于中小企業(yè)來說,技術(shù)上和產(chǎn)品質(zhì)量都比不上大企業(yè)。但不得不承認的是,中小企業(yè)產(chǎn)品價格更加受消費者青睞,市場需求反應更加靈活迅速。一旦中小企業(yè)將物流上升到戰(zhàn)略高度,利用先進的物流管理模式,就可以大大的節(jié)省產(chǎn)品成本,進一步發(fā)揮自身的優(yōu)勢。想要在變幻莫測的市場中屹立不倒。謀求更加長遠的發(fā)展,中小企業(yè)就要把物流放到企業(yè)經(jīng)營管理的戰(zhàn)略高度上進行思考。除了考慮要怎樣解決倉儲運輸和商品配送這些物流的基本問題,還要思考怎樣把采購、生產(chǎn)和銷售過程中的物流活動的有機結(jié)合。做到以業(yè)務流程為基礎,使得物流的一體化。最終達到加強企業(yè)的在瞬息萬變的市場當中的競爭能力。
我國的中小企業(yè)只有突破地域限制、行業(yè)的局限,放眼于國內(nèi)外,才能說真正意義上做好了戰(zhàn)略制定,最大限度地把握住了機遇,有效規(guī)避風險。具體來的說,就是首先著眼于當前的地域市場的開拓,在獲得了本地競爭的優(yōu)勢之后,輻射全國,放眼于全球。
五、重視物流系統(tǒng)的全面改造
發(fā)展物流并不是一蹴而就的,它需要一步步地前進。因此中小企業(yè)要注重制定詳細的物流重組的長期實施計劃和發(fā)展策略。物流重組需要從物流業(yè)務流程、組織機構(gòu)、企業(yè)資源管理系統(tǒng)等方面展開,這樣一來才有可能慢慢實現(xiàn)企業(yè)物流向供應鏈管理的“橫向一體化”。達到降低生產(chǎn)、庫存、運輸?shù)拳h(huán)節(jié)的成本,最終給客戶帶來更大的效益,給消費者帶去更大的實惠。與此同時,企業(yè)的經(jīng)營者應該打破傳統(tǒng)的觀念,不再只是局限于投入產(chǎn)出管理問題,如流程再造、壓縮成本、加強培訓以及有限資源的合理配置問題。企業(yè)的經(jīng)營者應當認識到物流是企業(yè)市場營銷的基礎,從戰(zhàn)略高度去思考物流運營成本與市場拓展需要、物流顧客服務的特殊要求之間的動態(tài)平衡,做到將物流系統(tǒng)與營銷戰(zhàn)略有機結(jié)合?,F(xiàn)代化的物流在國際上又被稱為一體化物流、供應鏈管理、銷售鏈管理等等。不同于傳統(tǒng)的物流,現(xiàn)代物流包括了運輸、儲存、裝卸、搬運、包裝、流通加工、配送、信息處理、回收等功能。對我國的中小企業(yè)來說,發(fā)展物流必須重視物流系統(tǒng)的全面改造。以物流供應鏈思想作為指導,注意對物流管理的強化,積極運用有效策略,全新打造物流的運作與管理體系。
六、從服務角度做物流
在國外,廣泛認為物流業(yè)歸屬于服務業(yè)。但是現(xiàn)代物流在中國還是新興產(chǎn)業(yè)。它的發(fā)展也就緊密伴隨著企業(yè)經(jīng)營管理理念而在發(fā)展。當代企業(yè)政府對物流管理的認識也逐漸提高到了企業(yè)和地區(qū)的戰(zhàn)略理論的高度。當代企業(yè)經(jīng)營管理理念的核心正在從產(chǎn)品制造轉(zhuǎn)向產(chǎn)品銷售再轉(zhuǎn)向現(xiàn)代營銷和客戶服務。并且提出了“一切為客戶創(chuàng)造價值”的現(xiàn)代經(jīng)營理念。人們對于物流的認識早已經(jīng)從企業(yè)自身的“功能性活動”上升為“以滿足客戶需求為目的”、“努力為客戶創(chuàng)造價值,盡力增加顧客讓渡價值”的“從供應到消費的運動、儲存和配送的計劃、執(zhí)行和控制”的管理過程。消費者的需求不僅僅是商品。以企業(yè)的經(jīng)營和發(fā)展的角度來看,物流就等同于服務。服務也是物流的物品之一。它是企業(yè)所提供的服務,“服務的實質(zhì)上也是一種商品”,但是這一點卻常常被人們所忽視。七、引進專業(yè)物流管理咨詢公司中小企業(yè)自身的專業(yè)力量不足,因此要懂得借助相關(guān)的管理顧問公司以及相關(guān)研究機構(gòu)來科學規(guī)劃企業(yè)的物流戰(zhàn)略、實施戰(zhàn)略和管理體系。要去了解先進物流企業(yè)的作以及這樣運作的原因所在。在這一過程之中,它們的物流服務理念是如何變化的,怎樣做到滿足客戶需求和市場競爭,企業(yè)經(jīng)營戰(zhàn)略相銜接。這有這樣,我國的中小企業(yè)才有可能成功地進入一個新的市場領域,在現(xiàn)有的市場基礎上進一步地替身自身的服務水平,拓展市場份額。許多的企業(yè)在管理咨詢方面下了許多的功夫,用以探索新管理方式和學習物流技術(shù)的運用。中小企想要全面提升企業(yè)的物流運作以及管理的水平,更加迅速地構(gòu)建起一個先進的物流系統(tǒng)以及管理平臺,就應當充分利用專業(yè)管理顧問公司的優(yōu)勢能力。結(jié)語:戰(zhàn)略性的規(guī)劃、投資以及技術(shù)開發(fā)是最近幾年促進物流現(xiàn)代化發(fā)展的重要因素。企業(yè)亟需解決的不僅僅是倉促運輸以及商品配送等最為基本的物流問題,最重要是為了解決怎么樣才能在在變化莫測的市場競爭之中謀求生存與發(fā)展這一問題。因此企業(yè)必須做到將物流放在企業(yè)經(jīng)營管理這一戰(zhàn)略高度上去考慮怎樣將采購、生產(chǎn)和銷售則一系列過程與物流相結(jié)合。從而形成以業(yè)務流程為基礎,形成物流一體化,達到增強企業(yè)市場競爭力的目的。物流已然是企業(yè)市場營銷的基礎。作業(yè)企業(yè)的經(jīng)理,在物流決策方面應當從戰(zhàn)略高度去考慮物流運營成本和市場拓展需要、物流顧客服務的特殊要求之間的動態(tài)平衡,仔細思考怎樣才能把物流系統(tǒng)與營銷戰(zhàn)略以及企業(yè)的總體戰(zhàn)略靈活結(jié)合。不再像傳統(tǒng)上,只注重如何解決流程再造、壓縮成本等投入產(chǎn)出的管理問題以及有限資源的合理配置問題。參考文獻【1】孟祥茹
-中國企業(yè)物流運作現(xiàn)狀及發(fā)展戰(zhàn)略探討HYPERLINK"/s?wd=journaluri:(53fb76a6f8c8b8bd)%20%E3%80%8A%E5%B1%B1%E4%B8%9C%E4%BA%A4%E9%80%9A%E5%AD%A6%E9%99%A2%E5%AD%A6%E6%8A%A5%E3%80%8B&
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 郴州2025年湖南郴州市安仁縣事業(yè)單位招聘79人筆試歷年參考題庫附帶答案詳解
- 衢州浙江衢州江山市雙塔街道社區(qū)衛(wèi)生服務中心招聘編外護士筆試歷年參考題庫附帶答案詳解
- 牡丹江2025年黑龍江牡丹江市中醫(yī)醫(yī)院招聘14人筆試歷年參考題庫附帶答案詳解
- 文山2025年云南文山丘北縣第五批城鎮(zhèn)公益性崗位招聘14人筆試歷年參考題庫附帶答案詳解
- 山東2025年山東省地質(zhì)礦產(chǎn)勘查開發(fā)局所屬事業(yè)單位招聘64人筆試歷年參考題庫附帶答案詳解
- 職業(yè)人群智能健康干預的知情同意簡化策略-1-1
- 周口2025年河南周口市商水縣城區(qū)學校選調(diào)教師233人筆試歷年參考題庫附帶答案詳解
- 云浮2025年廣東云浮新興縣委黨校招聘緊缺人才筆試歷年參考題庫附帶答案詳解
- 院感及職業(yè)暴露培訓課件
- 耳鼻喉科治療知情同意溝通策略
- 2024用電信息采集系統(tǒng)技術(shù)規(guī)范第1部分:專變采集終端
- 浙江省杭州市2024年中考語文試卷(含答案)
- 化工行業(yè)安全生產(chǎn)標準化管理體系建設方案
- 期末達標測試卷(試題)-2024-2025學年人教PEP版英語四年級上冊
- 電動汽車充電設施的故障診斷與預測維護考核試卷
- DLT 1563-2016 中壓配電網(wǎng)可靠性評估導則
- HJ 377-2019 化學需氧量(CODCr)水質(zhì)在線自動監(jiān)測儀技術(shù)要求及檢測方法
- 商業(yè)物業(yè)認購意向合同
- 人行梯籠專項施工方案
- 華為在做新媒體營銷的案例分析
- 油脂科技有限公司年產(chǎn)3萬噸油酸項目環(huán)評可研資料環(huán)境影響
評論
0/150
提交評論