simplepeng的博客

爱编程,爱折腾,Enjoy the Development

自定义全局异常捕获-SpiderMan

如何自定义一个全局异常捕获器-SpiderMan 一图胜前言 上图中,我们模拟了NullPointerException的发生,系统捕获了该异常,并用一个界面展示了出来。 如何实现 想要实现全局异常的捕获我们需要了解Thead中的一个内部接口UncaughtExceptionHandler,该接...

2019-01-09 14:56:10

阅读数 145

评论数 0

Android Studio找不到navigation标签的解决办法

最近在学习JetPack-Navigation组件的使用,但是在AS中能新建navigation的文件夹却不能新建navigation的xml文件,于是上Stack Overflow找了一下解决办法还真找到了。 解决办法 找到Settings(Mac是Preferences)中的Experimen...

2018-11-20 11:48:28

阅读数 348

评论数 0

MacOS 10.10 以上解决机械键盘按键无法识别

MacOS 10.10 以上解决机械键盘按键无法识别 题主的配置是 MacBook Pro ,系统10.13,机械键盘高斯87 以前装的黑苹果,系统10.10,机械键盘可以完美使用,但是现在用了MacBook Pro机械键盘确有几个键无法识别出来,就是按了没有反应,这几个可恶的键就是”Esc”...

2018-08-15 21:26:12

阅读数 3931

评论数 1

Android使用cmake+ndk输出原生Log

Android使用cmake+ndk输出原生Log 我们可以在c/cpp代码中用print函数输出log信息,但是这样在logcat并不会显示,好在Android已经给我提供了相应的方法解决这个问题:使用log.h头文件 开始 创建一个新的Android Studio的工程项目 勾选I...

2018-08-15 11:52:47

阅读数 1117

评论数 0

自定义SnackBar

前言 我浏览material.io网站时,从所谓的“Material Design 2”中找到一些新的组件,并发现Snackbar已经改变了,它不再占用整个屏幕长度,并且周围会有一个间距。 但我并没有从Support Library的alpha版本中找到它,所以我决定自己实现一下。 ...

2018-07-10 16:52:07

阅读数 835

评论数 0

Android架构组件—ViewModel

探索Android架构模式中ViewModel 前言 我们中的大多数人都遇到过旋转手机并且应用程序崩溃或UI失去状态的问题。 解决它最简单的办法就是配置Activity为potrait模式,但这是一个很糟糕的做法。 幸运的是,Android团队在2017年Google I / O期间发...

2018-06-28 11:59:00

阅读数 1357

评论数 0

Android架构组件—LiveData

Android架构组件—LiveData 前言 LiveData 是一个可以保存数据和观察数据变化的组件。他是被设计用来在ViewModel中保存数据, 但是同样也可以在应用的其他地方使用。 LiveData使用观察者模式监听数据的改变。这与RxJava的Observable非常类似,...

2018-06-28 11:58:30

阅读数 1246

评论数 0

Android架构组件(Architecture Components)介绍

Android架构组件(Architecture Components)介绍 为什么需要架构组件 之前有多少人是把所有代码都写在 Activity里面?几乎每个人都干过一次,对吧! Android 框架层面上允许自由的做到上面这点,但是后来我们意识到了这么做会带来的问题,这使得我...

2018-06-28 11:58:05

阅读数 848

评论数 0

使用Gradle和Kotlin组织Android的资源文件

使用Gradle和Kotlin组织Android的资源文件前言如果您已经开发了3年或4年的App应用程序,那么您可能会注意到资源文件夹是如何变得混乱不堪的。尽管大多数开发人员会专注于组织他们的Java / Kotlin文件(通过功能或屏幕),但资源文件通常无人看管。尝试减少混乱的一个尝试是使用文件...

2018-04-20 16:33:55

阅读数 400

评论数 0

Android Material Buttons

