自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 Rxjava2+room进行数据库操作使用map进行数据转换的时候会导致其他的观察者收到被观察者的通知

我使用Observable或者Flowable进行的话都会导致其他观察者的onNext方法收到消息,从而进行执行,解决办法改用Single,具体原因不详。纯属记录,有了解的小伙伴望告知...

2019-07-10 19:52:22 482 1

原创 ROOM使用心得记录

如何查看room生成的SQL语句room只有在执行插入操作的时候才会创建表,要不然不会建立表的

2019-06-27 10:03:50 1351

原创 关于room数据库升级出现的igration didn't properly handle user_table(com.example.roomdemo.bean.User).的错误

错误原因` java.lang.IllegalStateException: Migration didn’t properly handle user_table(com.example.roomdemo.bean.User). Expected:TableInfo{name='user_table', columns={userAge=Column{name='userAge', t...

2019-06-26 00:20:31 1430

原创 使用Gson解析Okhttp3返回的结果报错:Exception: closed

报错原因:原因分析:1.我们通过response.body() 得到 ResponseBody 对象(其是一个抽象类,在此我们不需要关心具体的实现类),然后调用 ResponseBody 的 string() 方法得到响应体的内容。分析后 body() 方法没有问题,我们往下看 string() 方法:public final String string() throws IOExcep...

2019-06-24 14:53:15 1285

原创 Android获取当前年月日的时候月份需要+1

2019-05-29 16:07:22 2203

原创 使用ROOM无法查看到数据库表结构原因分析

使用room生成的数据库文件有三个:.db文件、.db-shm文件、.db-wal文件。db-wal:从3.7.0版本开始,SQLite支持一种新的事务控制机制,称为“写前日志”或“WAL”。当数据库处于WAL模式时,到该数据库的所有连接都必须使用WAL。特定的数据库将使用回滚日志或WAL,但不能同时使用两者。WAL始终位于与数据库文件相同的目录中,并且具有与数据库文件相同的名称,但是附加了...

2019-05-29 15:36:25 3147 6

原创 AndroidStudio设置自动导包和删除没有用到的包

2019-05-28 19:29:07 163

原创 AndroidStudio多行注释快捷键

2019-05-28 19:21:23 6121

原创 AndroidStudio更新3.0的需要做的

记载自己的AndroidStudio升级之后的操作

2018-09-03 16:36:17 226

原创 动态代理通用模式

动态代理Subject.javapublic interface Subject{ void doSomething(String str);}RealSubject.javapublic class RealSubject implements Subject{ @Override public void doSomething(Stri

2018-01-18 11:30:46 160 2

原创 模板模式

1.建立一个抽象模板类public abstract class HummerModel { protected abstract void start(); protected abstract void stop(); protected abstract void alarm(); protected abstract void

2017-12-23 15:36:51 115

原创 抽象工厂模式

1.创建产品接口(所有产品的特性都在)public interface Human { public void getColor(); public void talk(); public void getSex();}2.创建抽象的产品类,实现产品接口(某一款产品的共性)public abstract class AbstractBlackHuman implement

2017-12-21 11:59:40 87

原创 工厂模式

标准代码 1.先建立一个抽象工厂类public abstract class AbstarctFactory { public abstract <T extends AbstractProduct> T createProduct(Class<T> c);}2.建立一个抽象产品类public abstract class AbstractProduct { //产品类的公共方法

2017-12-20 18:26:10 98

原创 单例设计模式

单例设计模式标准单例public class Singleton{ private static final Singleton singleton = new Singleton(); private Singleton(){ } public static Singleton getSingleton(){ return singleton; }

2017-12-13 10:48:50 95

原创 六大设计原则

六大设计原则1. 单一职责原则SRP(Single Responsibility Principle)定义:应该有且仅有一个原因引起类的变更RBAC: Role-Based Access Control基于角色的访问控制建议:对于单一职责,接口一定要做到单一职责,类的设计尽量做到只有一个原因引起变化优点:①类的复杂性降低②可读性提高③可维护性提高④变更引起的风险降低2. 里氏替换原则LSP(

2017-12-13 10:25:57 161

原创 Git时间

git init //创建项目仓库git add . //添加文件git commit -m "First Commit" //提交git branch version1.0 //创建一个名字为version1.0的分支git checkout version1.0 //切换到version1.0分支git checkout master //切换到master分支git merge

2017-06-29 17:12:59 292

原创 Android获取图片路径

Android4.4及以上获取图片使用以下方法 @TargetApi(19) private void handleImageOnKitKat(Intent data){ Log.e("handleImageOnKitKat", "handleImageOnKitKat: " ); String imagePath = null; Uri ur

2017-06-27 17:20:39 2495

原创 Notification通知栏的基本使用

public class MainActivity extends AppCompatActivity { Intent intent = new Intent(MainActivity.this,NotificationActivity.class); PendingIntent pi = PendingIntent.getActivity(MainActivit

2017-06-27 15:16:09 243

原创 Windows的Git的基本使用

1.在所在目录打开Git Bash,然后执行git init命令,创建项目仓库 2.使用git add .命令对文件进行添加;(注意,我们可以通过修改.gitignore文件进行控制我们要添加的文件,具体操作请看第8点) 3.使用git commit -m "First Commit"进行提交,双引号中的内容是本次提交的描述 4.可以使用git status查看修改情况,如果想查看修改内容的话

2017-06-27 10:57:09 279

原创 内容提供器访问Android数据库时候必须版本对应一致

public class DatabaseProvider extends ContentProvider { public static UriMatcher uriMatcher; private MyDatabaseHelper databaseHelper; static { uriMatcher = new UriMatcher(UriMatcher.N

2017-06-27 10:12:58 224

原创 关于Android6.0运行时权限处理

关于Android6.0运行时权限处理 if (ContextCompat.checkSelfPermission(MainActivity.this, Manifest.permission.CALL_PHONE)!= PackageManager.PERMISSION_GRANTED){ ActivityCompat.requestPermissions(MainA

2017-06-24 10:33:04 290

空空如也

空空如也

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

TA关注的人

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