- 浏览: 59540 次
- 性别:
- 来自: 北京
-
文章分类
- 全部博客 (218)
- ★★★ Android ★★★ (37)
- 【 Java 基础】✚ (0)
- ☞Java 基础概述 (0)
- ☞Java 基本语法 (0)
- ☞Java 面向对象编程 (0)
- ☞Java多线程 (0)
- ☞Java 异常处理 (0)
- ☞Java 集合框架 (0)
- ☞Java 泛型 (0)
- ☞Java 枚举和注解 (0)
- ☞Java IO流 (0)
- ☞Java 常用类 (0)
- ☞Java GUI键盘事件 (0)
- ☞Java 网络编程 (0)
- ☞Java 正则表达式 (0)
- ☞Java 反射机制 (0)
- ☞Java 小项目 (0)
- ☞Java 面试/笔试题 (0)
- 【HTML5 开发基础】✚ (0)
- ☞HTML常用标签 (0)
- ☞HTML 新特性 (0)
- ☞CSS/CSS3常用语法 (0)
- ☞JavaScript基础语法 (0)
- ☞HTML5 小项目 (0)
- ☞HTML5 面试/笔试题 (0)
- 【Android 基础阶段】✚ (12)
- ☞Android 快速入门 (1)
- ☞Android 核心组件 (1)
- ☞Android Intent (0)
- ☞Android 用户界面 (5)
- ☞Android 数据存储 (0)
- ☞Android Tomcat服务器 (0)
- ☞Android 网络编程 (2)
- ☞Android 消息机制 (0)
- ☞Android 事件机制 (0)
- ☞Fragment和ViewPager (3)
- ☞Android动画与图形处理 (0)
- ☞Android多媒体应用开发 (1)
- ☞Android 传感器开发等 (0)
- ☞Android GPS应用 (0)
- ☞Android C语言 (0)
- ☞Android JNI/NDK开发 (0)
- ☞Android Git/SVN (0)
- ☞Android 小项目 (0)
- ☞Android 面试/笔试题 (0)
- 【Android 微知识点】✚ (7)
- ☞Android 一些模版代码 (0)
- ☞Android 模块功能代码 (0)
- ☞Android UI控件大全 (2)
- ☞Android 自定义适配器 (1)
- ☞Android 自定义属性 (3)
- ☞Android 自定义动画 (0)
- ☞Android 启动过程 (0)
- ☞Android 性能优化 (0)
- ☞Android 图片三级缓存 (0)
- ☞Android 屏幕适配 (0)
- ☞Android OOM内存溢出 (0)
- ☞Android 权限 (0)
- ☞Android JNI (0)
- 【Android 网络编程】✚ (1)
- ☞Android Json解析 (2)
- ☞Android 网络请求 (2)
- 【Android 解析器】✚ (0)
- ☞Android XML (0)
- ☞Android DOM (0)
- ☞Android dom4j (0)
- ● (0)
- ●● (0)
- ●●● (0)
- ●●●● (0)
- ●●●●● (0)
- ●●●●●● (0)
- ●●●●●●● (0)
- ●●●●●●●● (0)
- ●●●●●●●●● (0)
- ☞☞☞☞☞☞☞☞☞☞ (0)
- ☞☞☞☞☞☞☞☞☞ (0)
- ☞☞☞☞☞☞☞☞ (0)
- ☞☞☞☞☞☞☞ (0)
- ☞☞☞☞☞☞ (0)
- ☞☞☞☞☞ (0)
- ☞☞☞☞ (0)
- ☞☞☞ (0)
- ☞☞ (0)
- ☞ (0)
- 【Android重量级框架】✚ (14)
- ☞框架归类 (1)
- ☞Gson (0)
- ☞xUtils3 (2)
- ☞xListView (0)
- ★ Volley (0)
- ★ AndroidAnnotations (0)
- ★ Glide (0)
- ★ SlidingMenu (0)
- ★ TabLayout (1)
- ★ ViewPagerIndicator (4)
- ★ Pulltorefresh (1)
- ★ PhotoView (1)
- ★ EventBus (0)
- ★ Vitamio5.0 (0)
- ★ Image-Loader (1)
- ★ Android-gif-drawable (0)
- ★ ActionBar (0)
- ★ ActionBarSherlock (0)
- ★ OkHttp (0)
- ★ Afinal (2)
- ★ Ffmpeg (0)
- ★ RxJava (0)
- ★ Picasso (0)
- ★ FastJson (0)
- ★ Toolbar (0)
- ★ GreenDao (0)
- ★ Otto (0)
- ★ ORMLite (0)
- ★ Retrofit (0)
- ★ Fresco (0)
- ★ SnappyDB (0)
- ★ Butterknife (0)
- ★ PagerSlidingTabStrip (0)
- PinterestLikeAdapterView (0)
- ★ NotBoringActionBar (0)
- ★ StickyListHeaders (0)
- ★ NineOldAndroids (0)
- ★ Expandablelistview (0)
- ★ SwipeRefreshLayout (0)
- ★ SwipeMenuListView (0)
- ★ (0)
- ★★ (0)
- ★★★ (0)
- ★★★★ (0)
- ★★★★★ (0)
- ★★★★★★ (0)
- ★★★★★★★ (0)
- ★★★★★★★★ (0)
- ★★★★★★★★★ (0)
- ★★★★★★★★★★ (0)
- ❉❉❉❉❉❉❉❉❉❉ (0)
- ❉❉❉❉❉❉❉❉❉ (0)
- ❉❉❉❉❉❉❉❉ (0)
- ❉❉❉❉❉❉❉ (0)
- ❉❉❉❉❉❉ (0)
- ❉❉❉❉❉ (0)
- ❉❉❉❉ (0)
- ❉❉❉ (0)
- ❉❉ (0)
- ❉ (0)
- 【第三方分享库】✚ (0)
- ○○○○○○○○○○ (0)
- ○○○○○○○○○ (0)
- ○○○○○○○○ (0)
- ○○○○○○○ (0)
- ○○○○○○ (0)
- ○○○○○ (0)
- ○○○○ (0)
- ○○○ (0)
- ○○ (0)
- ○ (1)
- 【Android开源项目】✚ (1)
- ☞综合性项目 (0)
- ☞多媒体项目 (1)
- ☞新闻性项目 (2)
- ☞社交性项目 (0)
- ☞商城性项目 (0)
- ☞Android 支付宝 (0)
- ☞Android 第三方登录 (0)
- ☞Android 语音识别 (0)
- ☞Android消息推送 (1)
- ☞Android 蓝牙 (0)
- ☞Android 传感器 (0)
- ☞Android 动画 (0)
- ☞Android 省市县三级联动 (0)
- ☞短信验证技术 (0)
- ☞二维码扫描技术 (0)
- ☂ (0)
- ☂☂ (0)
- ☂☂☂ (0)
- ☂☂☂☂ (0)
- ☂☂☂☂☂ (0)
- ☂☂☂☂☂☂ (0)
- ☂☂☂☂☂☂☂ (0)
- ☂☂☂☂☂☂☂☂ (0)
- ☂☂☂☂☂☂☂☂☂ (0)
- ☂☂☂☂☂☂☂☂☂☂ (0)
- ♣♣♣♣♣♣♣♣♣♣ (0)
- ♣♣♣♣♣♣♣♣♣ (0)
- ♣♣♣♣♣♣♣♣ (0)
- ♣♣♣♣♣♣♣ (0)
- ♣♣♣♣♣♣ (0)
- ♣♣♣♣♣ (0)
- ♣♣♣♣ (0)
- ♣♣♣ (0)
- ♣♣ (0)
- ♣ (0)
- 【Android源码分析】✚ (4)
- 【Android项目阶段】✚ (1)
- ☞Android主流架构搭建 (0)
- ☞综合性<手机安全卫士> (0)
- ☞多媒体<手机影音> (1)
- ☞新闻性<北京新闻> (0)
- ☞社交性<硅谷社交> (0)
- ☞商城性<硅谷商城> (0)
- ☞内涵段子<百思> (0)
- ☞<地图相关开发接口> (0)
- ☞下载<电子应用市场> (0)
- ☞智能<手机遥控家电> (0)
- ☞游戏<植物大战僵尸> (0)
- ☞企业实战<开源中国> (0)
- ☞Android5.0+6.0新特性 (0)
- ☞高级特效专辑 (0)
- ☞项目管理与实施 (0)
- ☞项目经验:面试/笔试题 (0)
- 【Android 前沿技术】✚ (0)
- ☞图文混排技术 (0)
- ☞百分比布局 (0)
- H5混合开发☞ (0)
- ☞APP增量升级 (0)
- ☞软件崩溃收集 (0)
- ☞前沿技术分享 (0)
- 【Android+H5混合开发】✚ (0)
- ☞React基本语法 (0)
- ☞React Native开发环境搭建 (0)
- ☞React Native开发基础 (0)
- ☞React Native常用组件 (0)
- ☞React Native常用API (0)
- ☞豆瓣搜索项目 (0)
- ☏ (0)
- ☏☏ (0)
- ☏☏☏ (0)
- ☏☏☏☏ (0)
- ☏☏☏☏☏ (0)
- ☏☏☏☏☏☏ (0)
- ☏☏☏☏☏☏☏ (0)
- ☏☏☏☏☏☏☏☏ (0)
- ☏☏☏☏☏☏☏☏☏ (0)
- ☏☏☏☏☏☏☏☏☏☏ (0)
- ☎☎☎☎☎☎☎☎☎☎ (0)
- ☎☎☎☎☎☎☎☎☎ (0)
- ☎☎☎☎☎☎☎☎ (0)
- ☎☎☎☎☎☎☎ (0)
- ☎☎☎☎☎☎ (0)
- ☎☎☎☎☎ (0)
- ☎☎☎ (0)
- ☎☎ (0)
- ☎ (0)
- 【Android+H5项目实战】✚ (0)
- 【程序员软件系列】✚ (4)
- ☞Eclipse (0)
- ☞Android Studio (4)
- ☞Genymotion (0)
- ☞Tomcat服务器 (0)
- ☞MyScal (0)
- ☀ (0)
- ☀☀ (0)
- ☀☀☀ (0)
- ☀☀☀☀ (0)
- ☀☀☀☀☀ (0)
- ☀☀☀☀☀☀ (0)
- ☀☀☀☀☀☀☀ (0)
- ☀☀☀☀☀☀☀☀ (0)
- ☀☀☀☀☀☀☀☀☀ (0)
- ☀☀☀☀☀☀☀☀☀☀ (0)
- ☻☻☻☻☻☻☻☻☻☻ (0)
- ☻☻☻☻☻☻☻☻☻ (0)
- ☻☻☻☻☻☻☻☻ (0)
- ☻☻☻☻☻☻☻ (0)
- ☻☻☻☻☻☻ (0)
- ☻☻☻☻☻ (0)
- ☻☻☻☻ (0)
- ☻☻☻ (0)
- ☻☻ (0)
- ☻ (0)
- ♬♬♬ 技术网站 ♬♬♬ (2)
- ◙ (0)
- ◙◙ (0)
- ◙◙◙ (0)
- ◙◙◙◙ (0)
- ◙◙◙◙◙ (0)
- ◘◘◘◘◘ (0)
- ◘◘◘◘ (0)
- ◘◘◘ (0)
- ◘◘ (0)
- ◘ (0)
- 【Android 其他技术】✚ (0)
- ☞Android反编译 (0)
- ☞抓包 (0)
- ☞多渠道打包及软件上线 (0)
- 【github项目/博客系列】✚ (1)
- ☞注册github步骤 (0)
- ☞github项目 (0)
- ☞优秀博客系列 (1)
- 【开发经验分享】✚ (2)
- ☞Android 知识体系 (1)
- ☞项目经验分享 (0)
- ☞面试与就业指导 (1)
- ☞Android面试技术汇总 (2)
- ♬♬♬ 词汇 ♬♬♬ (0)
- 【Android基础单词】✚ (0)
- 【javaSE单词】✚ (0)
- 【个人博客资料】✚ (0)
- 博客链接 (1)
- 快速开发 (1)
- JavaEE面试题 (1)
最新评论
Android okHttp上传单张或多张照片
1.利用LruCache、DiskLruCache实现图片的加载,避免OOM
2.引用开源库https://github.com/pengjianbo/GalleryFinal,实现从相册中选择图片、拍照进而进行上传,图片上传可以
private static finalMediaTypeMEDIA_TYPE_PNG= MediaType.parse("image/png");
private final OkHttpClient client = new OkHttpClient();
private void uploadImg() { // mImgUrls为存放图片的url集合 MultipartBody.Builder builder = new MultipartBody.Builder().setType(MultipartBody.FORM); for (int i = 0; i <mImgUrls.size() ; i++) { File f=new File(mImgUrls.get(i)); if (f!=null) { builder.addFormDataPart("img", f.getName(), RequestBody.create(MEDIA_TYPE_PNG, f)); } }//添加其它信息 // builder.addFormDataPart("time",takePicTime); // builder.addFormDataPart("mapX", SharedInfoUtils.getLongitude()); // builder.addFormDataPart("mapY",SharedInfoUtils.getLatitude()); // builder.addFormDataPart("name",SharedInfoUtils.getUserName()); MultipartBody requestBody = builder.build(); //构建请求 Request request = new Request.Builder() .url(Constant.BASE_URL)//地址 .post(requestBody)//添加请求体 .build(); client.newCall(request).enqueue(new Callback() { @Override public void onFailure(Call call, IOException e) { System.out.println("上传失败:e.getLocalizedMessage() = " + e.getLocalizedMessage()); } @Override public void onResponse(Call call, Response response) throws IOException { System.out.println("上传照片成功:response = " + response.body().string()); ToastCustom.makeText(PictureListActivity.this, "上传成功", Toast.LENGTH_LONG).show(); } }); }
相关推荐
本篇文章将深入探讨如何利用Volley、XUtils和OkHttp这三种流行的网络库来实现单张或多张图片的上传。下面我们将逐一介绍每种方法的关键步骤和注意事项。 ### Volley 图片上传 Volley是Google推出的网络请求库,以...
在Android开发中,图片上传是一项常见的任务,...总的来说,使用OKHttp上传图片涉及对网络请求的理解、RequestBody的构造以及与服务器端的交互。理解这些知识点能帮助开发者在Android项目中有效地实现图片上传功能。
在Android应用开发中,将多张图片上传到服务器是一项常见的任务,特别是在社交、电商或分享类应用中。本文将详细讲解如何实现这一功能,并重点讨论图片压缩上传的策略,以减少网络传输的数据量,提高用户体验。 一...
在Android应用开发中,图片上传是一项常见的功能,尤其是在社交、媒体分享或云存储类的应用中。为了实现这一功能,开发者通常需要设计一个高效且可靠的图片上传队列Service。本篇文章将详细探讨如何创建一个名为...
"stuido项目,单张图片头像拍照、相册选择上传"是一个针对这个需求的具体实现,旨在为用户提供简便的方式,从相机或者相册选取照片,并进行适当的编辑,如放大、缩小和移动裁剪,最终上传作为个人头像。 首先,我们...
本篇将重点讲解如何利用Volley库来实现图片的上传功能,包括单张图片和多张图片的上传。 首先,我们需要了解Volley中的`RequestQueue`是处理所有网络请求的核心组件。创建一个`RequestQueue`实例后,我们可以向其...
然后,我们可以在`RecyclerView`中显示这些图片,用户可以选择单个或多个图片。多选可以通过设置一个`CheckBox`在每个列表项中实现,同时配合` SparseBooleanArray`来跟踪已选中的项。 "选择图片上传"涉及到了图片...
`@Multipart`注解用于表明请求体是一个多部分的,通常用于上传文件或图片。而`@Part`注解则用于标记每一个单独的请求部分。例如,每一张图片或文件都需要一个单独的`@Part`注解来指定其内容。 除了`@Part`,...
在Android应用开发中,"仿微信图片上传,多张图片选择"是一个常见的需求,尤其是在社交应用中。这个功能涉及到用户界面的设计、图片选取机制、图片处理以及上传逻辑等多个环节。以下将详细介绍这些知识点: 1. **多...
在Android开发中,实现“仿微信选择多张图片并上传”的功能是一项常见的需求。这个功能涉及到用户从手机图库中选取图片,预览所选图片,以及上传这些图片到服务器。下面将详细介绍这一过程涉及的关键知识点。 1. ...
这类库通常提供一个用户友好的界面,让用户能够从相册中挑选多张图片。例如,`IICE Cream Multiple Images Selector` 是一个流行的选择器,它允许用户通过一个简洁的界面批量选择图片,并且支持预览和裁剪功能。集成...
要实现一次选择多张图片,通常我们需要自定义一个图片选择器或者使用第三方库,如`Glyde`, `Picasso`, 或 `Android-Image-Multi-Choose`等。这些库提供了选择多张图片并显示预览的功能,同时可以设置选择数量限制,...
- **图片预览模块**:使用`ViewPager`展示多张图片,`ImageView`显示单张图片,可能结合`GestureDetector`处理滑动事件。 - **图片裁剪模块**:可能使用`Matrix`进行图像变换,结合`CropView`实现自定义裁剪框。 - *...
这个功能涉及到用户能够从手机相册中选择多张图片,甚至可以通过相机拍摄新图片并立即上传。实现这一功能需要理解Android的多媒体文件访问、图片处理、相机API以及网络上传等技术。 首先,我们要关注的是如何实现...
1. **图片选择器**:微信的图片上传功能允许用户从手机相册中选择多张图片。在Android中,我们可以使用`Intent`来启动系统相册,让用户挑选图片。`Intent.ACTION_PICK`可以打开图库应用,返回选定图片的URI。同时,...
从描述来看,这个项目的核心功能是提供全方位的图库选择支持,不仅限于选择单张图片,还支持多图选择,并且包含了拍照功能以及多文件上传的能力。这些都是移动应用中常见的用户交互需求,特别是对于社交、分享或者...
标题"FlickrRecent"是一款基于Android平台的应用程序,其主要功能是从知名的图片分享网站Flickr的API获取并展示最新的100张照片。这款应用利用了网络编程和图像处理技术,为用户提供了便捷的方式去浏览Flickr上的...
对于上传图片的需求,AsyncHttpClient提供了一套完整的解决方案,无论是单张还是多张图片,都能轻松应对。通常,开发者需要先将图片转换为字节数组或Base64编码,然后作为请求体的一部分发送到服务器。 在使用...
- 用户可能可以上传宠物照片,项目可能使用**Intent**选择图片或者集成**ImagePicker**库。 8. **用户反馈和评分**: - 可能有集成Google Play服务,实现用户对宠物的评价和反馈功能。 9. **UI动画**: - 使用...
6. **用户界面(UI)设计**:应用的UI可能遵循Material Design指南,使用Android提供的布局和控件,如CardView展示每张图片,SearchView处理搜索请求。 7. **异步编程与生命周期管理**:由于网络请求是耗时操作,应...