Android基础知识
for7GG
这个作者很懒,什么都没留下…
展开
-
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 · 736 阅读 · 0 评论 -
日期计算相关
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 · 384 阅读 · 0 评论 -
Android开发常用到的中间View(加载,重试等)
看图: 逻辑非常简单,只是自定义一个简单的Layout即可:public class MiddleView extends RelativeLayout { RelativeLayout loadingLayout; RelativeLayout retryLayout; ImageView emptyView; Button btnRetry; Retr原创 2016-07-07 17:59:26 · 832 阅读 · 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 阅读 · 0 评论 -
两个开发中常用到的
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 阅读 · 0 评论 -
Application的onCreate方法被调用多次的问题
最近开发中集成了融云聊天,观察其sdk源码可以发现运用了多进程,这就导致application的onCreate方法会执行多次,浪费时间,下面贴出解决方案: /** * 获得当前进程的名字 * * @param context * @return 进程号 */ public static String getCurProcessName(Co原创 2016-03-23 10:15:18 · 1867 阅读 · 2 评论 -
Activity与Fragment状态保存问题
翻译老外的文章,写的不错,也可以自己去看,地址。1.Activity当Activity的 onSaveInstanceState被调用,Activity自动会按照View层级获取每一个View的状态信息。注意,Activity只能获取覆写了Saving/RestoringState方法的View 的状态。一旦onRestoreInstanceState被调用, Activity会按照V翻译 2015-07-29 17:02:32 · 1309 阅读 · 0 评论 -
方便的布局动画
如果要求自己的Activity整齐划一,可以考虑使用布局动画LayoutAnimation,话不多说,先演示在代码中使用,然后是xml。1.in code他山之石,可以攻玉,摘抄网友的代码:/** * Layout动画 * * @return */ protected LayoutAnimationController getAnimat原创 2015-07-08 10:50:12 · 450 阅读 · 0 评论 -
省市联动
今天开发用到了省市联动,记录以下: 用到了开源库Android-PickerView 首先用到一个省市的xml文件,服务器可以下载全名展示的,移动设备下载简称就可以(最近下载csdn都要分,分数已耗光,需要回血) 全名称 适合移动设备的接下来解析xml文件: ArrayList<String> options1Items = new ArrayList<>();//省 ArrayList<原创 2016-11-17 12:33:12 · 447 阅读 · 0 评论 -
解决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 · 771 阅读 · 0 评论 -
Rxjava一些知识点学习
声明:本文为 RxJava2 实战知识梳理的心得笔记,非原创,生涩的部分建议看原文。1.线程切换释疑Schedulers.computation():用于计算任务,默认线程数等于处理器的数量。 Schedulers.from(Executor executor):使用Executor作为调度器,我没用过。Schedulers.io( ):用于IO密集型任务,例如访问网络、数据库操...原创 2018-04-19 11:17:45 · 992 阅读 · 0 评论 -
Rxjava出错的地方(开发错误集锦)
1.重试出错重试应该是App中最常用的功能了,我常用的的操作符是retry,代码如下: .retry { _ -> if (retryTime == 0) { ++retryTime true原创 2018-02-02 13:22:20 · 286 阅读 · 0 评论 -
DialogFragment显示在底部
主要逻辑代码为: @NonNull @Override public Dialog onCreateDialog(Bundle savedInstanceState) { super.onCreateDialog(savedInstanceState); Dialog dialog = new Dialog(getActivity(), R原创 2016-07-08 14:36:22 · 2249 阅读 · 0 评论 -
如何将 Parcelable 保存到本地文件里
转载千里草的文章,感谢其无私奉献!原文地址 Seriaizeable 可以序列化长期保存到本地文件里,那么Parcelable 可不可以呢?在阅读了Parcel的源码之后,发现了很多的 writexxx 和 readxxx 方法,这个后续再做分析,这篇主要描述一下另外两个方法marshall 和 unmarshall, 这两个函数是相互对应的.marshall: Parcel 将自身所保存的所有数转载 2017-10-25 15:37:32 · 5929 阅读 · 1 评论 -
Android最基础知识(持续更新)
摘录了网上一些开发者的小知识,作为开发者必须要知道:防止布局被弹起的键盘挤掉安卓开发当中经常会碰到打开键盘时,通常会把布局文件挤上去,这样的应用估计100%=卸载率,其实要解决这个问题只需要在androidManiFest.xml文件相应的<activity>节点中添加android:windowSoftInputMode="adjustPan"就OK了 官方说明...原创 2015-03-10 09:42:41 · 1641 阅读 · 0 评论 -
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 · 1432 阅读 · 0 评论 -
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 阅读 · 0 评论