关闭
当前搜索:

java.lang.NoClassDefFoundError: Failed resolution of: Lio/bugtags/agent/instrumentation/okhttp3/OkHt

在使用Retrofit2.0的时候碰见这个问题:java.lang.NoClassDefFoundError: Failed resolution of: Lio/bugtags/agent/instrumentation/okhttp3/OkHttp3Instrumentation;找了一半天最后修改了一下Gradle的版本就解决了,要注意Gradle和Gradle插件的版本要对应上 Grad...
阅读(70) 评论(0)

不要在Android的Application对象里存储数据

在一个App里面总有一些数据需要在多个地方用到。这些数据可能是一个 session token,一次费时计算的结果等。通常为了避免activity之间传递对象的开销 ,这些数据一般都会保存到持久化存储里面。有人建议将这些数据保存到 Application 对象里面,这样这些数据对所有应用内的activities可用。这种方法简单,优雅而且……完全扯淡。假设把你的数据都保存到Application对象...
阅读(152) 评论(0)

在onCreate()中获取某个View的宽高(post()方法)

我们都知道,在Activity的onCreate()方法中调用View的 getWidth()和getHeight()方法时,返回的值都是0,因为Activity调用setContentView方法只是创建了这个 View,调用了这个View构造方法而已,其中的onMeasure()方法还没被调用,所以不能知道它的宽高。但是,View有一个公开的方法post(),允许我们通过参数Runnable,在...
阅读(101) 评论(0)

传感器

一、引入:手机内置的传感器是一种微型的物理设备,它能够探测、感受外界的信号,将来自真实世界的数据提供给应用程序,应用程序然后使用传感器数据向用户通知真实世界的情况,或用来控制游戏进度、或实现增强现实等。至于具体如何去利用这些信息就要充分发挥开发者的想象力了。 传感器目前已经成为了智能手机的标配。比较常见的传感器有:方向传感器、磁场传感器、温度传感器、光传感器、压力传感器、加速度传感器、重力传感器、陀...
阅读(201) 评论(0)

图片(Bitmap)二次采样、图片内存计算

一、二次采样在加载大量图片的时候经常会遇到OOM,为了避免OOM我们要对得到的bitmap做相应的处理。原理:不存储图片本身只存储图片的宽高 BitmapFactory.Options提供了另一个成员inJustDecodeBounds。设置inJustDecodeBounds为true后,decodeFile并不分配空间,但可计算出原始图片的长度和宽度,即opts.outwidth和opts.o...
阅读(91) 评论(0)

https://services.gradle.org/distributions/gradle-2.14.1-all.zip

Error:Could not install Gradle distribution from ‘https://services.gradle.org/distributions/gradle-3.3-all.zip’有时候在打开Github上的项目时会出现这个问题,看看怎么解决我们在我们的项目中找到这个文件然后修改画红线的地方,如果不知道怎么修改就看看没有问题的项目写的是多少,就改成多少就没问...
阅读(443) 评论(0)

自定义View----自定义轮播图

