4 Choi晨

尚未进行身份认证

路漫漫其修远兮,吾将上下而求索。

等级
TA的排名 1w+

OkSocket接收所有数据,可以不固定协议头;

这个是OkSocket的源码地址:https://github.com/xuuhaoo/OkSocket这个框架必须要固定包头,我们在实际的使用中一般都是固定包头的,但是为了方便调试或者没有固定包头的,我们需要修改一下源码;把源码中的这个接收消息类'ReaderImpl'修改一下:public class ReaderImpl extends AbsReader { pri...

2020-02-13 18:10:15

如何把自己的代码开源,将类库部署到JitPack上;

一、使用AndroidStudio把代码开源到Github:输入自己的Github账号和密码,一路下一步就上传了;二、配置Github开源许可证:例:1、创建新文件:2、输入文件名称:LICENSE,点击右边的Choose a license template3、点击Choose a license template后跳转到协议配置界面(选择 Apache Lic...

2019-12-31 16:33:46

AndroidQ FileNotFoundException: open failed: EACCES (Permission denied),权限都允许了还是报错

解决方法:在清单文件AndroidManifest.xml中添加 :android:requestLegacyExternalStorage="true"再说问题:选择手机中的文件(照片)同样的代码,在compileSdkVersion = 27 是没有问题的;但是在compileSdkVersion = 29 AndroidX ,AndroidManifest.xml中的...

2019-12-17 15:45:04

Retrofit返回数据不是Json,返回String或Bytes;MalformedJsonException: Use JsonReader.setLenient(true)异常解决;

使用Retrofit接收的数据一直是Json,这次遇到了一个返回数据不是Json的,Gson解析当场报错:com.google.gson.stream.MalformedJsonException: Use JsonReader.setLenient(true) to accept malformed JSON at line 1 column 17 path $.forumbits[0] ...

2019-12-13 15:18:59

Fragment切换动画和回退栈的使用,和使用动画后导致回退时的崩溃问题;

先说一下出现崩溃的问题:页面是一个有很多下一步的界面,不想点击下一步就打开一个新的Activity,所以就点击下一步时切换Fragment,并使用回退栈处理返回事件;单Activity多Fragment有回退栈,使用replace的方式切换Fragment,非常简单的就完成了;在初步体验一下时发现Fragment切换有点生硬,于是我给Fragment加了切换动画;在使用回退栈返回时问题就来了;...

2019-12-13 12:17:59

Android 高德地图选点,定位;实现地图选点上车功能;

实现的就是一个拖动地图,显示地图中心点的位置信息;大部分打车软件的地图选点上车功能;先上图:实现的功能:1、显示地图,以及当前位置的蓝点;2、获取当前位置信息(定位);3、获取地图中心点坐标,移动地图后获取地图中心点坐标;4、逆地理编码,根据当前经纬度获取附近的地理位置信息;①、显示地图和蓝点,设置一些地图上面的显示信息:if (aMap == null) {...

2019-12-05 11:07:21

Android 地址选择器仿京东;

控件很简单,上方tab是使用LinearLayout动态添加View,下方就是一个RecyclerView;目前的数据就三级(省市区\县),选择完成或点击确定就回调结果(Json字符串);点击上方的tab可以回选;....很简单,主要是代码和思路吧;看一下代码;public class AddressSelectView extends RelativeLayout { ...

2019-11-28 15:16:19

Android 扫描二维码、制作二维码、识别图片中的二维码;简单的Zxing扫一扫功能;

主要功能扫码二维码,使用ZXing实现 ;感觉Zxing这个库扫码的速度和识别率一般,腾讯和阿里这些大佬们的扫码功能也没有开源;额,不说废话了 先看图吧;好了,看一下我们这个库的扫码怎么使用;1、初始化;推荐放在Applocation中;FastZxingApp.init(MainActivity.this.getApplication());2、Android6.0...

2019-11-15 14:17:49

Android 返回键不退出应用,关闭应用不退出;

@Override public void onBackPressed() {// super.onBackPressed(); Intent intent = new Intent(Intent.ACTION_MAIN); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); ...

2019-11-09 15:44:28

Android查看混淆后的报错日志;

查看TalkingData上面的报错日志,但是关键信息都被混淆了;需要查看混淆前的日志;1、打开proguardgui;目录:D:\AndroidStudio\sdk\tools\proguard\bin\proguardgui.batsdk -- tools -- proguard -- bin -- proguardgui.bat2、打开后如上图 ,点击左侧的ReTra...

2019-11-06 17:07:56

Android 自定义WebView点击输入框不弹出软键盘;

假如这个是你的自定义WebView:public class XWebView extends WebView { public XWebView(Context context) { this(context, null); } public XWebView(Context context, AttributeSet attribute...

2019-09-20 17:46:24

Android 使用DialogFragment自定义Dialog、IOS风格;

AndroidX版本、DialogFragment实现;Kotlin代码;IOS风格弹框、自定义弹框、底部选择弹框、加载中弹框;使用方便,一行代码使用弹框,可以高度自定义:https://blog.csdn.net/qq_35605213/article/details/87864905这篇讲了DialogFragment的基本使用方法;本项目Github地址:https...

2019-09-17 14:44:22

Android 登录页 软键盘不遮盖登录按钮;

小小草图不成敬意;GIF图是效果,我确保忘记密码按钮也显示出来;默认情况下,软键盘弹出来时会把登录按钮遮盖住,用户需要点击登录按钮时需要先隐藏软键盘;使用android:windowSoftInputMode="adjustPan"也只是不让软键盘遮盖输入框,需要把登录的按钮不被软键盘遮盖,只需要平移登录的Layout就行了;在软键盘打开时把布局向上移,软键盘关闭时复位...

2019-09-11 16:17:09

Android 多个Module使用ButterKnife出现的NullPointerException

ButterKnife项目地址:https://github.com/JakeWharton/butterknifeAndroidX按照正常的方式集成:android { ... // Butterknife requires Java 8. compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 ...

2019-09-03 16:21:14

Android友盟分享的调不起分享面板,友盟分享的集成;

友盟官网:https://www.umeng.com/友盟分享文档:https://developer.umeng.com/docs/128606/cate/129514友盟分享使用Gradle依赖快速集成;1、在工程build.gradle配置脚本中buildscript和allprojects段中添加【友盟+】sdk maven仓库地址maven { url 'https...

2019-08-16 11:26:14

AndroidX升级;项目升级AndroidX遇到的问题和解决;

先不谈为什么要升级AndroidX了,下面是我这个项目升级AndroidX踩的坑,记录一下(我是按照我的顺序来的):1、升级Gradle版本,修改gradle-wrapper.properties:AndroidX最低支持的gradle版本是4.6,我这边直接5.1.1了;distributionUrl=https\://services.gradle.org/distributi...

2019-08-12 16:35:11

AndroidX对应表、androidX与旧包对照表;

AndroidX和旧版本包对照表:最下面是使用方法:旧包 AndroidX android.arch.core:common androidx.arch.core:core-common:2.0.0-rc01 android.arch.core:core androidx.arch.core:core:2.0.0-rc01 android.arch.core:...

2019-08-12 16:01:16

双RecyclerView联动,仿饿了么选餐列表;

点击左边的列表,右边的定位到指定条目;滑动右边的列表,左边的选中指定条目;现在的饿了么或美团的点餐界面类似这样的;下面来看代码咯,注释还是比较详细的;public class MainActivity extends AppCompatActivity { private LinkBean linkBean; private LAdapter lAdapte...

2019-07-23 10:48:13

Android View的elevation属性,CardView始终在布局顶层覆盖其它控件的解决方式;

elevation属性字面意思是海拔、你可以理解为它是控件的厚度;我们日常使用控件都是只在乎宽高的,这个控件的厚度却很少在意;如果你不太理解,看一下CardView覆盖其它控件的例子;Android的控件CardView提供了一系列的圆角、阴影之类的属性,相当好用;但是当CardView和其它的控件在同一布局中时,始终覆盖其它控件;先来看一下效果:<RelativeLayo...

2019-07-11 19:04:46

Flutter 运行报错License for package Android SDK Build-Tools 28.0.3 not accepted、build:gradle:3.2.1;

刚使用Flutter工程连接到了真机,赶紧跑一遍试试,结果就报错了;1、首先报了一个build:gradle:3.2.1找不到的错误,我把电脑连接手机热点并使用阿里镜像解决了;##阿里镜像maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }maven{ url 'http://maven.aliyun...

2019-06-27 18:03:26

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。