android
文章平均质量分 86
hello world 搬运工
这个作者很懒,什么都没留下…
展开
-
StackOverflowError:android.view.View.jumpDrawablesToCurrentState
ViewPager的时候,出现了这个问题,经过搜索发现,是由于在inflate布局文件的时候出的问题,在fragment加载布局时,inflater.inflate(R.layout.fragment,container,false);第三个参数需要加上,具体什么原因待查找原创 2017-02-15 16:45:47 · 1001 阅读 · 0 评论 -
TextView 文字滚动(跑马灯效果)
TextView 文字横向滚动设置:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="mat原创 2018-05-21 13:28:00 · 1310 阅读 · 0 评论 -
Android集成微信支付
申请资质什么的一大堆东西请自行解决,点击去微信开放平台申请应用包名:是在APP项目配置文件AndroidManifest.xml中声明的package值应用签名:根据项目的应用包名和编译使用的keystore,可由签名工具生成一个32位的md5串,在调试的手机上安装签名工具后,运行可生成应用签名。点击下载签名工具最终我们得到的AppID,AppSecret,PartnerID。下面是app工程接入...原创 2018-05-15 21:03:50 · 364 阅读 · 0 评论 -
The option 'android.enableAapt2' is deprecated and should not be used anymore.
AndroidStudio升级到3.1时候遇到了这个问题,提示Use 'android.enableAapt2=true' to remove this warning.然而gradle.properties=true/false都没解决。最后仔细看以下错误信息,String types not allowed(at '@android:attr/windowEnterAnimation' xxx...原创 2018-05-23 08:52:57 · 19162 阅读 · 0 评论 -
Error:Execution failed for task ':app:preDebugAndroidTestBuild'.
Error:Execution failed for task ':app:preDebugAndroidTestBuild'.> Conflict with dependency 'com.android.support:support-annotations' in project ':app'. Resolved versions for app (26.1.0) and test ...原创 2018-05-24 12:11:11 · 390 阅读 · 0 评论 -
AndroidStudio 中gradle统一管理配置
AndroidStudio 中gradle统一配置当我们进行模块化开发的时候,为了方便管理各个模块中的依赖,比如v4,v7等的版本,可以在project中统一配置,然后再各个module中进行引用就行了。 首先在project的gradle中定义gradle ext{ supportLibrary=&amp;quot;27.1.1&amp;quot; dependencies=[ ...原创 2018-08-26 17:10:37 · 1075 阅读 · 0 评论 -
AndroidStudio 上传library到Bintray
记一次在AndroidStudio上传library到Bintray的过程。https://bintray.com/注册好了账号, Add New Repository,添加一个package。 首先在项目的build.gradle 中引入插件 dependencies { classpath 'com.android.tools.build:gradle:3.0.1...原创 2018-09-07 18:39:32 · 435 阅读 · 0 评论 -
侧滑返回实践
类似于ios右滑可以关闭当前页面。要实现这种类似的效果,其实有多种方法,使用开源库SwipeBackLayout ,或者监听手势,或者使用v4包提供的SlidingPaneLayout。使用SlidingPaneLayout是个人认为效果最好,也是最简单的。使用SlidingPaneLayout实现右滑效果的时候,可以这样做,左侧的panel是一个透明的view,右侧content是正常显示的A...原创 2019-06-11 11:06:12 · 376 阅读 · 0 评论 -
解决No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android
具体问题最新版本的ndk中移除了mips64el-linux-android,解决方法:推荐按照 提示,升级Gradle plugin 版本 ,例如当前使用Gradle plugin 版本buildscript { repositories { jcenter() } dependencies { classpath 'com.andr...原创 2019-08-07 17:49:47 · 144 阅读 · 0 评论 -
HelloFlutter
使用一个新的框架,都是从helloworld开始。show me the code!由此开始我们和flutter正式见面。接下来是一个简单的示例。import 'package:flutter/material.dart';void main()=> runApp(MyApp());class MyApp extends StatelessWidget{ @override W...原创 2019-08-10 12:22:48 · 282 阅读 · 0 评论 -
OkHttp之OkHttpClient.Builder
okhttp3.OkHttpClient.Builderpublic static final class OkHttpClient.BuilderOkHttpClient.Builder是用来帮助创建OkHttpClient的;通过它我们可以方便的对OkHttpClient进行设置;下面是OkHttpClient.Builder设置OkHttpClient的常用方法:设置连接的连接超时的时间,默...原创 2018-05-12 17:48:07 · 18047 阅读 · 0 评论 -
transformClassesWithJarMergingForRelease
这个问题是由于jar冲突引起,解决可以参考解决Gradle中jar冲突我的错误显示Error:Execution failed for task ':app:transformClassesWithJarMergingForRelease'.> com.android.build.api.transform.TransformException: java.util.zip.ZipExce...原创 2018-04-27 14:28:34 · 347 阅读 · 0 评论 -
Android开发中软键盘的常见问题
软键盘显示的原理 软件盘的本质是什么?软键盘其实是一个Dialog。 InputMethodService为我们的输入法创建了一个Dialog,并且将该Dialog的Window的某些参数(如Gravity)进行了设置,使之能够在底部或者全屏显示。当我们点击输入框时,系统对活动主窗口进行调整,从而为输入法腾出相应的空间,然后将该Dialog显示在底部,或者全屏转载 2017-02-04 10:38:13 · 613 阅读 · 0 评论 -
recyclerView item 宽度不能撑满
View.inflate(mContext, R.layout.item_layout, null); 在这种情况下会出现宽度match不起效;需要使用LayoutInflater.from(mContext).inflate(R.layout.item_layout, parent, false);原创 2017-04-05 19:14:54 · 2494 阅读 · 0 评论 -
HashMap源码
package java.util;import java.io.IOException;import java.io.InvalidObjectException;import java.io.ObjectInputStream;import java.io.ObjectOutputStream;import java.io.ObjectStreamField;import jav原创 2017-11-13 10:31:44 · 240 阅读 · 0 评论 -
通过clipPath裁剪实现圆角ImageView
目前实现圆角图片的方法有很多种,有自定义ImageView的(裁剪bitmap,裁剪canvas),也有借助图片加载框架的(glide,picaso),本文介绍的是通过裁剪canvas,即通过canvas.clipPath实现的。直接上代码 源码地址public class RoundImageView extends ImageView { private Path mPath; ...原创 2018-04-04 15:41:53 · 5195 阅读 · 0 评论 -
Fragment通信
Fragment 通信的方法有多种:static静态变量:通过读写静态变量的值来达到传值,但是静态变量过多容易造成内存溢出Broadcast Receiver广播:广播主要是实现不同组件间的通信接口实现:Fragment 定义callBack接口,Activity实现callBack接口,这样Fragment调用callBack方法时,Activity就可以收到回调EventBus:能够简化各组件...原创 2018-04-25 10:08:34 · 258 阅读 · 0 评论 -
OkHttp详解
HTTP是现代应用的网络方式。我们用其交换数据和媒体。高效地执行HTTP使您的数据加载速度更快并节省带宽。OKHTTP无疑是一个有效的HTTP客户端:支持HTTP/2,允许同一个主机的请求(request)共享一个socket如果HTTP/2不可用,连接池也可以减少请求延迟使用GZIP缩小下载数据的大小响应缓存避免重复的网络请求当网络出现问题时,OKHTTP会从常见的连接问题中自动恢复。如果您的服...原创 2018-05-10 13:28:43 · 953 阅读 · 0 评论 -
Java代理模式之静态代理
代理(Proxy)是一种设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能.直接访问会给使用者带来很多麻烦,我们可以在访问此对象时加上一个对此对象的访问层。静态代理静态代理在使用时,需要定义接口或者父类,被代理对象与代理对象一起实现相同的接口或者是继承相同父类.调用的时候通过调用代理对象的方法来...原创 2018-04-26 11:58:20 · 244 阅读 · 0 评论 -
OkHttp之OkHttpClient
okhttp3.OkHttpClientpublic class OkHttpClient implements Cloneable, Call.Factory, WebSocket.FactoryCall.Factory 用来发送请求和接收响应OkHttpClient 使用单例模式能够发挥更好的效果。每一个client 拥有各自的连接池和线程池...原创 2018-05-11 15:44:18 · 8283 阅读 · 1 评论 -
解决Gradle中jar冲突
如果有两个依赖引用了相同jar包的不同版本时,默认情况下gradle会采用最新版本的jar包,此时可以通过排除选项来排除。首先,看一下依赖一个库时的格式,name也就是module compile group:'com.android.support',name:'appcompat-v7',version:'26.1.0'1.直接在configuration中排除 configuratio...原创 2018-04-27 10:51:22 · 12603 阅读 · 1 评论 -
java.lang.UnsatisfiedLinkError: dlopen failed: library "libsqlite.so" not found
一般某些聊天的SDK都依赖于libsqlite.so(我遇到的是融云),不过由于这个包从来没有变化,使用的是系统默认提供的(/system/lib/)。在Android 6.x及以下的平台可以运行。Android7.x执行更严格的安全检查,禁止使用系统目录的内容。所以如果希望在7.x以上版本,需要把系统目录的libsqlite.so拷贝出来,也放在自己app对应指令目录下。解决方案:apk中...原创 2019-09-16 14:18:25 · 2139 阅读 · 0 评论