先看看效果图吧: 有些时候会在好多的地方用到轮播图,而且每一个轮播图都要写一堆的逻辑,写起来超级麻烦,所以就给它写成一个View拿去用。一个轮播图需要一个ViewPager和一个指示器,所以我们需要写一个View里面有ViewPager和一个放指示器的LinearLayout。核心public class MyViewPager extends LinearLayout { private...
阅读(181) 评论(0)

MVP简单实现

我这里不多说什么是MVP,重点说怎么写MVP; 说明: MVP和MVC的最大区别:MVP中M和V之间没有直接的联系;V和P之间也是通过接口联系的。 先看看他的目录结构:在这里可以看见model、presenter、view三个包。 然后看看里面的详细目录:好了下面开始创建我们的类了: 1、首先看看view层 我们模仿登录,界面很简单,有两个EditText和一个button。view层有两个东...
阅读(127) 评论(0)

Retrofit2、okHttp3、RxAndroid使用

前三篇讲了RxAndroid 、okHttp3 、Retrofit2的使用,接下来就看看这些东西怎么用吧。还记得okHttp和Retrofit中的返回值Call吗,现在我们就是要把它变为RxAndroid中的被观察者Observable,然后建立和观察者之间的关联。前一篇我们转换了Call的T的类型为自己想要的东西,我们引入了Converter转换器,这里我们引入CallAdapter,来转...
阅读(434) 评论(0)

Retrofit 菜鸟必入

一、添加依赖在Module的build.gradle中添加如下依赖: //retrofit compile 'com.squareup.retrofit2:retrofit:2.0.2' //retrofit String的转换器 compile 'com.squareup.retrofit2:converter-scalars:2.1.0' //retrof...
阅读(429) 评论(0)

Okhttp3菜鸟必入

为啥要学Okhttp3呢,因为Retrofit中用到了,而且它本身也是一个网络框架,不与Retrofit一起用还可以单独用,一石二鸟为啥不学呢。这个相对也比较简单。一、添加依赖 //Okhttp3,后面的那个依赖如果不添加,有说链接不上数据库的,所以还是加上吧,我没添加没啥问题,保险起见 compile 'com.squareup.okhttp3:okhttp:3.3.0' c...
阅读(147) 评论(0)

RxAndroid菜鸟必入

为啥要学RxAndroid呢,因为我要用Retrofit,就这么简单粗暴;除了Rx还有OkHtpp3;接下来都会说的。不要着急~给Android开发者的Rx详解建议看看这篇文章,看过之后会就会都明白了 。一、基本概念和添加依赖 Observer(观察者):事件触发的时候有什么样的行为; Observable(被观察者):决定什么时候触发事件,以及触发怎样的事件; subscribe(订阅):建立O...
阅读(216) 评论(0)

RxAndroid菜鸟必入

为啥要学RxAndroid呢,因为我要用Retrofit,就这么简单粗暴;除了Rx还有OkHtpp3;接下来都会说的。不要着急~ 一、基本概念和添加依赖: Observer(观察者):事件触发的时候有什么样的行为; Observable(被观察者):决定什么时候触发事件,以及触发怎样的事件; subscribe(订阅):建立Observer和Observable之间的关联。 这里...
阅读(119) 评论(0)

android Log日志输出

1、打出的log后面要根上这个log的文件源头的连接,我可以直接点击跳转到log的位置2、log中还能提示我当前的线程名,方便调试3、可以打印出map,json这样的对象4、release包中不打印log5、可以控制log是否显示import android.util.Log; import org.json.JSONArray; import org.json.JSONException; imp...
阅读(167) 评论(0)

折叠式答题样式

先看看实现的效果 实现的效果说明: 答题区域始终在底部,每答一道题就向上添加一个折叠的样式;点击折叠的样式可以对该题进行修改,选中答案就折叠起来,如果,没有选答案,而去选择其他的题进行修改,也将刚才的那个折叠起来,也就是说最多可以有两个折叠的样式存在,点击下面新答的题,注意不是修改题,则折叠上面的所有。直接上代码吧,讲解都在注释中public class FoldTestActivity ext...
阅读(132) 评论(0)

展开样式答题写法

先看看实现的效果: 首先看到的第一反应就是一个ListView或者RecyclerView,但是这个里面要求只能按照顺序答题,也就是说,假设3题没有答,第四题是不能点击的。所以这里我用了LinearLayout模拟了一个ListView。1、自定义一个View,继承LinearLayout实现ListView的功能public class SelfTestView extends LinearLa...
阅读(156) 评论(0)

git常用命令--简单易懂哈哈

1、分支合并情景描述:假设现在处于dev分支,而且有未提交的代码,想要合并到master分支上。按照下面的步骤就可以实现了。git status //先查看一下整体的状态,看看哪些文件修改了 git add //提交修改过的文件,提交所有就git add -A ;提交当前文件夹下的git add .;或者一个文件一个文件提交git add 文件名(完整的) git commit -m "此次提交的说...
阅读(148) 评论(0)

Unable to start activity:UnsupportedOperationException: addView(View, LayoutParams) is not supported

在Stack Overflow 上看到的答案...
阅读(191) 评论(0)

多渠道打包--菜鸟教程

1、首先在AndroidManifest.xml文件中添加如下代码:2、在build.gradle中进行相应的配置android{ ……//其他的配置先省略哈 productFlavors {...
阅读(131) 评论(0)

Scroller使用

使用Scroller并不能得到滑动的效果,它只是“存储“了View滚动的数据; 使View滑动还是要借助scrollTo和scrollBy两个方法来实现的。 public class MyScrollerLinearLayout extends LinearLayout { private Scroller scroller; public MyScrollerLinearLayo...
阅读(214) 评论(0)
116条 共6页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:97552次
    • 积分:2039
    • 等级:
    • 排名:千里之外
    • 原创:99篇
    • 转载:17篇
    • 译文:0篇
    • 评论:31条
    文章分类
    最新评论