ImageVerifierCode 换一换
格式:DOCX , 页数:24 ,大小:28.43KB ,
资源ID:5073086      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5073086.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(关于BSLC的工作总结android+webservice.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

关于BSLC的工作总结android+webservice.docx

1、关于BSLC的工作总结android+webservice写在前面:这篇是我暑假以及开学之后的一段时间里,在开发BSLC(同城物物交换系统)的工作总结。因为我也是个android的初学者,所以遇到的很多问题估计也是android初学者可能会遇到的问题。当然,如果你是个android高手,那么此文估计对你的帮助不大。另外,有很多朋友和老师问我,你做的这个东西亮点在哪里呢?凭什么得奖呢?我想说,谁不想做出有新意的东东呢?可是对于从零开始的我们,仅仅靠着模仿前人的东西,就已经是要了老命了。哈哈。好吧,说这话确实有点不上进。给准备或者刚开始学习android的朋友的一点小建议:有可能的话,跟这有实际开

2、发经验(这个经验不只是指android开发的能力经验,还有正规开发软件的规范和过程的经验)的前辈,会让你更快更好更轻松的前进!(当然这里的轻松也是相对而言的轻松,学习之事,即使有兴趣做动力,也多半是痛苦之事,所以,强大的心理是必要的,要学会苦中作乐,认真负责,团队合作,不耻下问)好了,话不多说,下面是我整理出来的技术总结:有对内容的疑问或者质疑,欢迎大家与我交流。企鹅号:947840486Android与webservice开发技术总结(eclipse & visual studio 2008)虽然开始得有点晚,但总也好过一直不开始。从今天起,开始整理自己在androidwebservice开

3、发过程中遇到的各种问题,以及解决的过程。真心觉得有必要做个每日总结,为了纪念也好,为了以后用到的时候方便查看也好(估计希望不大),总之,专业的程序员都会写技术总结。这几天一直在整图片上传下载的问题。从最初的不知所措,到现在的略有了解,个人理解的原理是,通过把图片转换成base64编码,存放在字节流中,通过对字节流的读取、存放,来实现最终对图片的操作。难点是,如何在android下和C#的webservice中分别实现,以及数据的交互。最初找了很多资料来看,开始选择的是ksoap2 + base64 遇到的细节问题:图片路径:/sdcard/#.png android app 只能读取模拟器上的

4、文件(图片),而且不能在系统文件里读取图片(root权限问题),所以,最后还是把测试的图片放到了/sdcard下。最初想先用.net 发布web服务的调试功能,手动传图片。可是后来在学长的提醒下,明白其实不是直接传路径,(而且转换后的字节流),所以,基本上没法手动调试。Ksoap2 不支持传递byte类型的参数,后来试着传base64编码后的string类型,在web服务端再解码,但是不知道哪里出错,还是产生异常。唉,难道要换别的方法?已解决,问题还是出在了服务端。是文件最后的存储路径不对,不能写绝对路径(估计是我的格式不对),改成(/XXX/)相对路径就OK了!只是这是一个简单的demo,只

5、能上传单个的固定的文件。不过,可以比较容易改进,难点是最终我们的项目要求是一次返回多组图片数据,有待完善。8月17日图片上传整合到BSLC中:进展比较缓慢。第一个对调用系统相册的解决过程。查了很多资料,最后还是找到一个比较详细的,通过Intent.createChooser,可以选择调用多个Activity。难点是,需要在这多个被调用的Activity在AndroidManifest注册的时候加上intent -filter ,貌似这里是用来区分那些是属于Intent.ACTION_GET_CONTENT 类型里的。这样的话,也就不再是调用系统默认的INTENT了吧。 = 0) baos.wr

