GitHub:https://github.com/JessYanCoding/MVPArms

起先是想自己封装Retrofit+Rxjava+mvp这种架构,在网上参考了很多文章,结果就看到了关于mvparms的介绍https://www.jianshu.com/p/4bbecd0bb027

作者把mvparms介绍的非常niu,当然这样的项目能够封装的十分灵活也确实很厉害了,项目好用归好用,但是入门以及熟悉还是需要一定的基础跟门槛的,于是也就踩了很多坑……目前关于踩坑,还是踩的比较少的,所以,能记录多少就记录多少吧,后面再不断补充吧……

关于是否使用这个项目看个人需求吧。

1、关于构建项目

mvparms的官方说明文档写了很多,看起来感觉挺麻烦的,还有一个问题就是毕竟是网络框架以后如果有不适合自己项目的操作可能是需要你自己修改的因此比较推荐的方法是:将github项目下载,下载之后修改项目名跟包名

https://www.cnblogs.com/fuyaozhishang/p/6388407.html

ps:需要注意的是除了修改包名跟项目名还需要修改你的manifest的 package+包名还有build.gradle中的applicationId,修改完成build你会发现Dagger……的类找不到,此时rebuild 或者make project

2、模板的使用

https://github.com/JessYanCoding/MVPArmsTemplate

路径问题:C:\Program Files\Android\Android Studio\plugins\android\lib\templates\activities下

同时需要将解压的下面两个文件复制进去,art我也不太清楚是干嘛的,我没复制

3、多BaseUrl

方式一:什么都不需要修改只需要在你的请求上直接加上全路径即可

http://192.168.32.17/php-uploader/upload.php

方式二:

https://www.jianshu.com/p/2919bdb8d09a 作者虽然有写,但是在使用过程中可能还会存在坑

在你的model中需要替换Baseurl的地方添加

RetrofitUrlManager.getInstance().putDomain(Api.DOMAIN_UPLOADPIC, Api.APP_UPLOADPIC);

在Serviceapi中的Header上进行添加

这里会出现的坑是什么呢?

我上传图片请求的完整路径是:

http://192.168.32.17/php-uploader/upload.php

在不使用多baseurl的情况下,将http://192.168.32.17/php-uploader/作为baseurl将upload.php作为子路径上传正常。

在使用baseurl的情况下,同样的路径配置,网路请求的路径竟然变成了

http://192.168.32.17/upload.php

调试之后发现DefaultUrlParser类返回的url在设置host的时候只返回了192.168.32.17所以也就导致了后面拼接的问题,这样的话考虑解决方式只能通过将http://192.168.32.17/作为Baseurl路径将php-uploader/upload.php作为Post中的子路径,并且这样的路径分割也确实将图片上传成功了。

android ble mvp,Android mvparms 踩坑相关推荐

  1. 转:android.support升级到androidx踩坑记录

    原文链接:android.support升级到androidx踩坑记录 - 简书 年前想着Google老大之前提醒过将项目升级到androidx,所以年前一通操作猛如虎把Android Studio唰 ...

  2. android ble notify,Android Ble notify功能踩坑

    最近在研究Ble蓝牙相关的开发,在和蓝牙通信的时候,主动读取消息是ok的,但是就是无法收到蓝牙主动发送出来的消息,而且IOS是可以接收到消息的.这个就比较尴尬了. 通过查阅文档和网上他人的博客找到开启 ...

  3. React-Native android在windows下的踩坑记

    坑很多,跳之前做好准备.没有VPN的同学请浏览完本文后慎行. 你需要先安装最新版本的node.js(我最后使用的是v4.1.2),前往官网下载>> 注:我win7已经安装过Visual S ...

  4. Android Studio打包~安卓打包踩坑及总结

    一..Android Studio,打开自己的项目中的android,点击确定 二.点击OK后自动执行右上角大象标志.同步项目与Gradle文件. 三.点击最下面一排的build,可以实时看到进度和报 ...

  5. Android SDK 开发——发布使用踩坑之路

    前言 在 Android 开发过程中,有些功能是通用的,或者是多个业务方都需要使用的. 为了统一功能逻辑及避免重复开发,因此将该功能开发成一个 SDK 是相当有必要的. 背景 刚好最近自己遇到了类似需 ...

  6. android file域,Android FileProvider详细解析和踩坑指南

    其实很早之前我的应用就已经兼容到Android7.0了,此次写这个文章就是想详细梳理一下android的文件系统,以及做一下FileProvider的解析. Android7.0 (N) 开始,将严格 ...

  7. android开发mvp,Android开发模式之MVP

    一. 什么是MVP MVP 是从经典的模式MVC演变而来,它们的基本思想有相通的地方:Controller/Presenter负责逻辑的处理,Model提供数据,View负责显示. 二.MVP与MVC ...

  8. android ble peripheral,Android - BlueTooth BLE 之 Central 与 Peripheral 理解

    一.前言 Andorid 5.0 之前是无法进行 外围设备开发的,在Android 5.0 API 21 android.bluetooth.le包下,新增加 Scaner相关类和 Advertise ...

  9. android ble 传输数据,Android BLE 连接及数据传输详解

    本文将展开对蓝牙低功耗从扫描蓝牙设备,建立连接到蓝牙数据通信的详细介绍,以及详细介绍GATT Profile(Generic Attribute Profile,通用属性协议)的组成结构. 权限和fe ...

最新文章

  1. 2021年度脑机接口重大事件和进展汇总
  2. 互联网研发中负载均衡算法一点探索
  3. vue改变页面顶部浏览器标题栏图标
  4. angularjs php 实例下载,AngularJS Eclipse 1.2.0 插件下载
  5. VS中PCL库附加依赖项配置
  6. 【BZOJ2151】种树,贪心+Splay乱搞
  7. HTML:颜色列表(自用)
  8. Matlab:数组索引
  9. MongoDB分片存储集群支撑海量数据
  10. CSS3 filter滤镜详解
  11. 蓝桥杯 连续区间数(抖机灵做法)
  12. CSR8670 — 说说蓝牙音频常用的编解码格式
  13. 《iPad开发从入门到精通》——6.5节地图信息
  14. node.js map 的用法
  15. IT行业吸引人的十大原因:高薪的诱惑+成就感
  16. 国际数据保护日,数据安全谁来守护?
  17. 在Docker中安装Home Assistant系统(以群晖系统为例)【Home Assistant入门安装篇1-2】
  18. python操作网页界面_python3 操作页面上各种元素的方法
  19. linux的自动挂载
  20. 日语五十音图的记忆方法

热门文章

  1. 停止你的周报焦虑!一键生成报表模板的神器来了
  2. PHP队列服务打不开,执行队列服务问题
  3. GB/T 21605化学品急性吸入毒性试验方法
  4. 【韩顺平】Java线程(基础)知识点总结
  5. 信号处理--冲激和冲激串的傅里叶变换
  6. (更新时间)2021年5月18日 ASP.NET Core 笔试题
  7. 解决python数据加载中[Errno 24] Too many open files.问题
  8. 如何在mac下查看JDK文档(附jdk1.8中文文档下载地址)
  9. SSH框架搭建整合详细步骤及运行流程
  10. matlab 工具箱 GATBX 的安装,安装Sheffield Matlab遗传算法工具箱的建议