前言Google Material Design 的文档中提到:“当按钮被触摸时应该给与用户相应的反馈”,现在有了compat支持库实现这种效果将会非常简单。添加资源将最新的appcompat库添加到您的项目中dependencies { //replace X.X.X with the ...

2018-04-19 20:01:35

阅读数 974

评论数 0

约束布局(ConstraintLayout)1.1.0的新特性

约束布局(ConstraintLayout)1.1.0的新特性约束布局无疑是最适合构建响应式用户界面的布局-根据屏幕大小自动调整的布局。很高兴ConstraintLayout发布了1.1.0版本,1.1.0的这些新特性让ConstraintLayout能够做出更好的工作,并且不丢失原有的特性。圆形...

2018-04-19 12:56:29

阅读数 1017

评论数 3

优化嵌套的RecyclerView

优化嵌套的RecyclerView RecyclerView是ListView的更高级版本,它重用相同的视图以防止额外创建视图以提供平滑的滚动体验。RecyclerView通过保持视图池来实现这一点,该视图池包含不再可见并且可以回收的视图。 有时我们需要嵌套RecyclerView来创建一些布...

2018-04-10 10:39:51

阅读数 2508

评论数 3

从Java切换到Kotlin:5个令Android开发者兴奋的特征

1.命名参数 每个Java开发者的噩梦:大量的参数(例如在Cursors或Android中创建SQLite查询),它们的名字和方法定义中的顺序。如果没有文档或IDE帮助,您无法在Java中正确编写它 @Override public Loader<Cursor&...

2018-04-10 10:36:08

阅读数 313

评论数 0

ViewDragHelper简解

ViewDragHelper简解概述ViewDragHelper是一个用于编写自定义视图组的实用程序类。它提供了许多有用的操作和状态跟踪,允许用户在其父视图组中拖动和重新定位视图。(ps:来自官方注释)简单入门 创建ViewDragHelper的实例 回调相关触摸的方法 public class ...

2018-03-01 21:21:36

阅读数 53

评论数 0

关闭Android Studio自动折叠方法

关闭Android Studio自动折叠方法 方法自动折叠是这个样子 取消自动折叠,取消Method bodies的勾选即可

2017-12-29 00:06:55

阅读数 2024

评论数 0

Android架构组件Room的使用

Android架构组件Room的使用Room其实就是一个orm,抽象了SQLite的使用,但是它作为Android的亲儿子orm,并且原生支持LiveData和Rxjava嵌套使用,学习一下还是不错的。Room有3个主要组件 Database :数据库 Entity : 代表数据库一个表结构 Da...

2017-12-26 18:42:48

阅读数 10673

评论数 0

kotlin使用Parcelize注解简化Parcelable的书写

kotlin使用Parcelize注解简化Parcelable的书写Parcelize注解kotlin在1.1.4版本增加了对parcelable的支持Android扩展插件现在包含一个实现了Parcelable的自动生成器。在主构造函数中声明序列化的属性并添加一个@Parcelize注解,生成器...

2017-12-05 11:58:27

阅读数 2692

评论数 0

JNI 动态注册

public class MainActivity extends AppCompatActivity { // 加载so static { System.loadLibrary("native-lib"); } @Override ...

2017-11-11 14:50:23

阅读数 214

评论数 0

Vysor 破解

分析源代码可知软件在uglify-list.js文件内通过_il变量判断是否注册成功, 于是配置该变量为true,打开 uglify.js文件, 搜索 _il变量, 将 _il:Te.a() 替换为 _il:true, 然后重启chrome和vysor. 发现Vysory已经变为专业版了。ugli...

2017-03-13 15:44:12

阅读数 3796

评论数 0

RxJava常用操作符

常用操作符 http://reactivex.io/documentation/operators.html#alphabetical 创建操作用于创建Observable(被观察者)的操作符 Create(创建) — 通过调用观察者(observer)的方法从头开始创建一个Observabl...

2017-03-03 09:37:53

阅读数 1043

评论数 0

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