6、ite(buffer, 0, count); String uploadBuffer = new String(Base64.encode(baos.toByteArray(); Log.i(uploadbuffer, uploadbuffer: + uploadBuffer); / byte image =baos.toByteArray(); boolean flag = connectWebService(uploadBuffer, fileName); if (flag) return true; else return false; catch (Exception e) e.pri

7、ntStackTrace(); return false; public static String getFilePathFromUri(Context context, Uri uri, String projection, String selection, String selectionArgs, String sortOrder) Cursor cursor = context.getContentResolver().query(uri, projection, selection, selectionArgs, sortOrder); int index = cursor.ge

8、tColumnIndexOrThrow(MediaStore.Images.Media.DATA); cursor.moveToFirst(); String path = cursor.getString(index); cursor.close(); cursor = null; return path; private boolean connectWebService(String image,String fileName) throws IOException, XmlPullParserException String Url = http:/211.87.147.81:8082

9、/Service.asmx; String namespace = http:/tempuri.org/; String methodname = UploadImage; String SOAP_ACTION = http:/211.87.147.81:8082/Service.asmx?op=UploadImage; SoapObject rpc = new SoapObject(namespace, methodname); rpc.addProperty(id, Session.id); rpc.addProperty(image, image); rpc.addProperty(fi

10、leName, fileName); Log.i(send: , image + + fileName); HttpTransportSE ht = new HttpTransportSE(Url); ht.debug = false; SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); envelope.bodyOut = rpc; System.out.println(post: + rpc); envelope.dotNet = true; envelope.set

11、OutputSoapObject(rpc); ht.call(SOAP_ACTION, envelope); Object result = (Object) envelope.getResponse(); System.out.println(result: + result); if (result.toString().equals(true) return true; else return false; /这是出现从本地选择图片的Activitypackage com.photos;import java.io.FileNotFoundException;import com.set

12、ting01.Add01;import com.flogin.Session;import android.app.Activity;import android.content.Intent;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import .Uri;import android.os.Bundle;import android.util.Log;import android.view.View;public class doSelectImageFromLoacal extends Act

13、ivity /*用来标识请求照相功能的activity*/ private static final int CAMERA_WITH_DATA = 1001; /*用来标识请求gallery的activity*/ private static final int PHOTO_PICKED_WITH_DATA = 1002; private Bitmap bitMap; /用来保存图片 private boolean hasImage; /是否已经选择了图片 public static Uri selectedImageUri=null; public void onCreate(Bundle

14、savedInstanceState) super.onCreate(savedInstanceState); Intent localIntent = new Intent(); localIntent.setType(image/*); localIntent.setAction(android.intent.action.GET_CONTENT); startActivityForResult(localIntent, PHOTO_PICKED_WITH_DATA); protected void onActivityResult(int requestCode, int resultC

15、ode, Intent data) Log.i(doSelectImageFromLoacal:,doSelectImageFromLoacal:start!); if (resultCode != RESULT_OK) return; switch (requestCode) case PHOTO_PICKED_WITH_DATA: /从本地选择图片 if (bitMap != null & !bitMap.isRecycled() bitMap.recycle(); selectedImageUri = data.getData(); Session.doSelectImageContex

16、t=this; Session.imageUri=selectedImageUri;/把对应图片的在数据库中的Uri读取给Session Log.i(log.i,selectedImageUri: +selectedImageUri.toString(); if(selectedImageUri != null) try bitMap = BitmapFactory.decodeStream(getContentResolver().openInputStream(selectedImageUri); catch (FileNotFoundException e) e.printStackTr

17、ace(); /下面这两句是对图片按照一定的比例缩放,这样就可以完美地显示出来。有关图片的处理将重新写文章来介绍。 /int scale = ImageThumbnail.reckonThumbnail(bitMap.getWidth(), bitMap.getHeight(), 500, 600); /bitMap = ImageThumbnail.PicZoom(bitMap, (int) (bitMap.getWidth() / scale), (int) (bitMap.getHeight() / scale); Add01.imageView.setImageBitmap(bitMap); Add01.imageView.setVisibility(View.VISIBLE); doSelectImageFromLoacal.this.finish();/结束当前Activity hasImage = true; break; case CAMERA_WITH_DATA: /拍照 Bundle bundle = data.getExtras(); bitMap

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1