- 博客(50)
- 资源 (2)
- 收藏
- 关注
原创 Rxjava出错的地方(开发错误集锦)
1.重试出错重试应该是App中最常用的功能了,我常用的的操作符是retry,代码如下: .retry { _ -> if (retryTime == 0) { ++retryTime true
2018-02-02 13:22:20 284
原创 AS问题记录
1.find usage不管用查找某个资源在项目中的引用找不到: File -> Invalidate Caches/ Restart2.统一配置编译版本之前写过方法,但觉得下面这个方法更好一点: 首先在gradle.properties中定义版本:COMPILE_SDK_VERSION=26BUILD_TOOlS_VER=26.0.0之后在build.gr...
2017-09-20 13:45:21 693
原创 Android最基础知识(持续更新)
摘录了网上一些开发者的小知识,作为开发者必须要知道:防止布局被弹起的键盘挤掉安卓开发当中经常会碰到打开键盘时,通常会把布局文件挤上去,这样的应用估计100%=卸载率,其实要解决这个问题只需要在androidManiFest.xml文件相应的<activity>节点中添加android:windowSoftInputMode="adjustPan"就OK了 官方说明...
2015-03-10 09:42:41 1640
转载 Flutter 三种方式实现页面切换后保持原页面状态
转载弧度里的微笑的文章,记录学习!第一步:实现固定的底部导航在通过flutter create生成的项目模板中,我们先简化一下代码,将MyHomePage提取到一个单独的home.dart文件,并在Scaffold脚手架中添加bottomNavigationBar底部导航,在body中展示当前选中的子页面。/// home.dartimport 'package:flutter/mater...
2019-07-03 08:59:49 1488
原创 Flutter问题记录
1.多tab页面出现的问题最近在写demo的时候报了一个错:There are multiple heroes that share the same tag within a subtree。在这里找到了解决方法:主要原因是我的page页面都包含了FloatingActionButton这个Widget,在FloatingActionButton下添加heroTag即可解决:float...
2019-07-03 08:31:20 1456
转载 bloc结合rxdart的一些代码
bloc_provider.dartimport 'package:flutter/material.dart';import 'package:bloc_demo/rxdart/blocs/count_bloc.dart';class BlocProvider extends InheritedWidget { final CountBLoC bLoC = CountBLoC();...
2019-07-01 17:13:21 556
原创 RxDart学习笔记
参考了以下文章,感谢他们的无私付出:https://www.jianshu.com/p/612d43c8915fhttps://juejin.im/post/5bcea438e51d4536c65d2232Subject实现并扩展了StreamController,它符合StreamController的所有规范。假如您之前使用的StreamController,那么你可以直接替换为Su...
2019-07-01 11:53:47 2648
原创 Dart Stream
本文基于以下文章翻译整合:https://medium.com/@ayushpguptaapg/using-streams-in-flutter-62fed41662e4https://www.woolha.com/tutorials/flutter-using-streamcontroller-and-streamsubscriptionStream与RxJava的Observable类似...
2019-06-28 15:09:03 383
原创 Flutter国际化
官方的文档一言难尽,又臭又长,网上搜索得到一个插件:flutter_i18n这个插件可以自动生成国际化代码,我们要做的就是在 /res/values文件夹下编写我们的arb文件,类似于android开发的strings.xml。首先安装插件,搜索Flutter i18n安装即可,不再赘述。安装完成后,重启,会在项目中自动生成一下文件(若没有生成,是as抽风了,再重启一次):lib/ge...
2019-06-25 08:42:16 1187
原创 OkHttp动态改变url地址
记录下开发遇到的小状况。后台要求将userID直接频道url中,即:http://domin.com/用户ID。参考了这位作者的处理方式,感谢他直接贴代码:import java.io.IOException;import kotlin.Pair;import okhttp3.HttpUrl;import okhttp3.Interceptor;import okhttp3.Re...
2019-01-24 14:50:32 5111
原创 视频地址获取
软件具体名字就不说了哈,首先贴出视频的网页地址: http://www.365yg.com/a6542366077089743367/ 首先需要获取视频的videoId,直接请求该url,然后match匹配: Pattern pattern = Pattern.compile(&quot;videoId: \'(.+)\'&quot;); Matcher matcher = pattern.ma...
2018-05-25 08:58:49 12610
原创 Android AOP
面向切面编程好处不用多说,看一下android实现吧。 翻来翻去找到一个不错的库,库地址1.使用在项目根目录的build.gradle里添加依赖:classpath 'com.hujiang.aspectjx:gradle-android-plugin-aspectjx:2.0.0'接下来,在app项目的build.gradle里应用插件:apply plugin...
2018-05-02 17:04:26 733
原创 Rxjava一些知识点学习
声明:本文为 RxJava2 实战知识梳理的心得笔记,非原创,生涩的部分建议看原文。1.线程切换释疑Schedulers.computation():用于计算任务,默认线程数等于处理器的数量。 Schedulers.from(Executor executor):使用Executor作为调度器,我没用过。Schedulers.io( ):用于IO密集型任务,例如访问网络、数据库操...
2018-04-19 11:17:45 988
原创 CmdHandler
/** * Created by gcy on 2018/1/9 0009. */public class CmdHandler { public static byte xor(byte... bytes) { byte result = (byte) (bytes[0] ^ bytes[1]); for (int i = 2; i <...
2018-04-13 16:02:05 589
原创 AAC尝试性封装
aac全称为Android-Architecture-Components,Google不久前发布了正式版本,一下子就被吸引了,这不就是改良传统MVP的妙药吗? 添加依赖就不再赘述了,网上大把的例子,本文只是对ViewModel及LiveData做简单的封装!勘误: 注意之前的DemoViewModel编写有些问题,极端情况下如断开wifi,此时throwableLiveData 会比is...
2018-02-02 09:45:38 396
原创 EventBus
1.添加依赖compile 'org.greenrobot:eventbus:3.1.1'2.三步学会2.1定义事件先定义事件VO,和普通的Java Bean没有区别:public class MessageEvent { public final String message; public MessageEvent(String messag
2018-01-13 14:31:40 480
原创 Android与C后台 MD5加密不一致的问题
最近换了个比较扯淡的C后台,登录密码MD5加密想必大家都用到了,网上一大堆代码,联调时发现问题了,操蛋的密码和C后台不一致,C后台的MD5密码高位不补0,网上大部分都是补零的,凑够32位,问题由此而来! 直接上代码吧: /** * 通过MD5算法加密; * @param pwd */ private static S
2018-01-12 12:49:41 1060
原创 AA升级留下的坑
最近导入了一个一年前的项目,顺带把aa升级了下,结果一直生成不了类,心里一沉,估计哪个地方写错或者写的不严谨,所以新版本编译不通过。 写下来我找出问题的步骤,方便大家检查问题: 首先报错是这样的: 改为这样: 问题解决,what a fucking day!!
2017-12-29 13:45:48 291
转载 如何将 Parcelable 保存到本地文件里
转载千里草的文章,感谢其无私奉献!原文地址 Seriaizeable 可以序列化长期保存到本地文件里,那么Parcelable 可不可以呢?在阅读了Parcel的源码之后,发现了很多的 writexxx 和 readxxx 方法,这个后续再做分析,这篇主要描述一下另外两个方法marshall 和 unmarshall, 这两个函数是相互对应的.marshall: Parcel 将自身所保存的所有数
2017-10-25 15:37:32 5919 1
转载 Kotlin中一些知识点学习
1. 协程github地址:kotlinx.coroutines(https://github.com/kotlin/kotlinx.coroutines)fun main(args: Array<String>) { launch(CommonPool) { delay(1000L) println("World!") } println
2017-09-12 09:58:25 1430
原创 Activity跳转新方法(学习笔记)
1、Java 调用 js 里面的函数、效率并不是很高、估计要200ms左右吧、做交互性很强的事情、这种速度很难让人接受、而js去调Java的方法、速度很快、50ms左右、所以尽量用js调用Java方法 2、Java 调用 js 的函数、没有返回值、调用了就控制不到了 3、Js 调用 Java 的方法、返回值如果是字符串、你会发现这个字符串是 native 的、转成 locale 的才能正常使
2017-06-30 09:23:17 468
原创 当aa遇上kotlin
踩了一些坑,记录,也与大家分享。1.Circular dependency app第一个踩坑的就是这个错误,主要是gradle版本与kotlin太新,静待更新吧。buildscript { ext.kotlin_version = '1.1.2-2' repositories { jcenter() } dependencies { c
2017-05-25 14:30:18 441
原创 XUtils db学习笔记(xutils 3.5.0)
目前只使用了db模块,将其他模块剔除,减小包的体积!已经修改好的包上传。下载地址,笔记基于该修改包!1.定义vo定义简单的一对多关系,Parent和Child。import org.xutils.db.annotation.Column;import org.xutils.db.annotation.Table;import java.util.Date;@Table(name = "parent
2017-05-24 14:16:02 1751
转载 解决ViewPager嵌套时Fragment的mUserVisibleHint属性不同步的问题
转载的文章:http://www.jianshu.com/p/e7449278e33d,感谢博主的奉献精神!! 当ViewPager嵌套ViewPager的时候子ViewPager中Fragment的mUserVisibleHint属性却不会同其父Fragment的mUserVisibleHint同步。解决如下:package com.babysafe.utils;import android.s
2017-04-26 10:36:36 770
转载 Retrofit学习笔记
添加依赖最新版本 compile 'com.squareup.retrofit2:retrofit:2.2.0' compile 'com.squareup.retrofit2:converter-gson:2.2.0' compile 'com.squareup.retrofit2:converter-scalars:2.2.0'定义Http请求接口Retrofit将网络请求
2017-03-13 13:42:47 662
原创 AS便于使用的设置
配置缓存文件夹进入安装目录的bin目录下,找到idea.properties,打开文件 找到 idea.config.path与idea.system.path,去掉前面的“#”注释,配置路径为自己需要的即可! 修改好后如果不想 AndroidStudio 重新更新下载,那么直接把文件夹从原来的地方剪切到你设置的地方去吧。配置gradle路径 在环境变量中加上 GRADLE_USER_HO
2017-01-17 15:06:35 1631
原创 省市联动
今天开发用到了省市联动,记录以下: 用到了开源库Android-PickerView 首先用到一个省市的xml文件,服务器可以下载全名展示的,移动设备下载简称就可以(最近下载csdn都要分,分数已耗光,需要回血) 全名称 适合移动设备的接下来解析xml文件: ArrayList<String> options1Items = new ArrayList<>();//省 ArrayList<
2016-11-17 12:33:12 446
原创 DialogFragment显示在底部
主要逻辑代码为: @NonNull @Override public Dialog onCreateDialog(Bundle savedInstanceState) { super.onCreateDialog(savedInstanceState); Dialog dialog = new Dialog(getActivity(), R
2016-07-08 14:36:22 2248
原创 Android开发常用到的中间View(加载,重试等)
看图: 逻辑非常简单,只是自定义一个简单的Layout即可:public class MiddleView extends RelativeLayout { RelativeLayout loadingLayout; RelativeLayout retryLayout; ImageView emptyView; Button btnRetry; Retr
2016-07-07 17:59:26 830 1
原创 一段代码,先留着
private int measureTextViewHeight(String text, int textSize, int deviceWidth) { TextView textView = new TextView(getContext()); textView.setText(text); textView.setTextSize(TypedValue.COMPL
2016-07-05 11:44:10 440
原创 实现一个自定义波浪View
本文要实现的View如图: 考虑到其还要放入其他控件,直接继承RelativeLayout即可。 同时本文为了简单起见把自定义属性去掉了,直接写死各种属性。 要实现这种效果,主要是计算需要画多少个圆,通过观察我们可以轻易算出: (长度-间隔)/(2*半径 + 间隔) 由于长度不一定刚好整除,所以我们需要考虑,首先获取剩余的长度: (长度-间隔)%(2*半径 + 间隔) 接下来需要考
2016-05-24 15:34:27 428
原创 融云知识点
1.为选择图片发送界面加上返回融云自带的选择发送图片界面没有返回按钮,为了app界面统一完整需要加上: 首先,连接融云服务器之前: //扩展功能自定义 InputProvider.ExtendProvider[] provider = { new MyImageInputProvider(RongContext.getInstance()),/
2016-05-23 17:59:06 3326
原创 日期计算相关
public static String getNextMonday() { Calendar cal = Calendar.getInstance(); //n为推迟的周数,1本周,-1向前推迟一周,2下周,依次类推 int n =1; String monday; cal.add(Calendar.DATE, n*7
2016-05-23 15:53:03 383
原创 aa4.0
AndroidAnnotation4.0发布已经一个多月了,今天抽空看了下,改变还是挺多的,做下笔记吧。 主要变化:去除了 @NoTitle注解 和对 ActionBarSherlock 的支持在 Fragment#onDestroyView() 中清空注入的View避免内存泄露@ReveiverAction 注解中不将方法名作为action名称,所以今后得指定了去掉了 @OrmLiteD
2016-04-24 13:13:46 737
原创 两个开发中常用到的
1.dialog主题的Activity <style name="myDialogTheme" parent="Theme.AppCompat.Dialog"> <item name="android:windowFrame">@null</item> <item name="android:windowIsFloating">true</item>
2016-04-05 16:01:15 626
原创 Application的onCreate方法被调用多次的问题
最近开发中集成了融云聊天,观察其sdk源码可以发现运用了多进程,这就导致application的onCreate方法会执行多次,浪费时间,下面贴出解决方案: /** * 获得当前进程的名字 * * @param context * @return 进程号 */ public static String getCurProcessName(Co
2016-03-23 10:15:18 1864 2
转载 [Android]最省内存的ViewPager添加小圆点指示器
转载windowsxp2014的文章,感谢其无私奉献,原文地址:原理:这个你可以用View叠加来实现,但是这个效果不太理想,1占内存,而移植起来不方便,需要找各种资源,所以采用自己绘制更好,方便,而且效率高。解决方案:[java] view plaincopypackage com.youtu.view;
2015-09-10 17:02:55 618
原创 androidannotations学习笔记
androidannotations(简称aa)是Android开发一个简单易用的annotations库,不同于其他annotations,其优点如下:aa的原理是将声明的类在编译时生成其子类,所以不会影响性能aa不受proguard影响,无需做特殊优化用aa后,所有的属性及方法尽量都别用private修饰了下载下载地址,解压后有两个jar包,这里只说明Eclipse下的配置,AS下雷同,
2015-08-19 11:15:24 2594 1
转载 日期及小数相关
1.获取两个日期相差天数public int getDiffDay(int y1, int m1, int d1, int y2, int m2, int d2) { int i, c1 = 0, c2 = 0, t1, t2; int m[] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
2015-07-31 10:21:04 476
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人