知識(shí)
不管是網(wǎng)站,軟件還是小程序,都要直接或間接能為您產(chǎn)生價(jià)值,我們?cè)谧非笃湟曈X表現(xiàn)的同時(shí),更側(cè)重于功能的便捷,營(yíng)銷的便利,運(yùn)營(yíng)的高效,讓網(wǎng)站成為營(yíng)銷工具,讓軟件能切實(shí)提升企業(yè)內(nèi)部管理水平和效率。優(yōu)秀的程序?yàn)楹笃谏?jí)提供便捷的支持!
android開發(fā)
發(fā)表時(shí)間:2020-10-19
發(fā)布人:葵宇科技
瀏覽次數(shù):60
PS:因?yàn)槟承┰蜷_端進(jìn)行android開辟進(jìn)修,對(duì)于javaee便利就接觸比較少了,之前還有學(xué)過三大年夜框架然則都還沒記錄,等什么時(shí)刻閑點(diǎn)再記吧,趁便還能復(fù)習(xí)下。這篇文┞仿主如果要記錄怎么將數(shù)據(jù)經(jīng)由過程post提交發(fā)送給辦事端,以及接收辦事端發(fā)送過來的數(shù)據(jù)。。。
可貴:若何將通俗數(shù)據(jù)以及文件數(shù)據(jù)發(fā)送出去
解決辦法:
1.應(yīng)用HttpPost 封裝數(shù)據(jù)內(nèi)容
2.應(yīng)用MultipartEntity封裝數(shù)據(jù),再放入post請(qǐng)求中
3.應(yīng)用HttpClient將post發(fā)送出去
代碼:(此處只是演示代碼,須要添加一些結(jié)實(shí)性的語(yǔ)句)
1.須要導(dǎo)入MultipartEntity相干的對(duì)象包[img]http://img.blog.csdn.net/20150106110249085?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMTc3MTY3NA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center
2.android客戶端代碼:
發(fā)送數(shù)據(jù):(應(yīng)用該辦法同時(shí)可以實(shí)現(xiàn)傳輸圖片或其他文件以及通俗字符串?dāng)?shù)據(jù))
File dbFile = this.getDatabasePath("note.db");//1.獲取數(shù)據(jù)庫(kù)文件 HttpPost post = new HttpPost(SERVER_UP_URL);//2.指定post連接的url HttpClient client = new DefaultHttpClient();//3.創(chuàng)建發(fā)送請(qǐng)求的client對(duì)象 HttpResponse response;//4.用于獲取響應(yīng)對(duì)象 MultipartEntity entity = new MultipartEntity();//5.創(chuàng)建一個(gè)封裝數(shù)據(jù)的實(shí)體(該代碼默認(rèn)將請(qǐng)求的類型定義為multipart/form-data) //該類型許可發(fā)送文件數(shù)據(jù) try { FileBody body = new FileBody(dbFile);//將一個(gè)文件封裝,便于將數(shù)據(jù)存入實(shí)體 entity.addPart("file", body); //6.為數(shù)據(jù)實(shí)體填充數(shù)據(jù),經(jīng)由過程類似鍵值對(duì)的方法填充 entity.addPart("name", new StringBody("halm")); //第一個(gè)參數(shù)為鍵(辦事器request獲取的參數(shù)名),第二個(gè)參數(shù)為值內(nèi)容 //通俗字符串,文件用不合的類進(jìn)行封裝 post.setEntity(entity);//7.為post請(qǐng)求封裝數(shù)據(jù)實(shí)體以及提交類型 response = client.execute(post);//8.發(fā)送post請(qǐng)求 int status = response.getStatusLine().getStatusCode();//9.獲取辦事峨鍰螃狀況率攀來斷定是否交互成功 if(status != 200){ Toast.makeText(ListViewActivity.this, "連接掉敗", Toast.LENGTH_SHORT).show(); return; } Toast.makeText(ListViewActivity.this, "連接成功", Toast.LENGTH_SHORT).show(); } catch (Exception e) { e.printStackTrace(); } }
吸法術(shù)據(jù):
需求:1.將手機(jī)的數(shù)據(jù)庫(kù)文件發(fā)送到辦事端,辦事端保存 2.將辦事端保存的數(shù)據(jù)發(fā)送回?fù)魴C(jī)棘手機(jī)將該文件覆蓋已有的數(shù)據(jù)庫(kù)文件File dbFile = this.getDatabasePath("note.db");//1.先獲取本地?cái)?shù)據(jù)庫(kù)文件 if(dbFile.exists()){ dbFile.delete();//2.斷定是否存在,如不雅存在則刪除(便于覆蓋) } try { dbFile.createNewFile();//3.到此處都不存在該文件,所以就須要?jiǎng)?chuàng)建該數(shù)據(jù)庫(kù)文件 OutputStream out = new FileOutputStream(dbFile);//4.設(shè)置一個(gè)寫的流,用于將數(shù)據(jù)寫到文件內(nèi) URL url = new URL(SERVER_DOWN_URL);//5.應(yīng)用URL連接網(wǎng)站 URLConnection conn = url.openConnection();//6.拿到該URL的連接 InputStream in = conn.getInputStream();//7.經(jīng)由過程連接獲取攫取流,用于獲取接收到的數(shù)據(jù) byte buff[] = new byte[1024]; int len; while((len=in.read(buff))>0){ out.write(buff, 0, len);//8.將接收到的數(shù)據(jù)寫到數(shù)據(jù)庫(kù)文件中 } in.close(); out.close(); } catch (IOException e) { e.printStackTrace(); }
3.辦事端代碼
吸法術(shù)據(jù)并保存try { //斷定提交的方法 if(!ServletFileUpload.isMultipartContent(request)){ System.out.println("缺點(diǎn)提交"); return; } //以下是文件上傳的代碼 DiskFileItemFactory factory = new DiskFileItemFactory(); factory.setRepository(new File(request.getSession().getServletContext().getRealPath("/WEB-INF/temp"))); ServletFileUpload upload = new ServletFileUpload(factory); upload.setHeaderEncoding("UTF-8"); upload.setFileSizeMax(1024*1024*500); List<FileItem> files = upload.parseRequest(request); for (FileItem fileItem : files) { if(fileItem.isFormField()){ String name = fileItem.getFieldName(); String value = http://www.sjsjw.com/100/000071MYM010492/fileItem.getString("UTF-8"); System.out.println(name + ":" + value); continue; } String filename = fileItem.getName(); System.out.println("filename+"+ filename); InputStream in = fileItem.getInputStream(); OutputStream out = new FileOutputStream(new File("c://"+filename)); byte buff[] = new byte[1024]; int len; while((len=in.read(buff)) > 0){ out.write(buff, 0, len); } in.close(); out.close(); } } catch (FileUploadException e) { e.printStackTrace(); }
發(fā)送數(shù)據(jù)
//將數(shù)據(jù)寫出 File file = new File("c://note.db"); if(file.exists()){ return; } InputStream in = new FileInputStream(file); byte buff[] = new byte[1024]; int len; while((len=in.read(buff))>0){ response.getOutputStream().write(buff, 0, len); } in.close(); System.out.println("發(fā)送了");
相關(guān)案例查看更多
相關(guān)閱讀
- 昆明做網(wǎng)站建設(shè)的公司排名
- 汽車報(bào)廢回收管理系統(tǒng)
- 昆明做網(wǎng)站
- 云南小程序開發(fā)費(fèi)用
- 保險(xiǎn)網(wǎng)站建設(shè)公司
- web開發(fā)
- 云南衛(wèi)視小程序
- 網(wǎng)站建設(shè)專家
- 云南微信小程序開發(fā)
- 云南網(wǎng)站建設(shè)公司哪家好
- 開發(fā)制作小程序
- 小程序被騙退款成功
- 云南小程序商城
- 報(bào)廢車管理系統(tǒng)
- 云南網(wǎng)站建設(shè)哪家好
- 汽車報(bào)廢拆解管理系統(tǒng)
- 云南網(wǎng)站建設(shè)專家
- 云南網(wǎng)站建設(shè)方法
- 快排推廣
- 云南網(wǎng)站建設(shè)列表網(wǎng)
- 小程序開發(fā)
- 楚雄網(wǎng)站建設(shè)公司
- 云南網(wǎng)站建設(shè)
- 云南小程序被騙蔣軍
- 云南旅游網(wǎng)站建設(shè)
- 云南小程序開發(fā)課程
- 云南網(wǎng)站建設(shè)案例
- 小程序公司
- 小程序技術(shù)
- 網(wǎng)站建設(shè)快速優(yōu)化