自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Mrlove的博客

这是我的一次新的尝试与开始,也是你的第一次遇见。。。

  • 博客(14)
  • 资源 (1)
  • 收藏
  • 关注

原创 一台电脑配置多个SSH KEY,多个用户身份提交代码

前言当想在同一台电脑上用多个用户身份提交代码,例如:在公司电脑上用公司用户名提交代码,用私有用户名提交自己的代码到github上,可以使用下面的方法。生成 SSH KEY①执行命令ssh-keygen -t rsa -C "your_email@example.com"创建github对应的sshkey,命名为id_rsa_github$ ssh-keygen -t rsa -C "you...

2020-01-22 17:31:36 714

原创 git 更改现有提交记录中的用户名称和/或电子邮件地址

更改作者信息git要修改历史历史记录中所有提交用户名称和/或电子邮件地址,可以在仓库根目录下执行如下操作:①新建如下脚本rename.shrename.sh#!/bin/sh#更改提交中所有邮箱为OLD_EMAIL的为新的用户名和新的邮箱git filter-branch --env-filter 'OLD_EMAIL="your-old-email@example.com"COR...

2020-01-22 16:18:13 1312

原创 Room,数据库框架学习三(数据库的版本管理,数据库字段增加数据的迁移)

升级数据库:1.首先要修改版本号2.迁移数据//.fallbackToDestructiveMigration() 不保留数据,迁移数据

2020-01-21 10:21:03 2105

原创 Room,数据库框架学习二(使用RecyclerView和databinding)

前言Room,数据库框架学习一上一篇中我们简单的搭建了一个用Room数据库框架完成的demo,这一篇我们将结合RecyclerView和databinding的形式实现数据的加载,进一步完成项目。关于项目的搭建可以参照前一篇文章。①首先把上一篇布局中的TextView去掉,换成RecyclerView,然后增加一个switch开关按钮。<?xml version="1.0" enco...

2020-01-20 09:58:46 2335 1

原创 Room,数据库框架学习一(Room框架搭建)

概念Room设计到的概念有以下几个:1、Entity : 对应数据库中的表,可以使用Entity注解将一个类变成数据库中的一张表结构。2、DAO : 全称Database Access Object,定义了对数据库中数据的读写等操作,DAO中可以使用SQL语句来操作数据库。3、RoomDatabase : 数据库持有类,用于创建数据库或者连接到数据库。内部包含DAO和Entity。Ent...

2020-01-19 10:26:29 2825 1

原创 LifeCycles(让组件感知生命周期,Activity进一步解耦)

首先在build.gradle文件中添加一下依赖android { dataBinding.enabled = true 。。。 } dependencies { implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0-rc02' 。。。}然后创建一个类继承V...

2020-01-16 17:00:10 366

原创 SavedStateHandle的使用,临时保存数据

当使用Savedstate保存数据之后,后台进程关闭,数据 也会得到保留首先在build.gradle文件中添加一下依赖android { dataBinding.enabled = true 。。。 } dependencies { implementation 'androidx.lifecycle:lifecycle-extens...

2020-01-15 13:50:19 8940 9

原创 DataBinding的使用,实现数据的解耦

DataBinding与控制层Controller和ViewModel及ViewGroup三者之间的关系。首先创建一个了类继承ViewModelpublic class MyViewModel extends ViewModel { private MutableLiveData<Integer> number; public MutableLiveData&l...

2020-01-14 16:39:57 325

原创 LiveData与MutableLiveData详解

前言LiveData与ViewMode是经常搭配在一起使用的,但是为了不太混乱,我还是拆分开来说明,此篇博客只讲解 LiveData 与 MutableLiveData的概念与使用方式(但是会涉及到ViewMode的部分代码).LiveData是干什么的?由于LiveData和MutableLiveData都是一个概念的东西(只是作用范围不同)所以就不重复解释了,直接理解LiveData就可...

2020-01-14 15:09:38 5671

原创 ViewModel的简单使用

首先创建一个类继承ViewModelpublic class MyViewModel extends ViewModel { public int num = 0;}然后在mainActivity中通过ViewModelProviders.of(this).get(MyViewModel.class)得到myviewmodel这个实例对象。 @Override prote...

2020-01-14 14:25:50 1860 3

原创 android 跳转到应用通知设置界面(Android 8.0以上)

boolean areNotificationsEnabled = mNotificationManagerCompat.areNotificationsEnabled(); if (!areNotificationsEnabled) { // Because the user took an action to create a notification...

2020-01-09 09:35:03 2823 1

原创 Android暗码启动应用程序

ProductInfo应用分析ProductInfo结构:①AndroidManifest.xml 为应用的 Java 软件包命名。软件包名称充当应用的唯一标识符。 描述应用的各个组件,包括构成应用的 Activity、服务、广播接收器和内容提供程序。它还为实现每个组件的类命名并发布其功能,例如它们可以处理的 Intent 消息。这些声明向 Android 系统告知有关组件以及可以启...

2020-01-07 14:16:28 905 1

原创 Android App多语言开发 github案例

关键代码解析/** * 如果不是英文、简体中文、繁体中文,默认返回简体中文 * * @return */ private Locale getLanguageLocale() { int languageType = CommSharedUtil.getInstance(mContext).getInt(MultiLanguageU...

2020-01-07 14:04:45 328

原创 广播接收者BroadcastReceiver启动Activity需要加FLAG_ACTIVITY_NEW_TASK

BroadcastReceiver启动Activity需要加FLAG_ACTIVITY_NEW_TASKBroadcastReceiver->onReceive的时候传进来的context是ReceiverRestrictedContext,然而ReceiverRestrictedContext的代码很简单,里面没有startActivity方法,而ReceiverRestrictedCo...

2020-01-07 11:49:39 706

adb常用命令.pdf

adb常用命令

2020-02-14

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除