![Android課程設(shè)計(jì)報(bào)告_第1頁(yè)](http://file4.renrendoc.com/view/935b92cc6c287203f39c7b92b2f3a972/935b92cc6c287203f39c7b92b2f3a9721.gif)
![Android課程設(shè)計(jì)報(bào)告_第2頁(yè)](http://file4.renrendoc.com/view/935b92cc6c287203f39c7b92b2f3a972/935b92cc6c287203f39c7b92b2f3a9722.gif)
![Android課程設(shè)計(jì)報(bào)告_第3頁(yè)](http://file4.renrendoc.com/view/935b92cc6c287203f39c7b92b2f3a972/935b92cc6c287203f39c7b92b2f3a9723.gif)
![Android課程設(shè)計(jì)報(bào)告_第4頁(yè)](http://file4.renrendoc.com/view/935b92cc6c287203f39c7b92b2f3a972/935b92cc6c287203f39c7b92b2f3a9724.gif)
![Android課程設(shè)計(jì)報(bào)告_第5頁(yè)](http://file4.renrendoc.com/view/935b92cc6c287203f39c7b92b2f3a972/935b92cc6c287203f39c7b92b2f3a9725.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
《移動(dòng)應(yīng)用技術(shù)》
課程設(shè)計(jì)報(bào)告題目:基于Android的金源書店庫(kù)存管理系統(tǒng)的開發(fā)與設(shè)計(jì)學(xué)生姓名:專 業(yè): 信息管理與信息系統(tǒng)班 級(jí):指導(dǎo)教師:信息管理與工程系2015年5月28日基于Android的金源書店庫(kù)存管理系統(tǒng)的開發(fā)與設(shè)計(jì)摘要:金源書店庫(kù)存管理系統(tǒng)是典型的信息管理系統(tǒng)(MISManagementInformationSystem),其開發(fā)主要包括后臺(tái)數(shù)據(jù)庫(kù)的建立和維護(hù)以及前端應(yīng)用程序的開發(fā)兩個(gè)方面。對(duì)于前者要求建立起數(shù)據(jù)一致性和完整性強(qiáng)、數(shù)據(jù)安全性好的數(shù)據(jù)庫(kù)。而對(duì)于后者則要求應(yīng)用程序功能完備,易使用等特點(diǎn)。經(jīng)過分析,本小組決定采用SQLite建立數(shù)據(jù)庫(kù)后臺(tái),使用Eclipse開發(fā)工具,利用其提供的各種面向?qū)ο蟮拈_發(fā)工具進(jìn)行開發(fā)。本系統(tǒng)通過基本信息管理對(duì)供應(yīng)商、顧客和商品進(jìn)行基本信息的管理。通過庫(kù)存管理進(jìn)行商品的入庫(kù)出庫(kù)操作來完成商品信息的管理。經(jīng)過本小組近一個(gè)月的刻苦學(xué)習(xí)與實(shí)踐,如期完成了系統(tǒng)的開發(fā)工作,實(shí)現(xiàn)了金源書店庫(kù)存管理系統(tǒng)一些基本功能。關(guān)鍵字:信息管理系統(tǒng),數(shù)據(jù)庫(kù),出庫(kù),入庫(kù)目錄項(xiàng)目簡(jiǎn)介與分工 1項(xiàng)目簡(jiǎn)介 1項(xiàng)目分工 2項(xiàng)目設(shè)計(jì)方案 3用到的技術(shù) 5用戶登錄模塊 5基本信息管理 11庫(kù)存信息管理 26\o"CurrentDocument"系統(tǒng)設(shè)置 38關(guān)于 42\o"CurrentDocument"相關(guān)技術(shù) 42\o"CurrentDocument"4項(xiàng)目總結(jié)及展望 44\o"CurrentDocument"5心得體會(huì) 45考文獻(xiàn) 471項(xiàng)目簡(jiǎn)介與分工1.1項(xiàng)目簡(jiǎn)介金源書店庫(kù)存管理是通過采購(gòu)、倉(cāng)儲(chǔ)、綜合、出庫(kù)、配送等活動(dòng),解決物資供需之間存在的時(shí)間、空間、數(shù)量、品種價(jià)格等方面的矛盾,以此銜接社會(huì)生產(chǎn)的各環(huán)節(jié),從而確保生產(chǎn)的順利進(jìn)行。傳統(tǒng)倉(cāng)庫(kù)管理完全由人來完成,以手工記錄為主,當(dāng)企業(yè)的物流業(yè)務(wù)成長(zhǎng)到一定規(guī)模之后,隨著訂單數(shù)量的增加,客戶需求不斷個(gè)性化,執(zhí)行效率就成為物流發(fā)展的瓶頸,單純依靠人力資源的增加已不能提升出入庫(kù)執(zhí)行的速度,反而帶來成本的大幅度上升與差錯(cuò)頻頻。因此,本系統(tǒng)以提高倉(cāng)庫(kù)管理人員的工作效率,降低其工作量、減少手工操作的差錯(cuò)率、提高庫(kù)存的準(zhǔn)確率為初衷,針對(duì)金院地下超市倉(cāng)庫(kù)的管理模式,提出此項(xiàng)目的制作,且利用計(jì)算機(jī)技術(shù)與現(xiàn)代的管理技術(shù)相互配合,來更加準(zhǔn)確、高速地完成工業(yè)企業(yè)日常的倉(cāng)庫(kù)管理工作。使企業(yè)能夠以最少的人員來完成更多的工作。為此實(shí)現(xiàn)了本系統(tǒng)的完成。本小組采用SQLite建立數(shù)據(jù)庫(kù)后臺(tái),使用Eclipse開發(fā)工具,利用其提供的各種面向?qū)ο蟮拈_發(fā)工具進(jìn)行開發(fā)。本系統(tǒng)通過基本信息管理對(duì)供應(yīng)商、顧客和商品進(jìn)行基本信息的管理。通過庫(kù)存管理進(jìn)行商品的入庫(kù)出庫(kù)操作來完成商品信息的管理。本項(xiàng)目分工情況如表1-1所示:表1-1項(xiàng)目分工表 模塊劃分 負(fù)責(zé)人基本信息管理供應(yīng)商信息管理添加供應(yīng)商信息修改供應(yīng)商信息 一刪除供應(yīng)商信息查詢供應(yīng)商信息顧客信息管理添加顧客信息修改顧客信息刪除顧客信息查詢顧客信息 一商品信息管理添加商品信息查詢商品信息修改商品信息刪除商品信息庫(kù)存管理入庫(kù)管理添加入庫(kù)商品信息修改入庫(kù)商品信息 一刪除入庫(kù)商品信息查詢?nèi)霂?kù)商品信息出庫(kù)管理添加出庫(kù)商品信息修改出庫(kù)商品信息刪除出庫(kù)商品信息查詢出庫(kù)商品信息-信息查詢-庫(kù)存信息查詢系統(tǒng)設(shè)置用戶管理登錄注冊(cè)查詢用戶修改密碼 刪除用戶 退出退出系統(tǒng)關(guān)于關(guān)于該軟件一金源書店庫(kù)存管理系統(tǒng)庫(kù)存管理基本信息管理出庫(kù)管理入庫(kù)管理商品信息管理顧客信息管理供應(yīng)商信息管理圖2-1系統(tǒng)功能模塊圖圖2-1系統(tǒng)功能模塊圖列出了系統(tǒng)的主要功能模塊。包括基本信息管理,庫(kù)存信息管理以及系統(tǒng)設(shè)置。其中基本信息管理又包括供應(yīng)商信息管理,顧客信息管理以及商品信息管理。庫(kù)存信息管理包括入庫(kù)管理和出庫(kù)管理。系統(tǒng)設(shè)置包括登錄注冊(cè)、修改密碼和退出三個(gè)功能。其中供應(yīng)商信息管理包括添加供應(yīng)商信息、修改供應(yīng)商信息、刪除供應(yīng)商信息、查詢供應(yīng)商信息四個(gè)子功能。顧客信息管理包括添加顧客信息、修改顧客信息、刪除顧客信息、查詢顧客信息四個(gè)子功能。商品信息管理包括添加商品信息、修改商品信息、刪除商品信息、查詢商品信息四個(gè)子功能。入庫(kù)管理包括添加入庫(kù)商品信息、修改入庫(kù)商品信息、刪除入庫(kù)商品信息、查詢?nèi)霂?kù)商品信息四個(gè)子功能。出庫(kù)管理包括添加出庫(kù)商品信息、修改出庫(kù)商品信息、刪除出庫(kù)商品信息、查詢出庫(kù)商品信息四個(gè)子3功能。總體框架如圖2-2所示:基本信息庫(kù)存管理信息查詢用戶管理關(guān)于添加供應(yīng)商商品信息刪除供應(yīng)商客戶信息修改供應(yīng)商供應(yīng)商信息查詢供應(yīng)商圖2-2總體框架圖3用到的技術(shù)3?1用戶登錄模塊用戶登錄模塊是系統(tǒng)模塊中一個(gè)重要的子系統(tǒng)模塊,它是系統(tǒng)安全的一個(gè)保障。它的主要功能是安全帳號(hào)管理,需要正確帳號(hào)和密碼才能進(jìn)入系統(tǒng)。對(duì)于錯(cuò)誤帳號(hào)和密碼給出提示。金源書店庫(kù)存管理圖3-1登錄界面處理流程:輸入:用戶名和密碼。處理:(1)用戶登錄窗體啟動(dòng)。(2)用戶填寫用戶名并輸入密碼。(3)從操作人員表中檢查是否有相應(yīng)的用戶名和密碼。(4)如果用戶名或密碼錯(cuò)誤,進(jìn)行提示。(5)如果輸入的用戶名和相應(yīng)密碼正確,則根據(jù)該用戶的權(quán)限類別進(jìn)行權(quán)限設(shè)置。(6)進(jìn)入主控制平臺(tái)。設(shè)計(jì)流程圖,如圖3-2所示:圖3-2登錄流程圖相關(guān)代碼如下:publicclassStoreManagementActivityextendsActivity{privateEditTextuse;//用戶名privateEditTextpassword;//密碼SqlHelpdemodb;SQLiteDatabasesDatabase=null;publicvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);requestWindowFeature(Window.FEATURE_NO_TITLE);setContentView(R.layout.main);use=(EditText)findViewById(R.id.edi1);password=(EditText)findViewById(R.id.edi2);sDatabase=db.getWritableDatabase();}//登錄按鈕監(jiān)聽publicvoidonload(Viewv){//定義取數(shù)據(jù)的字符串Stringi=use.getText().toString();// 編寫數(shù)據(jù)庫(kù)語(yǔ)句Stringselect_sql= username,passwordfromuser_infowhereusername=i+// 執(zhí)行語(yǔ)句Cursorcursor=sDatabase.rawQuery(select_sql,null);cursor.moveToFirst();//將從數(shù)據(jù)中取出的用戶名和密碼賦值給兩個(gè)字符串變量try{userName=cursor.getString(0);userPw=cursor.getString(1);}catch(Exceptione){//TODO:handleexception}//判斷用戶名是否為空{(diào)錯(cuò)誤信息用戶名不能為空!}//判斷密碼是否為空{(diào)錯(cuò)誤信息密碼不能為空!}判斷用戶名和密碼是否正確elseif(!(use.getText().toString().equals(userName)&&password.getText().toString().equals(userPw))){錯(cuò)誤信息用戶名或密碼錯(cuò)誤,請(qǐng)重新輸入}全部正確跳轉(zhuǎn)到操作界面else{cursor.close();Intentintent=newIntent();Bundlebundle=newBundle();intent.putExtras(bundle);intent.setClass(getApplicationContext(),MenuDemo.class);startActivity(intent);}}注冊(cè)界面如圖3-3所示:用戶注冊(cè)用戶名:請(qǐng)輸入用戶名職工號(hào):請(qǐng)輸入職工號(hào)密ξ?:請(qǐng)輸入密碼密碼確認(rèn):請(qǐng)輸入密碼圖3-3注冊(cè)界面相關(guān)代碼如下:protectedvoidonCreate(BundleSavedInstanceState){//TODOAuto-generatedmethodstubsuper.onCreate(savedInstanceState);SetContentView(R.layout,userregister);name=(EditText)fIndViewById(R.id.usename);pass=(EditText)fIndViewById(R.id.password);passsure=(EditText)findViewByld(R.id.passwordsure);workid=(EditText)fIndViewById(R.id.useide);sDatabase=db.getWritableDatabase();)publicvoidsure(Viewv){sDatabase=db.getWritableDatabase();錯(cuò)誤信息請(qǐng)?zhí)顚懲暾畔?!}elseif(!pass.getText().toString().equals(passsure.getText().toString())){錯(cuò)誤信息兩次密碼輸入不一致!}else{Stringename=name.getText().toString();Stringepass=pass.getText().toString();Stringeid=workid.getText().toString();//查詢語(yǔ)句Cursorselect_cursor=sDatabase.rawQuery(selectStr,null);select_cursor.moveToFirst();Stringstring=null;do{try{string=select_cursor.getString(0);}catch(Exceptione){//TODO:handleexception}if(string.equals(ename)){錯(cuò)誤信息用戶名已存在,請(qǐng)另設(shè)用戶名select_cursor.close();break;}}while(select_cursor.moveToNext());//沒有重名注冊(cè)開始if(!string.equals(ename)){//定義IDintid=0;CursorseCursor=sDatabase.rawQuery(select,null);try{seCursor.moveToFirst();id=Integer.parseInt(seCursor.getString(0));id+=1;}catch(Exceptione){//TODO:handleexceptionid=0;}提示注冊(cè)成功,請(qǐng)返回登錄界面登錄seCursor.close();}}3.2基本信息管理基本信息管理包括供應(yīng)商信息管理、客戶信息管理和商品信息管理:供應(yīng)商是商品在入庫(kù)時(shí)提供商品的人,在進(jìn)行入庫(kù)操作時(shí)必須先添加該商品的供應(yīng)商的信息。供應(yīng)商的信息包括供應(yīng)商的公司名稱,聯(lián)系人姓名,聯(lián)系人地址,城市名稱,地區(qū)名稱,郵政編碼,聯(lián)系電話,傳真號(hào)碼,公司主頁(yè)等基本信息。這些都是必須要求輸入的。本程序提供了增加,刪除,修改和查詢供應(yīng)商信息的功能。增加:當(dāng)有新的供應(yīng)商提供商品的時(shí)候需要使用此功能。刪除:當(dāng)與某供應(yīng)商取消貿(mào)易關(guān)系時(shí),需要把供應(yīng)商信息從系統(tǒng)中刪除。修改:當(dāng)某供應(yīng)商基本信息發(fā)生改變時(shí),可以修改供應(yīng)商信息。查詢:可以查詢庫(kù)中任何供應(yīng)商的信息。因此倉(cāng)庫(kù)管理員可以方便的進(jìn)行供應(yīng)商信息的管理。添加供應(yīng)商信息的對(duì)話框如圖3-4所示:添加供應(yīng)商信息:公司名稱聯(lián)系地址地區(qū)名稱聯(lián)系電話公司主頁(yè)填寫公司名稱,關(guān)系人:填塔聯(lián)系地址城市名稱:埴寫地區(qū)名稱埴寫聯(lián)系電話rπr?L?.g-:J填寫公司主頁(yè)填寫聯(lián)系人傳真號(hào)碼:返回埴寫城市名稱填寫郵政編碼填寫傳真號(hào)碼圖3-4添加供應(yīng)商信息添加供應(yīng)商信息操作步驟及處理流程:(1)選擇基本信息管理->供應(yīng)商信息管理->添加供應(yīng)商信息(2)出現(xiàn)圖3-4所示對(duì)話框(3)用戶輸入公司名稱,聯(lián)系人姓名,聯(lián)系人地址,城市名稱,地區(qū)名稱,郵政編碼,聯(lián)系電話,傳真號(hào)碼,公司主頁(yè)(4)點(diǎn)擊保存.如果其中有空項(xiàng),會(huì)提示該項(xiàng)不能為空.要求用戶重新輸入(5)彈出提示框顯示供應(yīng)商信息已經(jīng)加入。(6)用戶可以繼續(xù)加入供應(yīng)商信息或者點(diǎn)返回進(jìn)行其它操作。設(shè)計(jì)流程圖,如圖3-5所示:圖3-5添加供應(yīng)商流程圖相關(guān)代碼如下:protectedvoidonCreate(BundlesavedInstanceState){//TODOAuto-generatedmethodstubsuper.onCreate(savedInstanceState);setContentView(R.layout.tianjiag);添加供應(yīng)商信息Intentinte=getIntent();Bundlename=inte.getExtras();sDatabase=db.getWritableDatabase();gsmc=(EditText)findViewById(R.id.gsmce);lxr=(EditText)findViewById(R.id.lxre);csmc=(EditText)findViewById(R.id.csmce);lxdz=(EditText)findViewById(R.id.lxdze);dqmc=(EditText)findViewById(R.id.dqmce);yzbm=(EditText)findViewById(R.id.yzbme);lxdh=(EditText)findViewById(R.id.lxdhe);czhm=(EditText)findViewById(R.id.czhme);gszy=(EditText)findViewById(R.id.gszye);}publicvoidsave1(Viewv){提示請(qǐng)輸入公司名稱}else{//查詢語(yǔ)句Stringegsmc=gsmc.getText().toString();Stringelxr=lxr.getText().toString();Stringelxdz=lxdz.getText().toString();Stringecsmc=csmc.getText().toString();Stringedqmc=dqmc.getText().toString();Stringeyzbm=yzbm.getText().toString();Stringelxdh=lxdh.getText().toString();Stringeczhm=czhm.getText().toString();Stringegszy=gszy.getText().toString();Cursorcursor=sDatabase.rawQuery(selectStr,null);cursor.moveToFirst();Stringnameg=null;do{try{nameg=cursor.getString(0);}catch(Exceptione){//TODO:handleexception}if(nameg.equals(egsmc)){錯(cuò)誤信息該公司信息已存在cursor.close();break;}}while(cursor.moveToNext());if(!nameg.equals(egsmc)){//定義IDintid=0;CursorseCursor=sDatabase.rawQuery(select,null);try{seCursor.moveToFirst();id=Integer.parseInt(seCursor.getString(0));id+=1;}catch(Exceptione){//TODO:handleexceptionid=0;}egsmc++elxr++elxdz+edqmc+添加成功seCursor.close();}}}修改供應(yīng)商信息步驟及處理流程:選擇要修改的供應(yīng)商信息選擇基本信息管理->供應(yīng)商信息管理->修改供應(yīng)商信息用戶可以修改供應(yīng)商的基本信息,修改完后點(diǎn)保存如果其中有空項(xiàng)或非法字符,會(huì)提示該項(xiàng)不能為空或輸入不合要求.求用戶重新輸入更新供應(yīng)商信息列表。顯示信息已經(jīng)修改用戶可以繼續(xù)加入供應(yīng)商信息或者點(diǎn)返回進(jìn)行其它操作要設(shè)計(jì)流程圖,如圖3-6所示:圖3-6修改供應(yīng)商信息流程圖相關(guān)代碼如下:protectedvoidonCreate(BundlesavedInstanceState){//TODOAuto-generatedmethodstubsuper.onCreate(savedInstanceState);setContentView(R.layout.shanchuk1);修改供應(yīng)商finalAlertDialog.Builderbuilder=newAlertDialog.Builder(this);sDatabase=db.getWritableDatabase();listview=(ListView)findViewById(R.id.kehulist);List<Map<String,Object>>slist=newArrayList<Map<String,Object>>();Cursorcursor=sDatabase.rawQuery(selectStr,null);cursor.moveToFirst();intcount=cursor.getCount();id=newString[count];cname=newString[count];pname=newString[count];add=newString[count];city=newString[count];diqu=newString[count];youbian=newString[count];tel=newString[count];chuanzhen=newString[count];web=newString[count];do{try{id[i]=cursor.getString(0);cname[i]=cursor.getString(1);pname[i]=cursor.getString(2);add[i]=cursor.getString(3);city[i]=cursor.getString(4);diqu[i]=cursor.getString(5);youbian[i]=cursor.getString(6);tel[i]=cursor.getString(7);chuanzhen[i]=cursor.getString(8);web[i]=cursor.getString(9);i++;}catch(Exceptione){//TODO:handleexception}}while(cursor.moveToNext());for(inti=0;i<id.length;i++){Map<String,Object>map=newHashMap<String,Object>();slist.add(map);}SimpleAdaptersimple=newSimpleAdapter(this,slist,R.id.t2,R.id.t3,R.id.t4,R.id.t5,R.id.t6,R.id.t7,R.id.t8,R.id.t9,R.id.t10,};listview.setAdapter(simple);listview.setOnItemClickListener(newOnItemClickListener(){@OverridepublicvoidonItemClick(AdapterView<?>arg0,Viewarg1,intarg2,longarg3){//TODOAuto-generatedmethodstubfor(inti=0;i<cname.length;i++){if(arg2==i){確認(rèn)消息確定要修改該供應(yīng)商嗎?finalintj=i;確定@OverridepublicvoidonClick(DialogInterfacedialog,intwhich){Intentintent=newIntent();Bundlebundle=newBundle();intent.putExtras(bundle);intent.setClass(Xiugaig.this,Xiugaig1.class);startActivity(intent);finish();}});取消@OverridepublicvoidonClick(DialogInterfacedialog,intwhich){//TODOAuto-generatedmethodstub}});builder.create().show();});}刪除供應(yīng)商信息步驟及處理流程選擇要修改的供應(yīng)商信息選擇基本信息管理->供應(yīng)商信息管理->刪除供應(yīng)商信息更新供應(yīng)商信息列表。顯示信息已經(jīng)被刪除信息一旦被刪除將不能被恢復(fù)設(shè)計(jì)流程圖,如圖3-7所示:圖3-7刪除供應(yīng)商信息流程圖相關(guān)代碼如下:protectedvoidonCreate(BundlesavedInstanceState){//TODOAuto-generatedmethodstubsuper.onCreate(savedInstanceState);setContentView(R.layout.shanchuk1);刪除供應(yīng)商finalAlertDialog.Builderbuilder=newAlertDialog.Builder(this);sDatabase=db.getWritableDatabase();listview=(ListView)findViewById(R.id.kehulist);List<Map<String,Object>>slist=newArrayList<Map<String,Object>>();Cursorcursor=sDatabase.rawQuery(selectStr,null);cursor.moveToFirst();intcount=cursor.getCount();id=newString[count];cname=newString[count];pname=newString[count];add=newString[count];city=newString[count];diqu=newString[count];youbian=newString[count];tel=newString[count];chuanzhen=newString[count];web=newString[count];do{try{id[i]=cursor.getString(0);cname[i]=cursor.getString(1);pname[i]=cursor.getString(2);add[i]=cursor.getString(3);city[i]=cursor.getString(4);diqu[i]=cursor.getString(5);youbian[i]=cursor.getString(6);tel[i]=cursor.getString(7);chuanzhen[i]=cursor.getString(8);web[i]=cursor.getString(9);i++;}catch(Exceptione){//TODO:handleexception}}while(cursor.moveToNext());for(inti=0;i<id.length;i++){Map<String,Object>map=newHashMap<String,Object>();slist.add(map);}SimpleAdaptersimple=newSimpleAdapter(this,slist,R.id.t2,R.id.t3,R.id.t4,R.id.t5,R.id.t6,R.id.t7,R.id.t8,R.id.t9,R.id.t10,});listview.setAdapter(simple);listview.setOnItemClickListener(newOnItemClickListener(){@OverridepublicvoidonItemClick(AdapterView<?>arg0,Viewarg1,intarg2,longarg3){//TODOAuto-generatedmethodstubfor(inti=0;i<cname.length;i++){if(arg2==i){確認(rèn)消息確定要?jiǎng)h除該客戶嗎?finalintj=i;確定@OverridepublicvoidonClick(DialogInterfacedialog,intwhich){//TODOAuto-generatedmethodstubIntentintent=newIntent();intent.setClass(Shanchug.this,Shanchug.class);startActivity(intent);finish();}});取消@OverridepublicvoidonClick(DialogInterfacedialog,intwhich){//TODOAuto-generatedmethodstub}});builder.create().show();}查詢供應(yīng)商信息步驟及處理流程如圖3-8所示:界面如圖3-9所示:垂詢供應(yīng)商序號(hào)公司名稱 聯(lián)系人地址 城市 地區(qū)郵編目da dadd sss aaa dddd22 2222圖3-9查詢供應(yīng)商信息圖相關(guān)代碼如下:protectedvoidonCreate(BundleSavedInstanceState){super.onCreate(savedInstanceState);SetContentView(R.layout,shanchuk);查詢供應(yīng)商finalAlertDialog.Builderbuilder=newAlertDialog.Builder(this);sDatabase=db.getWritableDatabase();listview=(ListView)fIndViewById(R.id.kehulist);List<Map<String,Object>>slist=newArrayList<Map<String,Object>>();Cursorcursor=sDatabase.rawQuery(selectStr,null);cursor.moveToFirst();intcount=cursor.getCount();id=newStringCcount];cname=newStringCcount];pname=newStringCcount];add=newStringCcount];city=newStringCcount];diqu=newStringCcount];youbian=newStringCcount];tel=newStringCcount];chuanzhen=newStringCcount];web=newStringCcount];do{try{id[i]=cursor.getString(0);cname[i]=cursor.getString(1);pname[i]=cursor.getString(2);add[i]=cursor.getString(3);city[i]=cursor.getString(4);diqu[i]=cursor.getString(5);youbian[i]=cursor.getString(6);tel[i]=cursor.getString(7);chuanzhen[i]=cursor.getString(8);web[i]=cursor.getString(9);i++;}catch(Exceptione){//TODO:handleexception}}while(cursor.moveToNext());for(inti=0;i<id.length;i++){Map<String,Object>map=newHashMap<String,Object>();slist.add(map);}SimpleAdaptersimple=newSimpleAdapter(this,slist,R.id.t3,R.id.t4,R.id.t5,R.id.t6,R.id.t7,R.id.t8,R.id.t9,R.id.t10,});listview.setAdapter(simple);}}顧客是商品在出庫(kù)操作時(shí)商品銷售的對(duì)象。同供應(yīng)商信息類似在進(jìn)行入庫(kù)操作時(shí)必須先添加該商品的供應(yīng)商的信息。顧客的基本信息同供應(yīng)商的類似,也都是必須要求輸入的。同樣對(duì)顧客信息的管理也提供了增加,刪除,修改和查詢功能。商品信息管理。商品的基本信息包括商品名稱,商品規(guī)格,計(jì)量單位。這些都是必須輸入的。用來記錄商品的基本屬性。顧客和商品信息的操作過程與供應(yīng)商的操作步驟和處理流程類似,在此不一一講述。3.3庫(kù)存信息管理系統(tǒng)的核心功能在于入庫(kù)、出庫(kù)管理,這部分實(shí)現(xiàn)比較復(fù)雜,涉及到的數(shù)據(jù)和操作步驟都比較多。入庫(kù)和出庫(kù)的流程大體上是一樣的,只有細(xì)節(jié)部分的區(qū)別。流程如圖3-10所示。在商品入庫(kù)/出庫(kù)之前必須建立一張入庫(kù)/出庫(kù)單,在該清單中記錄了該次入庫(kù)/出庫(kù)過程的基本信息,包括供應(yīng)商/客戶名稱、入庫(kù)/出庫(kù)時(shí)間、商品名稱、商品規(guī)格、計(jì)量單位、單價(jià)、數(shù)量等等。倉(cāng)庫(kù)的入庫(kù)/出庫(kù)過程涉及到倉(cāng)庫(kù)的庫(kù)存,關(guān)系到財(cái)產(chǎn)問題,與之相關(guān)的信息都很重要。所以本程序設(shè)計(jì)了修改入庫(kù)/出庫(kù)單的信息。下面將結(jié)合圖片具體講述實(shí)現(xiàn)過程。.入庫(kù)操作:入庫(kù)操作的界面如圖3-11所示:界面的左邊是供貨商信息和商品信息。為了保證入庫(kù)信息準(zhǔn)確無(wú)誤,這兩項(xiàng)用戶不能自己填寫,如果有新的供應(yīng)商或新的商品必須先在基本信息管理中填加供應(yīng)商信息和商品信息,然后從下拉列表中選擇相信的供應(yīng)商和商品。這樣可以保證商品入庫(kù)正確,保護(hù)財(cái)產(chǎn)安全。入庫(kù)單右邊是進(jìn)貨信息,包括本次商品入庫(kù)時(shí)的單價(jià)和數(shù)量。因?yàn)槊看芜M(jìn)貨時(shí)單價(jià)和數(shù)量都不一樣,所以需要倉(cāng)庫(kù)管理員自己進(jìn)行填寫。進(jìn)貨日期默認(rèn)為填單當(dāng)日,也可以點(diǎn)下拉箭頭進(jìn)行時(shí)間選擇。圖3-10入庫(kù)和出庫(kù)的流程入庫(kù)操作步驟及處理流程:(1)選擇庫(kù)存信息管理->入庫(kù)操作->添加入庫(kù)商品信息⑵出現(xiàn)如圖3-10所示對(duì)話框(3)從供貨商信息的公司名稱下拉列表中選擇公司名稱,從商品信息的商品名稱下拉列表中選擇商品名稱,填寫進(jìn)貨信息中的單價(jià),數(shù)量,從進(jìn)貨日期下拉列表中選擇時(shí)間,填好各項(xiàng)信息后點(diǎn)擊保存(4)如果填寫信息有誤或者為空系統(tǒng)會(huì)提示重填(5)填寫正確且點(diǎn)擊保存后,顯示入庫(kù)商品信息,確定商品已經(jīng)入庫(kù)用戶可以繼續(xù)添加入庫(kù)信息,或者點(diǎn)返回進(jìn)行其它操作公司名稱:da-商品名稱:ceshi*聯(lián)系人:韭 I商品規(guī)格:ceshi I聯(lián)系電話:22222222222計(jì)量單位:004進(jìn)貨單價(jià):進(jìn)貨日期:進(jìn)貨數(shù)量:2015保存返回圖3-11添加入商品入庫(kù)信息相關(guān)代碼如下:protectedvoidonCreate(BundlesavedInstanceState){//TODOAuto-generatedmethodstubsuper.onCreate(savedInstanceState);setContentView(R.layout.tianjiar);Intentinte=getIntent();Bundlename=inte.getExtras();sDatabase=db.getWritableDatabase();Calendarc=Calendar.getInstance();year=c.get(Calendar.YEAR);mon=c.get(Calendar.MONTH);day=c.get(Calendar.DAY_OF_MONTH);年 月日date=(DatePicker)findViewById(R.id.jhrqd);date.init(year,mon,day,newOnDateChangedListener(){@OverridepublicvoidonDateChanged(DatePickerarg0,intyear,intmonth,intday){Tianjiar.this.year=year;Tianjiar.this.mon=month;Tianjiar.this.day=day;//顯示當(dāng)前日期、時(shí)間年 月日System.out.println(da);}});Cursorcursor=sDatabase.rawQuery(selectStr,null);Cursorcursor1=sDatabase.rawQuery(selectStr1,null);cursor.moveToFirst();cursor1.moveToFirst();intcount=cursor.getCount();intcount1=cursor1.getCount();gsname=newString[count];spname=newString[count1];do{try{gsname[i]=cursor.getString(0);System.out.println(gsname[i]);i++;}catch(Exceptione){//TODO:handleexception}}while(cursor.moveToNext());do{try{spname[j]=cursor1.getString(0);System.out.println(spname[j]);j++;}catch(Exceptione){//TODO:handleexception}}while(cursor1.moveToNext());BaseAdapterba=newBaseAdapter(){@OverridepublicintgetCount(){//指定一共包含10個(gè)選項(xiàng)returngsname.length;}@OverridepublicObjectgetItem(intposition){returnnull;}@OverridepubliclonggetItemId(intposition){//TODOAuto-generatedmethodstubreturn0;}//重寫該方法,該方法返回的VieW將作為列表框的每項(xiàng)@OverridepublicVieWgetVieW(intposition,VieWconvertVieW,VieWGroupparent){TextVieWtext=neWTextVieW(Tianjiar.this);text.setText(gsname[position]);text.setTextSize(20);text.setTextColor(R.color.red);returntext;}};gsmc.setAdapter(ba);BaseAdapterba1=neWBaseAdapter(){@OverridepublicintgetCount(){//指定一共包含10個(gè)選項(xiàng)returnspname.length;}@OverridepublicObjectgetItem(intposition){returnnull;}@OverridepubliclonggetItemId(intposition){//TODOAuto-generatedmethodstubreturn0;}//重寫該方法,該方法返回的VieW將作為列表框的每項(xiàng)@OverridepublicVieWgetVieW(intposition,VieWconvertVieW,VieWGroupparent){TextVieWtext=neWTextVieW(Tianjiar.this);text.setText(spname[position]);text.setTextSize(20);text.setTextColor(R.color.red);returntext;}};spmc.setAdapter(ba1);gsmc.setOnItemSelectedListener(neWOnItemSelectedListener(){@OverridepublicvoidonItemSelected(AdapterVieW<?>arg0,VieWarg1,intarg2,longarg3){//TODOAuto-generatedmethodstubgs=gsname[arg2];Cursorcursor2=sDatabase.raWQuery(selectStr2,null);cursor2.moveToFirst();Stringname=null;Stringtel=null;do{try{name=cursor2.getString(0);tel=cursor2.getString(1);}catch(Exceptione){//TODO:handleexception}}while(cursor2.moveToNext());lxr.setText(name);lxdh.setText(tel);}@OverridepublicvoidonNothingSelected(AdapterView<?>arg0){//TODOAuto-generatedmethodstub}});spmc.setOnItemSelectedListener(newOnItemSelectedListener(){@OverridepublicvoidonItemSelected(AdapterView<?>arg0,Viewarg1,intarg2,longarg3){//TODOAuto-generatedmethodstubsp=spname[arg2];StringselectStr3pguige,pdanweifromproductsCursorcursor3=sDatabase.rawQuery(selectStr3,null);cursor3.moveToFirst();Stringguige=null;Stringdanwei=null;do{try{guige=cursor3.getString(0);danwei=cursor3.getString(1);}catch(Exceptione){//TODO:handleexception}}while(cursor3.moveToNext());spgg.setText(guige);jldw.setText(danwei);}@OverridepublicvoidonNothingSelected(AdapterView<?>arg0){//TODOAuto-generatedmethodstub}});}publicvoidsave(Viewv){提示請(qǐng)?zhí)顚懲暾畔else{//查詢語(yǔ)句Stringelxr=lxr.getText().toString();//定義IDintid=0;CursorseCursor=sDatabase.rawQuery(select,null);try{seCursor.moveToFirst();id=Integer.parseInt(seCursor.getString(0));id+=1;}catch(Exceptione){//TODO:handleexceptionid=0;}添加成功seCursor.close();}}修改入庫(kù)商品信息操作步驟:選擇要修改的入庫(kù)商品信息選擇庫(kù)存信息管理->入庫(kù)操作->修改入庫(kù)商品信息用戶可以修改入庫(kù)單的基本信息,修改完后點(diǎn)保存如果其中有空項(xiàng)或非法字符,會(huì)提示該項(xiàng)不能為空或輸入不合要求.要求用戶重新輸入更新入庫(kù)商品信息列表。顯示信息已經(jīng)修改用戶可以繼續(xù)加入入庫(kù)商品信息或者點(diǎn)返回進(jìn)行其它操作刪除入庫(kù)商品信息步驟及處理流程:選擇要修改的入庫(kù)商品信息(2)選擇庫(kù)存信息管理->入庫(kù)操作->刪除入庫(kù)商品信息(3)如果沒有選擇入庫(kù)商品信息,系統(tǒng)會(huì)提示沒有選擇入庫(kù)商品,要求重新選擇(4)更新供應(yīng)商信息列表。顯示信息已經(jīng)被刪除(5)信息一旦被刪除將不能被恢復(fù)查詢?nèi)霂?kù)商品信息步驟及處理流程:(1)選擇庫(kù)存信息管理->入庫(kù)操作->查詢?nèi)霂?kù)商品信息(2)如果沒有入庫(kù)商品,系統(tǒng)會(huì)提示無(wú)入庫(kù)商品無(wú)法查詢(3)有入庫(kù)商品會(huì)出現(xiàn)圖3-12所示對(duì)話框(4)有兩個(gè)選項(xiàng)供查詢:商品名稱和供應(yīng)商名稱。均無(wú)需輸入,可直接從下拉列表中選擇。(5)如果查找不到符合要求的信息,供應(yīng)商列表為空。用戶可以繼續(xù)查找。(6)輸入正確,入庫(kù)商品列表會(huì)列出符合查找條件的信息供用戶使用。庫(kù)存管理 信息查詢添加入庫(kù)商品入庫(kù)刪除入庫(kù)商Sa出庫(kù)修改入庫(kù)查詢?nèi)霂?kù)圖3-12添加入庫(kù)2.出庫(kù)操作:出庫(kù)操作和入庫(kù)操作的界面類似,這里不再作過多的講述。只是將供應(yīng)商信息改為了顧客信息。同樣,顧客信息用戶也是不能夠自己填寫的。如果有新的用戶必須先在基本信息管理的顧客信息管理里面添加顧客信息。然后可以從下拉列表中選擇用戶信息。相關(guān)代碼如下:publicclassChaxuncextendsActivity{SqlHelpdemodb;inti=0;SQLiteDatabasesDatabase=null;@OverrideprotectedvoidonCreate(BundlesavedInstanceState){//TODOAuto-generatedmethodstubsuper.onCreate(savedInstanceState);setContentView(R.layout.chaxunc1);查詢出庫(kù)finalAlertDialog.Builderbuilder=newAlertDialog.Builder(this);sDatabase=db.getWritableDatabase();listview=(ListView)findViewById(R.id.kehulist);List<Map<String,Object>>slist=newArrayList<Map<String,Object>>();Cursorcursor=sDatabase.rawQuery(selectStr,null);cursor.moveToFirst();intcount=cursor.getCount();id=newString[count];do{try{id[i]=cursor.getString(0);tel[i]=cursor.getString(7);chuanzhen[i]=cursor.getString(8);web[i]=cursor.getString(9);i++;}catch(Exceptione){//TODO:handleexception}}while(cursor.moveToNext());for(inti=0;i<id.length;i++){Map<String,Object>map=newHashMap<String,Object>();slist.add(map);}listview.setAdapter(simple);listview.setOnItemClickListener(newOnItemClickListener(){@OverridepublicvoidonItemClick(AdapterView<?>arg0,Viewarg1,intarg2,longarg3){//TODOAuto-generatedmethodstubfor(inti=0;i<cname.length;i++){if(arg2==i){確認(rèn)消息確定要?jiǎng)h除該出庫(kù)嗎?finalintj=i;確定@OverridepublicvoidonClick(DialogInterfacedialog,intwhich){//TODOAuto-generatedmethodstubIntentintent=newIntent();intent.setClass(Chaxunc.this,Chaxunc.class);startActivity(intent);finish();)});取消?OverridepublicvoidonClick(Dialoginterfacedialog,intwhich){builder,create().show();)});系統(tǒng)設(shè)置系統(tǒng)設(shè)置包括三個(gè)子功能。登錄注冊(cè),修改密碼和退出。登錄注冊(cè):用戶注冊(cè)后可以進(jìn)行登錄,進(jìn)入主界面。修改密碼:用戶登入后可以修改自己的密碼。建議用戶定期更改自己的密碼,以防信息泄露。退出:退出系統(tǒng)。圖3-13用戶管理模塊修改歷石馬原始聲碼:.新的空碼:.確認(rèn)定碼Fj"Tj保存r返回圖3-14修改密碼相關(guān)代碼如下:publicclassXiugaikextendsActivity{privateListViewlistview;Stringid[];SqlHelpdemodb;inti=0;SQLiteDatabasesDatabase=null;?OverrideprotectedvoidonCreate(BundleSavedInstanceState){//TODOAuto-generatedmethodstubsuper.onCreate(savedInstanceState);SetContentView(R.layout,shanchukl);修改客戶finalAlertDialog.Builderbuilder=newAlertDialog.Builder(this);sDatabase=db.getWritableDatabase();listview=(ListView)findViewById(R.id.kehulist);List<Map<String,Object>>slist=newArrayList<Map<String,Object>>();Cursorcursor=sDatabase.rawQuery(selectStr,null);cursor.moveToFirst();intcount=cursor.getCount();id=newString[count];do{try{id[i]=cursor.getString(0);i++;}catch(Exceptione){//TODO:handleexception}}while(cursor.moveToNext());for(inti=0;i<id.length;i++){Map<String,Object>map=newHashMap<String,Object>();slist.add(map);}SimpleAdaptersimple=newSimpleAdapter(this,slist,R.id.t2,R.id.t3,R.id.t4,R.id.t5,R.id.t6,R.id.t7,R.id.t8,R.id.t9,R.id.t10,});listview.setAdapter(simple);listview.setOnItemClickListener(newOnItemClickListener(){@OverridepublicvoidonItemClick(AdapterView<?>arg0,Viewarg1,intarg2,longarg3){//TODOAuto-generatedmethodstubfor(inti=0;i<cname.length;i++){if(arg2==i){確認(rèn)消息確定要修改該客戶嗎?finalintj=i;確定@OverridepublicvoidonClick(DialogInterfacedialog,intwhich){//TODOAuto-generatedmethodstubIntentintent=newIntent();Bundlebundle=newBundle();intent.putExtras(bundle);intent.setClass(Xiugaik.this,Xiugaik1.class);startActivity(intent);finish();}});取消@OverridepublicvoidonClick(DialogInterfacedialog,intwhich){//TODOAuto-generatedmethodstub}});builder.create().show();}}關(guān)于本程序作者以及版本信息。相關(guān)技術(shù)本項(xiàng)目利用SQLite建立數(shù)據(jù)庫(kù)后臺(tái),使用Eclipse開發(fā)工具,利用其提供的各種面向?qū)ο蟮拈_發(fā)工具進(jìn)行開發(fā)。其中利用的主要手段有:1)游標(biāo)cursor:用于在SQLLite數(shù)據(jù)庫(kù)中查找數(shù)據(jù);2)LayoutInflaterLayOUtInflater是用來找res/layout/下的Xml布局文件,并且實(shí)例化;而findViewById()是找Xml布局文件下的具體widget控件(如Button、TextView等)。對(duì)于一個(gè)沒有被載入或者想要?jiǎng)討B(tài)載入的界面,都需要使用LayOUtInflater.inflate()來載入;對(duì)于一個(gè)已經(jīng)載入的界面,就可以使用ActiViyt.findViewById()方法來獲得其中的界面元素。3)分頁(yè)TabHost:TabHost是整個(gè)Tab的容器,包含TabWidget和FrameLayout兩個(gè)部分,TabWidget是每個(gè)Tab的表情,F(xiàn)rameLayout是Tab內(nèi)容。使用OnTabChangeListener接口,重寫OnTabChanged(StringtabId)函數(shù)TabHOst綁定監(jiān)聽器判斷OnTabChanged(StringtabId)中的tabId參數(shù)進(jìn)行處理事件;這里的tabId對(duì)應(yīng)的是實(shí)例中每個(gè)分頁(yè)傳入的分頁(yè)ID,而不是TabSpec.setIndicatior()設(shè)置的標(biāo)題4)List<Map<String,Object>>使用JaVa代碼遍歷以獲取String,Object的值
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度新型建筑防水涂料銷售及施工合同
- 關(guān)于購(gòu)買蔬菜合同范本
- 養(yǎng)殖回收蛋合同范例
- 2025年度高端汽車進(jìn)口貿(mào)易合同范本
- 2025年度文化旅游產(chǎn)業(yè)貸款擔(dān)保合同
- 網(wǎng)絡(luò)供應(yīng)商供貨合同范本
- 2025年度教育培訓(xùn)機(jī)構(gòu)廣告設(shè)計(jì)制作合同
- 信托股東轉(zhuǎn)讓股合同范本
- 中國(guó)足球協(xié)會(huì)勞動(dòng)合同范本
- 休閑快餐服務(wù)合同范本
- 設(shè)備安全操作培訓(xùn)
- 光伏發(fā)電項(xiàng)目屋面作業(yè)安全檢查表
- GB/T 7251.5-2017低壓成套開關(guān)設(shè)備和控制設(shè)備第5部分:公用電網(wǎng)電力配電成套設(shè)備
- 2023年湖南高速鐵路職業(yè)技術(shù)學(xué)院高職單招(數(shù)學(xué))試題庫(kù)含答案解析
- 中考語(yǔ)文非連續(xù)性文本閱讀10篇專項(xiàng)練習(xí)及答案
- GB/T 13088-2006飼料中鉻的測(cè)定
- 經(jīng)顱磁刺激的基礎(chǔ)知識(shí)及臨床應(yīng)用參考教學(xué)課件
- 小學(xué)語(yǔ)文人教四年級(jí)上冊(cè)第四單元群文閱讀“神話故事之人物形象”PPT
- 鄉(xiāng)村振興匯報(bào)課件
- 紅色記憶模板課件
- 麗聲三葉草分級(jí)讀物第四級(jí)A Friend for Little White Rabbit課件
評(píng)論
0/150
提交評(píng)論