




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
"ListView進(jìn)度條框finalProgressDialogdialog=newProgressDialog(this); //創(chuàng)建進(jìn)度框 //用戶取消 //取消Android布局管理relativeLayout相對布局,組件互相之間是相對的關(guān)系;" :TableLayoutFrameLayout 表示當(dāng)前部件相對于portraitTV的右邊 位于nameTV的底部 fromTV組件保持在同一水平線,表示fromTV底部對其 gridLayoutSwinggridLayout,android4.0以上才可使用此布局管JUnit測consoleAndroidjunitAndroidTestCasetest開頭,不需要在方法上加入@Test注解,如:publicclassServiceTestextendsAndroidTestCaseprivateServiceservice=newpublicvoidtest1(){System.out.println(service.service1(10,2));}publicvoidtest2()Assert.assertEquals(2,service.service1(10,}}在AndroidManifest.xml文件中添加配 android:name="android.test.InstrumentationTestRunner"/>user-libraryapplication日志信System.outSystem.errLogCat中,System.out輸出信息是Info級別,System.errWarn級別程序中我們可以使用Log文件操寫入文件到SD需要在文件中權(quán)android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>2.1SDCard2.2Environment.getExternalStorageDirectory()SDCard位置,兼容所SDCardEnvironment.getExternalStorageState()SDCard當(dāng)前狀態(tài)常量Environment.MEDIA_MOUNTED為已安裝SDK4.2之后SD卡也需寫入文件,name為文件名,mode4Context 模式可以組合使用,例如:MODE_WORLD_READABLEMODE_WORLD_WRITEABLE 文件(注意讀寫時的權(quán)限問題Context.openFileInput(Stringname)可以獲取一個文件輸入流該輸入流可以/data/data/包名/files/路徑下的文件使用字符流取出使用以下方法生成XMLXML//獲取sd卡位置,并在此位置創(chuàng)建文Filefile=newFile(Environment.getExternalStorageDirectory(), //寫sd卡需要配置寫入權(quán)publicvoidsave(List< >list)throwsException{OutputStreamos=newFileOutputStream(file);XmlSerializers=Xml.newSerializer();s.setOutput(os"utf- //設(shè)置輸出流 ("UTF-8" //寫xml頭s.startTag(null, //寫for p:list)s.startTag(null, // s.attribute(null"id" //寫id屬s.startTag(null,"name"); //寫name //寫 s.endTag(null //結(jié)束names.startTag(null,"age");s.endTag(null,"age");s.endTag(null, }s.endTag(null, //結(jié) //結(jié)束文}使用Pull解析器解析XML文Xml.newPullParser()parser.setInput(in,"UTF-8")parser.next()獲取下一個解析,得到一個代START_、END_、START_TAG、END_TAG、//解析publicList< >load s()throwsException{ >list=newArrayList< p=XmlPullParserparser XML工具類創(chuàng)建XmlPullParser對象InputStreamisnew //創(chuàng)建輸入流,指向sd卡上的文件.讀, //為解析器設(shè)置輸xml輸入流,類
inteventType while(eventType //循環(huán)遍歷整StringnodeName=switch(eventType)case //遇上開始標(biāo)if("".equals(nodeName)){p=new();Stringid //獲取ID屬}elseif("name".equals(nodeName))Stringname //獲取節(jié)點(diǎn)的
}elseif("age".equals(nodeName)){Stringage=parser.nextText();}}eventType //指針下}return}Javaproperties1.獲取SharedPreferences 下創(chuàng)建一個以name命名的mode為文件權(quán)限模式的xml文件; 調(diào)用SharedPreferences對象的edit()方法可以獲取一個Editor對象可對數(shù)據(jù)進(jìn)行,commit()保存到文件; ActivityActivity名一致;//存入配置文SharedPreferencesso;Editoredit=edit.putString("name",username);edit.putString("password",password);edit.putBoolean("isKeep",isKeep); //提交修改(類似事務(wù)),提交才能寫入到文:so為SharedPreferencesStringusername=so.getString("name","");Stringpassword=so.getString("password","");booleanisKeep=so.getBoolean("isKeep",false);數(shù)據(jù)庫特點(diǎn): 自帶SQL語句和MySQL定義類繼承構(gòu)造函數(shù),4如果數(shù)據(jù)庫存在,版本號提升,先執(zhí)行onUpgrade()方法,再獲取數(shù)據(jù)庫對象; publicclassMyHelperextendsOpenHelper構(gòu)造函@param 環(huán)境,用來確定數(shù)據(jù)庫所在@param @paramfactory null表示使用默認(rèn)的@paramversion int,數(shù)據(jù)庫版本,從1開始,修改數(shù)據(jù)庫時,可改變這個值,一旦改變,就自動執(zhí)行onUpgrade方法publicMyHelper(Contextcontext,Stringname,CursorFactoryfactory,intversion)super(context,name,null,}//創(chuàng)建數(shù)據(jù)庫,創(chuàng)建庫的時候,自動執(zhí)行,可以寫入創(chuàng)建表publicvoidonCreate(Databasedb){db.execSQL("CREATETABLE (idINTEGERPRIMARYKEYAUTOINCREMENT,nameVARCHAR(20))");}publicvoidonUpgrade(Databasedb,intoldVersion,intnewVersion){ db.execSQL("ALTERTABLE ADDCOLUMNbalanceINTEGER");db.execSQL("INSERTINTO (name,balance)VALUES(?,?)",newObject[]{"",}}publicvoidtestCreateDB()MyHelperhelper=newMyHelper(this.getContext(),"itheima.db",null,3);}CRUD和JDBC數(shù)據(jù)庫不同,操作數(shù)據(jù)庫無需加載驅(qū)動,不用獲取連接,直接可 //DML //DQLCursor對象,JDBCResultSet;publicvoid p)Databasedb 據(jù)db.execSQL("INSERTINTO(name,balance)VALUES(?,?)",new{p.getName(),p.getBalance()});}publicvoid p)Databasedb 據(jù) SETname=?,balance=?WHEREid=?",new{p.getName(),p.getBalance(),p.getId()});}publicvoidremove(intid)Databasedb 據(jù)db.execSQL("DELETEFROM WHEREid=?",newObject[]{id});} query(intid){p=null;Databasedb 據(jù)Cursorcursor=db.rawQuery("SELECTname,balance WHEREnewString[]{id+""if(cursor.moveToNext //是否有記錄p=new}return}這些方法封裝了部分SQL語句,通過參數(shù)進(jìn)行拼接,通常在內(nèi)容提供者新增操@param@return新增記錄的主鍵publicint p)Databasedb=dbHelper.getWritableDatabase();ContentValuesvalues=newContentValues(); //包含要插入的數(shù)據(jù)values.put("name",p.getName());values.put("balance",Longid=db.insert("","id",values); //第二個參數(shù):任意一個列名,用來在插return}更@param@return更新的記錄publicint p)Databasedb=dbHelper.getWritableDatabase();ContentValuesvalues=newContentValues();values.put("name",p.getName());values.put("balance",intcount=db.update(" ",values,"id=?",newString[]{p.getId().toString()});return}publicintremove(intid)Databasedb=intcount=db.delete(" ","id=?",newString[]{id+""});return} query(intid){p=null;Databasedb=Cursorcursor=db.query("",newString[]{"name","balance"},"id=?",String[]{id+""},null,null,null);if(cursor.moveToNext()){p=new}returnp;}在使用數(shù)據(jù)庫時可以用Database類中定義的相關(guān)方法控制事beginTransaction()setTransactionSuccessful()endTransaction()JDBCConnection,沒有事務(wù)回滾;轉(zhuǎn)賬測@param 出@paramto@parammoney轉(zhuǎn)多少publicvoidtrafer(intfrom,intto,intmoney)Databasedb=try
//開啟事 SETbalance=balance-?WHEREid=?",new{money,from SETbalance=balance+?WHEREid=?",new{money,to System.out.println(10/0); //標(biāo)記事務(wù)成功}finally //事務(wù)提交(最后一個標(biāo)記之前的都提交)}}, 要求的路徑是linux下的路徑不能直接去assets的數(shù)據(jù)庫需要將assets下的數(shù)據(jù)庫copy到的某一 下copy@paramprivatevoidcopyDBToSystem(finalStringdbName)//判斷文件是否已經(jīng)copyFilefile=newFile(this.getFilesDir(),if(file.exi
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 印刷服務(wù)合同
- 手破碎機(jī)設(shè)備買賣合同
- 聘用出納合同增加多場景
- 生產(chǎn)車間承包合同協(xié)議
- 機(jī)械工程勞務(wù)分包合同
- 河北化工醫(yī)藥職業(yè)技術(shù)學(xué)院《中學(xué)生物課堂教學(xué)技能訓(xùn)練》2023-2024學(xué)年第二學(xué)期期末試卷
- 廣州華立科技職業(yè)學(xué)院《數(shù)據(jù)挖掘與決策管理》2023-2024學(xué)年第二學(xué)期期末試卷
- 寧波衛(wèi)生職業(yè)技術(shù)學(xué)院《界面化學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 宜春學(xué)院《需求工程》2023-2024學(xué)年第二學(xué)期期末試卷
- 宿州職業(yè)技術(shù)學(xué)院《水質(zhì)工程學(xué)實(shí)驗(yàn)》2023-2024學(xué)年第二學(xué)期期末試卷
- 家校共育之道
- 公司EHS知識競賽題庫附答案
- 社區(qū)健康促進(jìn)工作計劃
- 《作文中間技巧》課件
- 2025年度移動端SEO服務(wù)及用戶體驗(yàn)優(yōu)化合同
- 中小學(xué)《清明節(jié)活動方案》班會課件
- 廣東省2025年中考物理仿真模擬卷(深圳)附答案
- 新蘇教版一年級下冊數(shù)學(xué)第1單元第3課時《8、7加幾》作業(yè)
- 特殊教育學(xué)校2024-2025學(xué)年度第二學(xué)期教學(xué)工作計劃
- 寧夏銀川一中2025屆高三上學(xué)期第五次月考數(shù)學(xué)試卷(含答案)
- 2024年物聯(lián)網(wǎng)安裝調(diào)試員(初級工)職業(yè)資格鑒定考試題庫(含答案)
評論
0/150
提交評論