Android杂记
Android API
LXB-89
勤能补拙是良训,一分辛苦一分才!
展开
-
浅谈 Lifecycles 组件中 Transformations的switchMap 在MVVM 框架中的使用
LiveData<T>:内容为T类型数据的容器,可监听内容的变化且具有一定的实时性对外提供监听容器内容变化的接口observe(LifecycleOwner, Observer)会在适当的时期通知监听器适当的时期:激活状态(LifecycleRegistry监听fragment生命周期)外部需MutableLiveData才能改变容器内容MutableLiveDat...原创 2020-02-24 13:01:28 · 600 阅读 · 0 评论 -
Android MVP 和 MVVM 区别
今天,偶然看到一位朋友分享了自己的面试经历,看到其中很多面试题自己也雾里看花,不清不楚,为了能弥补自己的不足,针对 Android 架构中的 MVP MVVM的区别进行如下整理:参考博文:https://www.jianshu.com/p/a15d6e68d93f一、概述MVVM模式包含了三个部分:Model :基本业务逻辑 View : 视图内容 ViewModel:...原创 2018-08-23 15:18:36 · 5646 阅读 · 2 评论 -
Android MVVM原理详解
Android MVVM原理详解参考博文:https://www.jianshu.com/p/4830912f5162原创 2018-08-20 17:46:12 · 2142 阅读 · 0 评论 -
【转】Android MVP架构搭建——mvp 重在思想
目录引言 为什么用MVP架构 MVP理论知识 乞丐版MVP架构模式的代码实现 MVP中的代码复用场景 平民版MVP架构 - base层顶级父类 Fragment怎么办 时尚版MVP架构 - Model层的单独优化引言记得第一次接触MVP开发是上大学的时候,当时看了数十篇关于MVP的文章,这里不得不吐槽一下国内技术帖子的质量真是参次不齐啊。看完之后一直懵懵懂懂的,总觉有几处关...原创 2018-08-10 18:04:03 · 363 阅读 · 0 评论 -
Android ARouter——路由框架解析与使用
参阅博文:Android 路由框架ARouter最佳实践https://blog.csdn.net/zhaoyanjun6/article/details/76165252阿里ARouter使用及源码解析(一)https://www.jianshu.com/p/46d174f37e82...原创 2018-08-28 11:30:59 · 310 阅读 · 0 评论 -
Android Dagger 注入使用及原理
Android Dagger Inject、Module、Component、使用及原理参阅博文:https://blog.csdn.net/qq_30889373/article/details/81571414Dagger 2 -基础篇:@Inject、@Componenthttps://blog.csdn.net/Strange_Monkey/article/details/80...原创 2019-04-24 15:38:07 · 233 阅读 · 0 评论 -
深入解析 Rxjava 在Android 开发中的使用
Rxjava 文档查阅链接:https://legacy.gitbook.com/book/mcxiaoke/rxdocsRxJava 一些入门的指引 学习:http://gank.io/post/560e15be2dca930e00da1083https://www.jianshu.com/p/0524d7914429...原创 2019-10-14 16:21:11 · 192 阅读 · 0 评论 -
Android studio 如何阅读源码
在开发过程中,难免想查看某些类的源码进行探究,对此,我在鸿洋的公众号中看到一篇文章,感觉总结的非常nice,大神就是大神,大家可以多多关注,在未来学习的道路将不再迷茫!闲话不多说,以下为本人简单整理,方便以后查阅,希望对大家有所帮助。一、在线查看源码: 1、http://androidxref.com/ 2、https://www.androidos.net.cn/so...原创 2018-07-18 11:48:43 · 935 阅读 · 0 评论 -
Android 属性——android:noHistory="true" 揭秘
今天闲暇之时在某应用中看到了 android:noHistory="true" 属性,顿时蒙圈,于是立即找度娘......简单记录下,希望对不了解此属性的朋友有所帮助。设置 android:noHistory="true"后,该Activity在statck中不留历史痕迹。默认的值是false。假设有三个Activity分别是:A,B,C。这三个Activity可以依次顺序启动下一个...原创 2018-08-10 11:29:14 · 1232 阅读 · 0 评论 -
【转】Android WebView 与Js 交互【 详解 一 】
开发久了,就越发的想对自己不熟悉的或不是那么清楚的知识点进行归纳总结。对此,我今天特意对 WebView 与Js 交互的几种实现方式进行了总结,希望对大家有所帮助或提升。本片博文撰写内容主要参阅 https://blog.csdn.net/carson_ho/article/details/64904691/ 博文,尊重原著,大家可以多多关注大牛博客,共同进步!WebView 基础知...原创 2018-08-15 13:47:18 · 488 阅读 · 0 评论 -
Android WebView 与Js 交互【 详解 二】—— JSBridge 三方库轻松实现
【摘要】按安卓开发目前现状来说,开发者大部分时间还是花在UI的屏幕适配上,使用原生控件开发成本已不是那么理想,而目前结合Html5和原生控件是解决UI适配的一种很好的选择,处于APP性能也会用java和native层进行结合。不管是哪种结合,其实原理都差不多,只要按照它的协议来,是很容易的。对此针对 webView与js的通信上的问题,我简单做了如下总结,欢迎大家多多指正,共同进步。如...原创 2018-08-16 13:57:36 · 1159 阅读 · 0 评论 -
Android 获取手机所有短信内容
一、在AndroidManifest.xml 的manifest标签下添加操作短信的相关权限;二、从短信数据库读取所有短信;private Uri SMS_INBOX = Uri.parse("content://sms/");private void obtainPhoneMessage() { ContentResolver cr = getContentResolv...原创 2018-07-16 17:25:57 · 16055 阅读 · 5 评论 -
Android平台关于时间和日期的相关类和方法(Date/Time)
1. Time类,这个类可以得到具体的日期/时间以及时区,可以在日期/时间格式与字符串及毫秒之间转换。(据说,使用Time类对CPU的负荷较小,不过我没有与其他的类型对比过)Time t = new Time(); //得到的是初始日期时间:19700101T000000Asia/Shanghai(0,0,0,-1,-28800)//Time t=new Time("GMT+8"); ...转载 2015-11-22 19:24:53 · 542 阅读 · 0 评论 -
Android @IntDef 的使用
Android开发@IntDef完美替代Enum (枚举)参阅博文:https://www.jianshu.com/p/31c3aae7a7c6原创 2019-04-25 10:40:23 · 2252 阅读 · 0 评论 -
Android Intent.ACTION_SEND ——实现分享功能
安卓系统本身可以很简便的实现分享功能,因为我们只需向startActivity传递一个ACTION_SEND的Intent,系统就为我们弹出一个应用程序列表。其实在系统的文件管理器中,这应该是我们常用的功能(包括文件的打开Intent.ACTION_VIEW)。下面列出一个简单的分享方式Intent shareIntent = new Intent();shareIntent.setA...转载 2018-08-06 17:21:02 · 5039 阅读 · 0 评论 -
Android 架构组件——LiveData 探究与使用
LiveData是一个可被观察的数据持有者类。与常规的Observable不同,LiveData能意识到应用程序组件的生命周期变化,这意味着它能遵守Activity、Fragment、Service等组件的生命周期。这种意识确保LiveData只更新处于活跃状态的应用程序组件Observer。一、LiveData 是什么?LiveData实现基本的Android Activity/...原创 2018-08-29 14:43:05 · 1654 阅读 · 0 评论 -
【转】Android Dagger 2——全新依赖注入框架
参阅博文:https://www.jianshu.com/p/2cd491f0da01https://blog.csdn.net/mummyding/article/details/78853010原创 2018-08-27 17:59:14 · 163 阅读 · 0 评论 -
android webView 解决重定向——之 loadDataWithBaseURL
最近在开发WebView 过程中碰到了 资源重定向问题;较为头疼;百度啊;谷歌啊 ; 奈何 ///试了N边没有找到合适的;终于皇天不负有心人 经过一番的艰苦奋战;我的问题是解决了;1:这个对于重定向的解决 不是简单的在如下:webView.setWebViewClient(new WebViewClient() {@Overridepublic boolean shouldOve...转载 2018-06-13 13:38:05 · 1457 阅读 · 0 评论 -
Android onSaveInstanceState 实时保存数据——不可小觑
数据保存,想必大家都不陌生,今天无意看到了一篇博文,对 Activity 的 onSaveInstanceState 方法有了一个全新认识,特此记录下,以便日后查阅。大家都知道,手机内存会越用变得越小,内存不足的时候很有可能就会把你APP中不在栈顶的activity给回收掉。开发中,你有没有遇到过这样问题?你打开了A,A是一个注册类activity。然后你填写了一堆信息后,返回桌面去看了一条短...原创 2018-08-02 18:16:47 · 2915 阅读 · 0 评论 -
Android获取已安装应用信息(图标,名称,版本号,包)
一、程序大概分成三个部分:1.获取手机已安装的所有应用package的信息(其中包括用户自己安装的,还有系统自带的);2.滤除系统自带应用;3.通过列表显示出应用程序的图标(icon),和其他文字信息(应用名称,包名称package name,版本号等等)二、首先,我们定义一个数据结构,来保存应用程序信息(icon,name,packageName,versionName,vers...原创 2018-07-16 17:07:56 · 13678 阅读 · 0 评论 -
【理解】Android CPU架构及so文件的兼容和适配
著作权归作者所有 链接:https://www.jianshu.com/p/2d23764746e4CPU架构分类armeabi armeabi-v7a(目前大部分机器) arm64-v8a (高端机型) x86 x86_64 mips mips64Android手机大部分采用的是ARM架构的CPU.CPU之间的架构兼容ARMv5 设备:只支持armeabiARM...转载 2020-04-14 10:15:49 · 686 阅读 · 0 评论 -
Android webview 实现h5中调用原生系统相册/相机并进行图片压缩功能
近期工作较忙,工作中先简单记录下,后期会整理成自己的博文,希望对大家有帮助!参阅博文:1、android 之 webView 显示h5 执行选择图片或者拍照功能2、深坑之Webview,解决H5调用android相机拍照和录像3、Android webview 实现h5的input type="file"选择图片调用系统相册/相机并进行图片压缩功能 https://...原创 2019-12-19 14:22:46 · 898 阅读 · 0 评论 -
探究 Intent 中的四个重要属性——Action、Data、Category、Extras
一、Intent 一般 使用参考链接 :https://blog.csdn.net/reboot123/article/details/7018331二、复杂条件下Intent 使用参考链接 :https://blog.csdn.net/reboot123/article/details/9198101...原创 2019-08-09 11:33:08 · 138 阅读 · 0 评论 -
fragment——之回退栈详解
在Android开发之Fragment动态使用一文中,说到replace方法切换Fragment,会造成Fragment不断销毁、创建,但是有没有办法实现像Activity一样通过栈的方式来管理Fragment呢?答案是可以的,本文就来探讨一下。一、Fragment回退栈Activity切换时,相信大家都知道是通过栈的形式,不断压栈出栈,在Fragment的时候,如果你不是转载 2017-02-13 18:34:30 · 654 阅读 · 0 评论 -
ListView如何单独刷新一个item
/** * tip : 深度研究listview (ListView如何单独刷新一个item) */public class ListViewStudyActivity extends AppCompatActivity implements AdapterView.OnItemClickListener { private ListView lv; public fina...原创 2017-02-10 16:22:59 · 3220 阅读 · 0 评论 -
Task和Activity回退栈详解
什么是Task? Task是一个包含activity的列表。或者可以理解为按照启动的先后来排队的一个队列; 什么是回退栈(Back Stack)? Back Stack是存储一个Task的实现方式,一个容器。它具有栈的特性:后进先出。 Task 、Back Stack 、Acitivity三者之间的关系? 根据activity的启动的顺序,加入A启动了B,那么B默...原创 2017-02-14 11:35:30 · 587 阅读 · 0 评论 -
Android异步消息处理机制完全解析,带你从源码的角度彻底理解
转载链接:(http://blog.csdn.net/guolin_blog/article/details/9991569)我们都知道,Android UI是线程不安全的,如果在子线程中尝试进行UI操作,程序就有可能会崩溃。相信大家在日常的工作当中都会经常遇到这个问题,解决的方案应该也是早已烂熟于心,即创建一个Message对象,然后借助Handler发送出去,之后在Handler的hand...转载 2017-02-21 11:30:17 · 387 阅读 · 0 评论 -
浅谈 Android Exception & Throwable 类
一、Throwable 类概述:java将所有的错误封装为一个对象,其根本父类为Throwable, Throwable有两个子类:Error和Exception。Error: 这种异常被设计成不被捕获,因为这种异常产生于JVM自身。Runtime Exception: 运行时异常往往与环境有关,编译时无法检查,并且可能发生的情况太广泛,所以系统会去处理,程序不需要捕获。 注意...原创 2018-08-31 10:10:12 · 2820 阅读 · 0 评论 -
Android 常见分辨率 —— mdpi、hdpi 、xhdpi、xxhdpi
一、Android手机目前常见的分辨率1、 手机常见分辨率:4:3VGA 640*480 (Video Graphics Array)QVGA 320*240 (Quarter VGA)HVGA 480*320 (Half-size VGA)SVGA 800*600 (Super VGA)5:3WVGA 800*480 (Wide VGA)16:9FWV...原创 2018-09-07 10:07:33 · 63361 阅读 · 0 评论 -
Android 实现在线预览office文档(Word,Pdf,excel,PPT.txt等格式)
参考博文: https://blog.csdn.net/andy_l1/article/details/78218078打开pdf 的几种方式:1.webview浏览pdf,使用谷歌的文档服务,(但是面临翻墙的问题,不推荐):mWebView.loadUrl("http://docs.google.com/gviewembedded=true&url=" + pdfUrl);...原创 2018-09-13 10:00:26 · 7248 阅读 · 2 评论 -
Android aar和jar文件的使用与不同
Android aar和jar文件的使用与不同参阅博文:https://blog.csdn.net/zxw136511485/article/details/52777286原创 2018-11-19 14:22:29 · 183 阅读 · 0 评论 -
Android IPC——(跨进程通信) 详解
参阅博文:https://blog.csdn.net/songzi1228/article/details/82757302原创 2019-02-12 18:36:48 · 165 阅读 · 0 评论 -
解读Android 消息队列和Looper
转载链接:http://blog.csdn.net/singwhatiwanna/article/details/17361775一、概念1. 什么是消息队列消息队列在android中对应MessageQueue这个类,顾名思义,消息队列中存放了大量的消息(Message)2.什么是消息消息(Message)代表一个行为(what)或者一串动作(Runnable),有两处会用到Mess...转载 2019-05-17 17:55:01 · 166 阅读 · 0 评论 -
【面试】Android Retrofit+Rxjava 如何实现同时请求多个接口数据?
参阅博文:Android RxJava操作符详解 系列:组合 / 合并操作符Android:手把手带你入门神秘的 RxjavaAndroid Retrofit请求服务器返回字符串(非JSON)...原创 2019-06-22 14:56:21 · 8285 阅读 · 2 评论 -
PagerAdapter和FragmentPagerAdapter和FragmentStatePagerAdapter区别
ViewPagerViewPager 如其名所述,是负责翻页的一个 View。准确说是一个 ViewGroup,包含多个 View 页,在手指横向滑动屏幕时,其负责对 View 进行切换。为了生成这些 View 页,需要提供一个 PagerAdapter 来进行和数据绑定以及生成最终的 View 页。setAdapter()ViewPager 通过 se转载 2017-02-10 15:08:02 · 947 阅读 · 0 评论