
Android
花花爱笑
这个作者很懒,什么都没留下…
展开
-
2021-06-30
Android上传多文件记录由于项目需要上传文件,但是之前的逐个文件的上传不符合设计要求,所以想到多文件同时上传。这样一次性可以批量上传多个文件。直接上代码通过Okhttp将file转成requestBody然后通过MultiparBody.Builder这个类将file增加到builder中去注意这个addFormDataPart:这个files是后台给的key(不用加[],虽然这个字段表示的是数组)最后builder.build()生成M...原创 2021-06-30 20:26:41 · 185 阅读 · 0 评论 -
推荐一个非常好用的上拉加载下拉刷新的框架SmartRreshLayout
SmartRefreshLayout 很好用的加载框架 github 地址:https://github.com/scwang90/SmartRefreshLayout 功能非常全面,可以自定义加载页面,也可以是使用他给你做的几个非常炫酷的加载布局 可以设置自动下拉加载,也可以设置不自动加载。 最重要的是:他同时也可以兼容CoordinatorLayout布局哦,也就是说你也可以设置他的b...原创 2018-06-27 17:39:41 · 704 阅读 · 0 评论 -
打包时错误Error:trouble processing "javax/xml/namespace/QName.class"
打包时遇到的一个奇怪的错误 是core-library导致的问题,大概内容如下Error:trouble processing “javax/xml/namespace/QName.class”: Error:Ill-advised or mistaken usage of a core class (java.* or javax.*) Error:when not building ...转载 2018-07-20 17:46:05 · 805 阅读 · 0 评论 -
Android 二维数组相关操作
最新项目中有个地方需要使用到二维数组来进行数据操作,然后android本身并没有提供相关接口方法来做二维数组操作,只能自己来整,记录一下,以防以后用到。 1、删除二维数组的某行: /** * 删除目标行的位置 * @param raw */ private void deleteRawArray(int raw) { List[]...原创 2018-07-29 21:59:02 · 6438 阅读 · 0 评论 -
RecycleView 局部刷新
最近由于功能需要,我需要在界面上通过RecycleView来展示Gif图片的列表,展示其实很简单,只要通过RecycleView来设置布局管理器,然后设置适配器就ok了.但是麻烦的是在于他是需要在用户点击的时候,在item被选中的时候有一个选中框,当然这也不难做,但是你要在选中的时候去显示选中框,就需要调用adapter的notifyDataChanged(),但是这个刷新是当前显示的所有item...原创 2018-08-03 08:26:18 · 1704 阅读 · 0 评论 -
SparseArray ArrayMap HashMap 区别
111原创 2018-08-28 21:55:54 · 1310 阅读 · 0 评论 -
PopupWindow Dialog AlertView区别
写一个原创 2018-08-28 22:29:26 · 295 阅读 · 0 评论 -
Android 输入键盘弹出隐藏监听
父布局 注册监听parent.getViewTreeObserver().addOnGlobalLayoutListener(this);//parent指父布局控件变量重写监听方法@Overridepublic void onGlobalLayout() {//判断窗口可见区域大小Rect r = new Rect();getWindow().getDecorView().getW...原创 2018-09-27 16:28:27 · 1230 阅读 · 0 评论 -
Android6.0权限申请
最近由于项目功能迭代,本身图省事不想要在代码中动态的申请权限,所以在build.gradle中的minsdk写成了19 ,而targetSdkVersion 也是19,这样就避免了在6.0系统上动态申请权限,本来一切都是ok的,但是在小米8上的8.1系统版本中出现了问题,代码中获取不到权限,这块具体为什么也没有去仔细研究,估计是小米系统做了验证什么的.Android动态申请权限其实这部分稍微看...原创 2018-09-28 22:14:44 · 481 阅读 · 0 评论 -
android Gson解析JSON数据中动态未知字段key的方法
有时在解析json数据中的字段key是动态可变的时候,由于Gson是使用静态注解的方式来设置实体对象的,因此我们很难直接对返回的类型来判断。但Gson在解析过程中如果不知道解析的字段,就会将所有变量存储在一个Map中,我们只要实例化这个map就能动态地取出key和value了。先给出一段jsondata,这是天气预报的数据,其中day_20151002这种key是随日期而变化的,在实体类中就不能当...转载 2018-12-20 11:39:58 · 1479 阅读 · 0 评论 -
android studio仓库访问极慢解决办法
收集了一些。方便copy使用。repositories {mavenCentral()maven { url “https://jitpack.io” }maven { url “http://maven.aliyun.com/nexus/content/groups/public/” }maven { url ‘http://maven.oschina.net/content/grou...转载 2019-06-01 10:36:04 · 3838 阅读 · 0 评论 -
Android studio 编译.so文件生成
之前有接触过jni相关的一些东西,今天趁着时间,自己做了一下编译jni的环境搭建。没想到遇到各种问题,下面将问题给拿出来做个记录,以后好避免这些问题。1、首先我是通过编写.mk文件去编译.so文件的,而不是现在的Cmake去编译.so。2、我由于之前一直有在网上看jni如果编译.so ,发现有的网友朋友说 .so可以直接通过gradle可以编译出来,我不知道他们是怎么弄的,我反正没有成功。最后还是...原创 2018-06-27 15:36:08 · 501 阅读 · 1 评论 -
(转)Android 7种CPU架构 介绍
转载请注明出处:http://blog.youkuaiyun.com/kester_/article/details/71055901 NDK 开发时会涉及到 CPU 架构的适配,不同的机器上可能会有不同的 CPU 架构,也就是说,翻译到机器上使用的规则不一样,Android 上有7种 CPU 架构。 1.armeabi 2.armeabi-v7a 3.arm64-v8a 4.x86 5...转载 2018-06-29 17:22:17 · 2304 阅读 · 0 评论 -
打开Activity自动显示手机输入法
最近项目需求需要在打开某一activity的时候就显示手机输入法,尝试使用网上所说的在配置文件中添加android:windowSoftInputMode="stateVisible|adjustResize";并没有效果,可能是目前手机版本太高的原因。最后在动态代码中设置:new Handler().postDelayed(new Runnable() { @Override p...原创 2018-06-22 17:44:24 · 359 阅读 · 0 评论 -
性能优化
目前位置写的这个项目,由于数据太多,加上在写项目之前也没有考虑那么完善,导致项目性能有些卡顿,所以这几天一直在考虑关于性能优化的问题。网上百度了很多关于性能优化的方案,自己摘摘减减主要对自己的项目改进了两点。1、关于算法:之前我对于数据的存取主要使用的是遍历,并且还嵌套了forfor循环,我最初以为算法是主要原因,所以我将对数据又重新进行了处理,通过HashMap的key、value来存储原创 2017-09-04 20:05:47 · 203 阅读 · 0 评论 -
xml转义
XML转义字符 以下为XML标志符的数字和字符串转义符 " (" 或 ") ' (' 或 ') & (& 或 &) lt(gt(>) (> 或 >)如果不行的话,再在转依符前再加上 \,就可以了。原创 2017-08-28 09:50:10 · 3492 阅读 · 0 评论 -
Android 通过Socket套接字使用TCP协议下载服务端文件
这几天都在做关于使用Socket然后使用Tcp协议去像服务端请求下载文件。总结一下:由于之前没有接触过这种使用socket来像服务端请求文件导致走了不少弯路。基于Tcp协议的Socket,我本来纠结的点是在于socket.getInputStream();这个得到的流是发送端一次性全部发过来的还是分块发过来的。后来知道其实是发送端一次性就发送过来,但是在网络传输过程中其实可能数据太大所以被原创 2018-01-13 00:30:00 · 1034 阅读 · 0 评论 -
Android使用MediaPlayer只播放视频不播放音频的方法
今天写项目时,突然遇到一个麻烦的问题,就是使用mediaplayer播放MP4文件时,只需要播放他的视频画面就好了,而不用去播放他的声音,需求很怪,尝试了mediaplayer的各种方法也没有解决,后来想了一个取巧的方法。通过设置mediaplayer.setAudioStreamType(AudioManager.STREAM_ALERM),使用闹钟的音量来播放视频,然后我们可以通过调节闹钟原创 2018-01-30 22:19:23 · 4628 阅读 · 0 评论 -
Integer.parseInt()最大数限制
今天试图将一个string字符串转换为int型的时候出现了格式转换错误,后来发现Integer.parseInt是有最大数限制的,最大值是1999999999,超过这个数值就不能再转换了。...原创 2018-03-26 13:44:29 · 18390 阅读 · 2 评论 -
关于fragment切换后,viewpager自动隐藏的问题解决
在ScrollView外面的父布局添加3个属性android:focusable="true"android:focusableInTouchMode="true"android:descendantFocusability="beforeDescendants"就可以解决问题。原创 2018-04-03 16:20:06 · 433 阅读 · 0 评论 -
PopupWindow创建
PopupWindow:最近项目需要使用popupWindow创建底部弹出的菜单栏,之前并没有去了解popupwindow的相关内容,然后绕了一个大弯。其中需要注意的就是popupwindow 显示的几个方法,他们的第一个参数的含义是你要将popupwindow显示在哪个layout的布局中去。剩下的就都差不多了,下面贴部分代码:PopupWindow popupWindow = new Popu...原创 2018-04-16 13:35:36 · 436 阅读 · 0 评论 -
关于ScrollView嵌套RecycleView数据显示不全
昨天通过ScrollView嵌套了recycleView导致从后台获取的数据在界面上没有显示全面,后来无意中在recycleView的外面包了一层relativelayout布局,后面数据就显示完全了。亲测有效!...原创 2018-03-28 20:22:05 · 273 阅读 · 0 评论 -
Android架构
原文链接:https://medium.com/@laanayabdrzak/architecting-modern-mobile-applications-bf896120f0c2#.n1m5i520c在完成了一些项目之后,我根据个人经验,总结了一下如何正确地设计一个Android应用架构。首先要分享的就是Bob大叔的一篇文章好的架构有如下特点:独立于UI独立于任何框架独立于任何第三方服务独立于...转载 2018-04-04 13:51:12 · 165 阅读 · 0 评论 -
Retrofit2.0 请求数据 一直出返回网络错误,错误代码 414
今天 使用rettorfit 去请求数据一直不成功,请求逻辑上以及请求参数上都没有问题,后台也验证过是通的(我用xutils3请求也是成功的,后来意识到xutils3是将参数放在请求体里面),但是就是一直不能请求成功,后来终于发现还是参数的问题。由于使用的是retrofit POST 请求,查询字段用的是@QueryMap ,而这个查询时是直接拼接在url的后面,但是url的请求接口是有长度限制的...原创 2018-04-17 13:46:27 · 1557 阅读 · 0 评论 -
动态代码中设置控件相对位置
PercentRelativeLayout.LayoutParams layoutParams = new PercentRelativeLayout.LayoutParams((int) (0.74*width_screen),(int)(0.80*height_screen));layoutParams.addRule(PercentRelativeLayout.BELOW,R.id.tex原创 2017-09-04 19:37:31 · 1965 阅读 · 0 评论