- 博客(42)
- 收藏
- 关注
原创 Jetpack 之 Room数据库
文章目录@[toc]1.依赖添加2.创建Entity, 创建一张学生表3.针对Entity定一个对应的Dao接口文件,以便对Entity进行访问4.创建数据库5.操作数据库1.依赖添加dependencies { implementation "andoirdx.room:room-runtime:2.2.2" annotationProcessor "androidx.room:room-compiler:2.2.2"}2.创建Entity, 创建一张学生表新建一个名为Student的Ja
2020-09-08 16:10:36
355
原创 Jetpack 之 LiveData
文章目录@[toc]1. 为什么使用LiveData?2. LiveData出现3. LiveData简介4. LiveData与ViewModel的关系5. LiveData的基本用法6. LiveData的原理7. LiveData.oberverForever方法1. 为什么使用LiveData?ViewModel用于存放页面数据,当数据发生变化时,通知页面进行更新,而LiveData大部分时候是在ViewModel中使用的,也可以搭配Room使用;使用LiveData对ViewModel中
2020-09-07 13:48:12
500
原创 Jetpack 之 Navigation
Jetpack 之 Navigation文章目录Jetpack 之 Navigation@[toc]1. Navigation 诞生的背景2. Navigation的优势3. Navigation 的主要元素4. Navigation的基本使用5. 页面之间参数的传递6. 使用NavigationUI切换导航以及App bar7. 深层链接DeepLink1. Navigation 诞生的背景大多数Android工程师,目前采用单个Activity嵌套多个Fragment的UI架构模式,但是对于Fr
2020-09-07 10:17:53
554
原创 Jetpack 之 ViewModel
Jetpack 之 ViewModel文章目录Jetpack 之 ViewModel@[toc]1. 使用ViewModel的意义2. ViewModel是什么3. 屏幕旋转对ViewModel的影响4. 依赖添加5. 实例的获取6. ViewModel中使用Context7. ViewModel的原理8. Fragment中是否可以使用ViewModel ?9. ViewModel 和 OnSaveInstanceState()方法1. 使用ViewModel的意义ViewModel可以帮助我们更好
2020-09-07 09:23:06
204
原创 Jetpack 之 LifeCycle
Jetpack 之 LifeCycle文章目录**Jetpack 之 LifeCycle**@[toc]**1. 使用意义****2. LifeCycle诞生的背景****3. LifeCycle可以做什么****4. 使用场景****5. 原理****6. Activity 与 Fragment中的使用****7. Lifecycle在Service中的使用****8. Lifecycle在Application中的使用**1. 使用意义Lifecycle完美解决了组件对页面生命周期的依赖问题,使组
2020-09-07 09:19:49
163
2
原创 Mars XLog日志模块集成
学习背景:项目中用到,但是只停留在用的范畴,并未知晓如何使用,此行记录一下,以便在其他项目中使用 资源整理: Mars源码下载:Github链接:(有时候网真的不行啊)https://github.com/Tencent/mars网盘链接: https://pan.baidu.com/s/1tNKH937ncLArsHrjwWTkgg 提取码: z5aqpyelliptic-百度网盘链接: https://pan.baidu.com/s/1BqFbFyyZMWv3jjC
2020-06-29 18:56:07
2940
8
原创 项目常见依赖
1、ButterKnife--依赖注入findViewByIdimplementation 'com.jakewharton:butterknife:10.0.0'annotationProcessor 'com.jakewharton:butterknife-compiler:10.0.0'2、BaseRecyclerViewAdapter--适配器implementation...
2020-06-24 15:53:13
429
原创 Jetpack 之 WorkManager
注意: WorkManager 需要 compileSdk 版本 28 或更高版本1. 添加maven仓库依赖--> build.gradle(project) buildscript --> respositories --> 加入: maven { url "https://jitpack.io" } allprojects --> respositories --> 加入: maven { url "https:/..
2020-06-23 18:40:35
521
转载 Android-gradle配置详解
**android gradle配置详解**AppExtension类及其属性可能大部分人看到AppExtension类会感觉到非常的陌生,其实我们在app中的build.gradle中填写配置信息的时候,经常看到它,它是什么呢?如果你按ctrl+鼠标左键对着android{},点击进去就知道了,其实android{…}表示的就是AppExtension这个类。我们再来看看AppExtension继承关系:除了AppExtension之外还有2个类与之相似...
2020-06-16 14:17:22
722
原创 WorkManager使用记录
用途:属于JetPack结构组件,用于进行后台任务优点:操作简单,稳定性强,对于异步任务,即使APP退出运行或者设备重启,都能很好的保证任务的顺利执行添加依赖: implementation "android.arch.work:work-runtime:1.0.1" (Java) 用法思路:新建一个类继承Woker,并实现其方法,在其doWork()方法中进行后台任务,然后再根据返回的状态对任务结果进行相应的处理 创建后台任务类: Cl...
2020-05-27 19:19:31
837
原创 Android中的偏好存储及简易封装
Android数据持久化:是指将那些内存中的瞬时数据保存到存储设备中,保证即使手机关机的情况下,数据仍然不会丢失;保存在内存中的数据是处于瞬时状态的,而保存在设备中的数据是处于持久状态的;持久化技术提供了一种机制可以让数据在瞬时状态和持久状态之间进行转换。一、Android中偏好存储1. 是什么?是Android中常见的一种数据存储方式,主要通过键值对的方式存储数据;只能...
2020-03-25 16:33:13
365
原创 AndroidManifest内部标签属性---一篇可能就够了
一、基本标签1. <?xml version="1.0" encoding="utf-8"?> version: xml的版本 encoding: 编码格式2.AndroidManifest每一个Android应用都包含一个manifest文件,即AndroidMnifest.xml,用于配置应用的各方面信息;3. manifest是And...
2020-03-24 16:43:16
3320
原创 Android权限处理--Permissionsdispatcher
1. @RuntimePermissionsAndroid权限常识(来源于Google官方文档) 如果设备运行的是 Android 6.0(API 级别 23)或更高版本,并且应用的 targetSdkVersion 是 23 或更高版本,则应用在运行时向用户请求权限。用户可随时调用权限,因此应用在每次运行时均需检查自身是否具备所需的权限。 如果设备运行的是 Androi...
2020-03-24 11:09:57
1719
原创 WebView加载HTML内容监听
最近使用Android开发时,在WebView加载网页的时候遇到一个问题,感觉很有趣,记录一下,如果有更好方案的朋友评论和私信都可以,共同学习。需求:手机某个页面加载一个网页,当网页内容滑动到底部(完全展示)时,底部的按钮才变为可用状态方案:给Webview设置监听,当WebView滑动时,通过WebView控件的高度、滑动的距离、WebView中html内容的高度、来确定...
2020-03-21 14:13:52
1539
原创 ActivityLifecycleCallbacks的基本使用
内容简述1、这是什么?2、原理3、使用时需要注意什么?4、为什么要用它?5、使用场景6、怎么用?参考:https://blog.csdn.net/u010072711/article/details/77090313参考:http://www.jcodecraeer.com/plus/view.php?aid=7923问题1:它是什么?Activity...
2020-03-04 10:33:22
1936
原创 Android中的权限申请
一、权限的基本使用**1.引入时机:Android中的 运行时权限 是在Android6.0时引入的,主要用于保护用户安全与隐私;2.运行时权限:用户不需要在安装软件的时候一次性授权所有申请的权限,而是在软件使用的过程中再对某一项权限申请进行授权3.Android权限分类:并非每种权限都需要申请,Android中将权限分为两类:普通权限和危险权限;普通权限:不会直接影响用户安全和隐...
2019-11-28 15:04:35
863
原创 Android中的网页加载适配
WebView网页加载适配目前Android项目中使用WebView加载网页的情况很多,常见的就是 加载服务器上的网页 和 加载本地的网页两种;1、加载服务器上的网页mWebView.loadUrl("http://www.baidu.com");2、加载本地的html的两种方式(assets 与 raw)本地的html文件一般放置在assets目录 或者 res–>raw目录下...
2019-11-14 15:10:08
986
转载 Android四大组件之BroadcastReceiver
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...
2019-09-18 10:22:23
119
转载 Android四大组件之Service
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...
2019-09-18 10:16:05
154
转载 Android四大组件之ContentProvider
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...
2019-09-18 10:12:46
264
原创 Android中的小知识
1、AndroidManifest中application标签要记着要添加 android:allowBackup="false",关闭恢复和备份数据的功能;原因:此属性不设置会默认为true,意味着应用可通过adbbackup和adb restore来进行对应用数据的备份和恢复,存在安全隐患。2、AndroidManifest中中application标签中 的android:supp...
2019-08-16 16:51:10
205
原创 Android 获取array数组资源
开发中经常使用到RecylerView这个控件,对于RecyclerView而言,填充数据的环节是必不可少的,而数据大部分情况下都是多条的,所以在此记录一下;数组资源文件一般放在 res--> values -->attrs.xml(没有就自己创建一个)注意:Resoures的获取在Activity中、Fragment和其他类中是有区别的,例如:Activity中:R...
2019-08-03 14:24:45
11882
原创 Android Studio中创建UML类图
本篇博客有哪些内容?1、什么是UML?2、什么是PlantUML ?3、如何安装PlantUML?4、如何使用PlantUML?1、什么是UML?UML (Unified Modeling Language)又称为统一建模语言或者标准建模语言,主要用于描述类、对象、关联、职责、行为、接口、用例、包、顺序、协作以及状态,是一种开放的方法,用于说明、可视化、构建和编写一个...
2019-08-01 13:43:37
2940
原创 Android Notification
Android 通知不显示?看书的时候,按照代码写一个通知,万万没想到,竟然显示不出来,我的天,My Cod !手机坏了? What ?经过一份搜索,原来android 8.0之后通知需要加入channelId元素,否则无法显示通知,老衲手机是Android 9 (哼,趁我不注意自己升级,差评);这就郁闷了,还是记录一下,下次遇到方便查找。实现通知的示例代码(兼容Androi...
2019-06-28 17:12:07
811
原创 Android Studio签名、打包、自定义apk名称
Android开发中,不可避免的会对apk进行签名打包,在此记录一下,方便以后查看;目前开发环境:Android Studio 3.3主要讲以下几个方面问题:1、手动对apk签名打包2、配置Gradle进行自动签名打包3、自定义打包apk的名称4、记录一个小错误:Could not get unknown property ‘release’ for SigningCon...
2019-06-05 19:25:11
3863
原创 关于HashMap
常识:哈希法 散列法(Hashing)或哈希法是一种将字符组成的字符串转换为固定长度(一般是更短长度)的数值或索引值的方法, 称为散列法,也叫哈希法。1.什么是HashMap? HashMap是基于哈希表的Map接口的非同步实现,实际上是一个“链表散列”的数据结构,即数组和链表的结合体. 也可以说是一个用于存储Key-Value键值对的...
2019-03-18 15:21:15
148
原创 Android studio快捷键
一、Android studio快捷键1、代码向上、向下移动 : Ctrl + Shift + Up/Down2、复制当前行到:下一行 :Ctrl +D3、剪切 :Ctrl + X4、删除:Ctrl + Y5、在类中的方法间移动: Alt + up/down6、打开一个file: Ctrl + Shift+ n7、查看一个变量的声明:Ctrl + ...
2019-03-18 14:50:48
605
原创 Android屏幕适配
一、Android屏幕适配-->基本概念1、屏幕尺寸 (英寸)屏幕尺寸指屏幕的对角线的长度,单位是英寸(in),1英寸=2.54厘米链接:英寸(吋)是使用于英国及其前殖民地的长度单位,一般为1in=2.54cm,在英制里,12英寸为1英尺,36英寸为1码2、px (像素)是英文单词pixel的缩写,意为像素,屏幕上的点。我们通常所说的分辨率如480X800就是指的像素,一般以纵...
2019-03-18 14:42:57
622
原创 Android从当前APP跳转到其他应用
1、从当前APP跳转到其它App的某个Activity在App中跳转到其它APP中指定的Activity,需要满足以下条件:1)目标APP的指定Activity允许其他应用访问2)知晓目标APP包名以及目标Activity的完整路径3)目标APP的目标Activity中定义了可以进行隐式启动的action 和 category ;1)为必须满足的条件,在1)的基础上,2)与...
2019-03-14 17:10:08
6968
原创 Android Studio常用设置及常见问题
1.修改主题颜色File---->Setting---->Editor---->Colors & Fonts---->General---->Scheme---->选择Darcula即可切换灰色主题.2.修改字体File---->Setting---->Editor---->Colors & Fonts---->...
2018-12-28 15:30:26
1096
原创 Android NDK开发之CMake
知之为知之,不知为不知哇!(先来个王者之哇助助兴),最近的项目一直用到Android NDK,简直头皮发麻,每次底层出现问题,都要找同事帮忙,甚是尴尬,于是看一些帖子,稍微整理了一下,做个小笔记,同时也分享一下前人之经验.不说了,开始进入正题.Android开发环境工具:Android Studio 3.0.1开发jni工具 : CMake要使用CMake进行jni开发,需要一...
2018-11-09 17:28:39
251
原创 Ubuntu 16.04使用记录
电脑环境:Ubuntu 16.04记录1:查看APK内的具体信息(例如版本号、报包名、启动Activity 、编译版本等)找到本机sdk存放位置,进入sdk---> build tools --->进入27.0.3(其它也可以)目录下,打开命令行---> 输入./aapt dump badging + apk的绝对路径即可查看apk的详情,例如packa...
2018-10-25 14:14:32
699
原创 Android隐藏标题栏和状态栏
一、隐藏标题栏总体来说,Android隐藏标题栏分两种方式:onCreate中使用代码隐藏 和 AndroidMainfest 定义Activity主题隐藏 ;Activity继承自Activity时,onCreate-->setContentView方法前加入以下代码:requestWindowFeature(Window.FEATURE_NO_TITLE); (也可...
2018-08-17 12:00:09
13718
1
原创 Android常见异常
1、Long Msg: java.lang.ArithmeticException: divide by zero(算术异常:运算除数/分母为0) 异常产生原因: 第一种:除数为0(分母为0); 解决方法:在不确定分母(变量初始化没有赋值)的情况下,我们 对其进行判断是否为0,在不为0的情况下执行代码; 第二种:数据超出限制,如:long类型数据转换为in...
2018-08-16 16:31:31
559
原创 Android依赖注入框架---ButterKnife
大家在开发中,经常会使用到findViewById 和 setOnClickListener,但是当控件较多时,重复的进行控件获取真的很烦,很郁闷,特别是对一些有强迫症的SuperMan来讲,看着一推findViewById就头皮发麻,不过当你使用了Butter Knife之后,这些问题仿佛迎刃而解了。1、Butter Knife是什么? Butter Knife是JakeWhar...
2018-08-16 10:11:36
993
原创 Android四大组件之Activity
1、什么是Activity?Activity是用户和应用程序之间进行交互的接口,它提供了一个界面供用户进行各种点击、触摸、滑动等操作,这个界面就是Activity;2、Acitivity常见的四种状态是什么?具体表现?第一种:活动状态(runnning), Activity处于活动状态时,用户可以进行点击、滑动等操作,屏幕会根据用户操作做出相应,Activity...
2018-02-01 17:45:47
199
原创 APP引导页动画
实现App进入时,引导页停留2秒然后进入主页面,且区分 第一次打开与非第一次打开的情况private Handler mHandler=new Handler();private SharedPreferences mSp;mSp=getSharedPreferences("config",MODE_PRIVATE);final SharedPreferen
2017-11-28 14:36:22
874
原创 Android启动页跳转与连续点击退出程序
在Android开发中,启动页与退出程序是大部分程序员都会做的一个小模块,根据之前踩过的坑,特此记录一下,一方面自己下次查阅方便,另一方面希望可以分享一下,水平有限,错误之处,还请多提宝贵意见.我的测试的程序是 从启动页停留两秒---->>跳转到 MainActivity, 在MainActivity页面,在2秒内连续点击底部返回键两次,退出程序问题1:启动页跳转主...
2017-11-28 14:26:11
480
转载 Android App 启动页(Splash)黑/白闪屏现象产生原因与解决办法
惊鸿一瞥微信的启动页,相信大家都不陌生。 不知道大家有没有发现一个现象,微信每次启动的时候,是直接进入这个启动页面。 我的意思是,很多应用,往往会先白屏停顿一下后再进入启动页面(Splash)。为了印证这一点,我把手机上所有的App都点了一遍。选几个例子 如下图: 微信: 斗鱼: 斗鱼和微信是直接进入了,他们的Splash页面。 知乎: B站:
2017-11-23 15:21:59
394
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人