- 博客(44)
- 收藏
- 关注
原创 ARouter withObject
ARouter withObject 传递自定义对象自定义对象不要实现Serializable或者Parcelable因为如果实现了 withObject 就不能使用JsonServiceImpl序列化了.可以使用 withParcelable使用withObject 一定要新建一个类 实现SerializationService 添加注解@Route(path = "/yourservicegroupname/json")ARouter 就会自...
2020-08-14 15:57:59
1363
原创 Retrofit + RxJava1 主动取消请求订阅
创建继承 Subscriber的订阅者ResultSubscriber<T> extends Subscriber<T>查看Subscriber源码:继续跟踪:SubscriptionList 源码:注释: 取消这个订阅者的所用通知.使用时 只需要把自己的订阅者 对象转成父类也就是 Subscriber对象 后 直接调用unsubscribe()方法.取消这个请求的通知(请求可能已经发出 但是对结果不做处理了)....
2020-07-01 16:59:26
551
原创 Glide 加载图片模糊
在RecycleView中 使用同一个holder 但是要加载的图片宽高不同如果不进行代码设置 会导致 图片模糊Glide 缓存图片时需要获取固定宽高 显示的控件也需要同样的宽高示例:FrameLayout.LayoutParams layoutParams = (FrameLayout.LayoutParams) holder.ivBanner.getLayoutParams();layoutParams.width = width;layoutParams.height = he.
2020-07-01 15:40:46
1378
原创 Android Studio OOM
如图:内存不足解决:如果输入框没有被卡死 请输入尽可能大的数值 三个框 都要输入 例如:Xmx 6556 XX 2048 XX2048 点击Shutdown 然后再次打开输入框被卡死 : 请按最后一行提示 找到文件 studio.vmoptions 打开文件 修改之,例如:-Xms2048m-Xmx6556m-XX:MaxPermSize=2048m-XX:ReservedCodeCacheSize=2048m...
2020-06-30 16:40:59
457
原创 由Toast报错 toast on a thread that has not called Looper.prepare() 查看Looper 和 ThreadLocal源码
Can't toast on a thread that has not called Looper.prepare()
2020-06-01 15:14:30
365
原创 Mac下 Flutter安装配置记录
Flutter 介绍以及环境配置Flutter中文网 科学上网Flutter中文文档获取 Flutter SDK(MacOS下安装和配置)1.下载以下安装包来获取最新的 stable Flutter SDK:FlutterSDK下载 没有科学上网可以使用github下载FlutterSDK下载2.将文件解压到目标路径, 比如:$ cd ~/development$ unzip ~/Downloads/flutter_macos_1.17.1-stable.zip...
2020-05-19 10:21:40
622
原创 Android 引入Flutter项目
使用Android StudioAndroid Studio IDE是自动集成Flutter模块的便捷方法。使用Android Studio,您可以在同一项目中共同编辑Android代码和Flutter代码。您还可以继续使用常规的IntelliJ Flutter插件功能,例如Dart代码完成,热重装和小部件检查器。Android Studio的“添加到应用程序”流程仅在带有IntelliJFlutter插件版本42+的Android Studio 3.6上受支持。Android Studio集成..
2020-05-18 10:42:13
283
原创 AndroidX 迁移记录
历史项目AndroidX迁移记录AndroidX是什么?AndroidX 将原始支持库 API 替换为androidx命名空间中的软件包。简单说就是把 各种android.support.xxxx 替换为androidx.xxxx.xxxx前提条件执行迁移之前保险起见切换到新的git分支1.app的build.gradle文件中targetSdkVersion 至少是28版本android { compileSdkVersion 28 buildToo...
2020-05-14 17:01:00
393
原创 解决:intent.getExtras() 获取bundle 总是为null
问题代码:Intent in = new Intent(JPushInterface.ACTION_NOTIFICATION_OPENED);in.putExtras(bundle);//这里的bundle是有地址的PendingIntent pi = PendingIntent.getBroadcast(context, 0, in, 0);广播发出去之后,在收到广播获取到的bu...
2019-09-05 14:35:16
3339
原创 TabLayout关联ViewPager后不展示标题的原因分析
TabLayoutsetupWithViewPager(Viewpage viewPage)setupWithViewPager(ViewPage viewPage,boolean b);//源码:重点部分加粗private void setupWithViewPager(@Nullable ViewPager viewPager, boolean autoRefresh, bool...
2019-05-13 18:18:43
238
原创 解决:Caused by: android.view.InflateException
一般会用详细的报错信息:Caused by: java.lang.IllegalArgumentException: You need to use a Theme.AppCompat theme (or descendant) with the design library.排查发现:parent="@android:style/Theme.Dialog" :Default t...
2019-05-13 11:20:14
1448
原创 Android 中的 Theme 样式与主题
样式是一套能够应用于视图组件的属性.例如:<style name="tv_style_red"> <item name="android:gravity">center</item> <item name="android:textSize">15sp</item> <item name="andr...
2019-05-06 13:50:35
211
翻译 ConstraintLayout 认识以及使用 google翻译存档
ConstraintLayoutpublic class ConstraintLayoutextendsViewGroupjava.lang.Object ↳ android.view.View ↳ android.view.ViewGroup ↳ android.support.constraint.Co...
2019-03-08 18:16:48
182
原创 使用android studio 编写运行java测试代码
或者在在android 项目中引入测试支持:testImplementation 'junit:junit:4.12'目录下会用test包可以新建一个java类要运行的方法必须使用@Test注解这个方法中调用的其他方法可以不使用注解.一定注意@Test注解的方法必须是public修饰的...
2019-02-21 17:11:12
919
原创 LayerDrawable实现RadioButton的按钮自定义效果
LayerDrawable对应的XML标签是<layer-list>,它表示一种层次化的Drawable集合,通过将不同的Drawable放置在不同的层上面从而达到一种叠加后的效果。实现RadioButton的按钮自定义效果:<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="h...
2019-02-14 16:34:38
179
原创 RecyclerView notifyDataSetChanged 闪烁
这个闪烁很有意思检查代码 调整图片加载逻辑等等....没效果 如果你尝试了许多解决办法还是没有效果的话你需要查看一下自己的item布局中显示图片的控件是怎么写的如果是warp的话 改成固定值 立马见效......
2019-01-28 20:20:55
1235
翻译 BitmapFactory.Options 详解
在API级别1中添加BitmapFactory.Optionspublic static class BitmapFactory.Options extends Object java.lang.Object继承 ↳ android.graphics.BitmapFactory.Options 摘要...
2019-01-23 10:58:49
484
翻译 Configuration 'compile' is obsolete and has been replaced with 'implementation' and 'api'.
添加构建依赖项Android Studio中的Gradle构建系统可以轻松地将外部二进制文件或其他库模块作为依赖项包含在构建中。依赖项可以位于您的计算机上或远程存储库中,并且它们声明的任何传递依赖项也会自动包含在内。此页面描述了如何在Android项目中使用依赖项,包括特定于Gradle的Android插件的行为和配置的详细信息。有关Gradle依赖关系的更深入的概念指南,您还应该看到依...
2019-01-16 18:11:52
968
翻译 Android Studio 快捷键 Mac Windows/Linux
说明 Windows/Linux Mac 常规 全部保存 Control + S Command + S 同步 Control + Alt + Y Command + Option + Y ...
2019-01-10 19:03:58
209
原创 一张图看懂Android ,view的getTop(),getBottom(),getLeft(),getRight....
getTop():获取到的是View自身的顶边到其父布局顶边的距离getLeft():获取到的是View自身的左边到其父布局左边的距离getRight():获取到的是View自身的右边到其父布局左边的距离getBottom():获取到的是View自身的底边到其父布局顶边的距离 ...
2018-12-24 17:05:17
4598
1
原创 HTTP FAILED: java.net.ConnectException: Failed to connect to
一不小心直接把:HTTP FAILED: java.net.ConnectException: Failed to connect to 抛给用户了.当然这是服务器无响应啊.但是这样并不友好.关键是前面做了一系列的处理竟然没有一个拦截到的debug一下发现 是ConnectException.java.netClass ConnectExceptionjava.lang...
2018-12-05 17:37:49
5542
原创 Casting 'mView.findViewById(R.id.xxx)' to 'XxxxView' is redundant
注意到AndroidStudio会提示 findViewById 不需要进行强制类型转换.compileSdkVersion 26+buildToolsVersion "26+"查看findViewById方法./** * Finds the first descendant view with the given ID, the view itself if * the I...
2018-12-05 16:55:39
740
原创 android.widget.Button cannot be cast to android.widget.ImageView
应用运行报错.查看错误详情定位到类中,并没有修改该类下代码.解决方案:如果确定不是代码中的错误,先尝试clean项目.重新编译.如果没有效果,就找到控件修改控件id后,重新打包,然后就修复了.造成原因:控件id重复,如上图Button和ImageView的id一样了,所以找控件是出错了.关于控件id 可以Button btn开头 ...
2018-11-13 15:22:20
3275
原创 记一下滑动顿挫解决
//由于效果不能直接使用 AppBarLayout+CollapsingToolbarLayout//滑动有顿挫感,肯定是scrollTo时出的问题//int值直接除以一个int值 会取整所以这样写://ivHeaderPhoto.scrollTo(0, -verticalOffset/ 10 * 6);//移动的时候就是10个单位一下.就会用顿挫感.//先转为float类型,再转回i...
2018-11-09 17:35:43
550
原创 回顾Listview 获取Listview中指定的item的veiw
需求:取到listview中指定的item的veiw.listview的item是可以复用的直接按位置去取是不可能的.因为只有在屏幕显示的item才有自己的view.这时候可以使用OnScrollListener经过简单的计算取到指定的view.如何取第10个item的view?1,取的指定view必须在屏幕中显示2,取得时候是根据指定view在屏幕中的位置取得(当前屏幕显示的...
2018-11-05 16:07:33
897
原创 解决recyclerview滑动冲突,修复CollapsingToolbarLayout折叠效果
如下图出现了滑动冲突,尺码是一个recyclerview 它可以横向滑动,会把活动时间消费掉.这样CollapsingToolbarLayout就不会响应折叠.大的recyclerview就回出现滑动.解决方案:/** * Enable nested scrolling. * * <p>This is a delegate method. Call it fro...
2018-10-24 20:26:32
4870
原创 Android 设备接入小票打印机 爱宝小票打印机
实现android 设备连接小票打印机打印小票的功能时,发现了一个好用的库:https://github.com/AlexMofer/ProjectX/tree/master/printerandroid设备如何连接打印机https://blog.csdn.net/qq_25452989/article/details/82843071我们要实现的效果:实现时主要就是依靠print...
2018-10-24 19:00:28
2124
2
原创 Android 生成竖直方向的条形码
上篇记了Android使用Zxing生成下方带文本的条形码:https://blog.csdn.net/qq_25452989/article/details/83276726这篇是得到竖向的条形码.如图:有横向的条形码,也有竖直方向的条形码.怎么把条形码竖起来呢?1.旋转装着条形码的view此方法不可行 因为view的宽高和二维码的bitmap的宽高是相反的啊.这样的话即...
2018-10-23 12:01:34
896
原创 Android 生成条形码 生成下方带文本的条形码
可以使用Zxing来获得条形码的bitmap.1.绘制带有文字的条形码由于直接不能绘制出带有文字的条形码.我想到的解决方案是 需要绘制的条形码的高度的 3/4给条形码 1/4给文本.先绘制条形码 得到bitmap 在创建bitmap 在底部绘制文字,合并两个bitmap.2.绘制不带文字的条形码,只需要把绘制文本和bigbitmap去掉就行了.3.使用代码需要先引入Zxing库...
2018-10-22 18:31:39
2749
2
原创 Android Zebra斑马打印机 打印面单不清楚 解决方法
刚开始的效果.字体模糊.分析原因:1.打印机的打印浓度太低 2.文本字体不对3.bitmap的问题 因为这个面单是通过view 获取到bitmap再喂给打印机打印的下载打印机的驱动,设置打印机打印浓度.没有效果. 调整字体类型没有效果.分析一下,字号比较大的字没问题显示正常,字号小的字就模糊,但是我们不能把字体全部调大,只能说bitmap可能有大问题,会不会是bitma...
2018-10-22 16:35:45
5383
1
原创 Android shape gradient 实现渐变蒙版
<gradient>它与<solid>标签是互相排斥的,其中solid表示纯色填充,而gradient则表示渐变效果,gradient有如下几个属性:android:angle——渐变的角度,默认为0,其值必须为45的倍数,0表示从左到右,90表示从下到上,具体的效果需要自行体验,总之角度会影响渐变的方向; android:centerX——渐变的中心点的横...
2018-10-17 17:27:11
4717
1
原创 java String中文字符串分割成数组 中文字符串分割成一定长度的字符串数组
java String中文字符串分割成一定长度的字符串数组/** * 几个字一组 变量控制 大于零有意义 */int num = 6;/** * 待操作的字符串 */String str = "一二三四五六七一二三四五六七一二三四五六七一二三四五六七一二三四五六七一二三四五六七一二三四五六七一二三四五六七";/** * 可以分为几行 */int lines = (str...
2018-10-17 11:46:13
4839
原创 java 8 学习笔记 流 collect map filter flatMap max 和min
1.collect(toList()) 方法由Stream 里的值生成一个列表,是一个及早求值操作。List<String> collected = Stream.of("a", "b", "c") .collect(Collectors.toList());collected.forEach(System.out::println);2.m...
2018-10-08 16:11:36
1262
原创 java Lambda表达式学习笔记 2
Lambda 和 匿名内部类如果你曾使用过匿名内部类,也许遇到过这样的情况:需要引用它所在方法里的变量。这时,需要将变量声明为final 。将变量声明为final ,意味着不能为其重复赋值。同时也意味着在使用final 变量时,实际上是在使用赋给该变量的一个特定的值。final String str = "123";btnClick.setOnClickListener(new Vie...
2018-09-29 15:41:37
405
翻译 java Lambda表达式学习笔记
Lambda表达式的不同形式Runnable noArguments = () -> System.out.println("Hello World");➊ActionListener oneArgument = event -> System.out.println("button clicked");➋Runnable multiStatement = () ->...
2018-09-29 15:15:43
251
原创 Android 设备 连接打印机
android 设备是可以连接打印机的.而且系统版本越高,API越是完善.我的设备是4.x的平板设备.发现打印设备的代码://重要的是获取到UsbManager 这个是发现打印设备的方法UsbDevice usbDevice = null;UsbManager usbManager = (UsbManager) Application.getInstance().getSy...
2018-09-25 18:55:35
5934
原创 String 的split方法
今天程序出错,排查了一下,原来String是"" 的时候split后是有长度的.长度为1.public class Test { public static void main(String[] args) { StringBuilder stringBuilder = new StringBuilder(""); String[] split ...
2018-09-25 18:01:56
433
原创 错误: 找不到或无法加载主类 org.gradle.wrapper.GradleWrapperMain
项目莫名其妙的不能使用 终端 gradlew 命令.输入命令就报错 找不到或无法加载主类 org.gradle.wrapper.GradleWrapperMain 很是郁闷经过一番查找:问题就是出在 gradle-wrapper.jar缺失 (我真的不知道怎么没有的).有问题项目的gradle文件夹正常项目的gradle文件夹去哪找gradle-wrapper...
2018-08-30 15:42:14
23734
原创 Android 设备接入扫码枪
简单理解扫码枪 是一个文本输入设备,相当于一个键盘.扫码枪 有不同的模式 ,可以设置扫描条码之后带出的操作.一般 1.可以直接切换到下一个焦点 (输入框) 2.可以带出回车键 3.还有其他很多操作.这是得力扫码枪的一个文档_http://www.nbdeli.com/images/goods_file0/2017/02/1486561993...
2018-07-17 18:15:14
7439
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人