自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 资源 (6)
  • 收藏
  • 关注

原创 DataBinding,让人又爱又恨的一个框架

简介刚开始学 DataBinding 的时候,并没有太多框架架构的意识,学了发现,这都啥跟啥,为什么要这么麻烦呢?于是就一直没有用上。后来在我真正领会了它的用法后,结合 MVVM 框架,发现用起来真的省事很多,它被人嫌弃的原因是因为有一定的门槛,而且错误提示不够友好,我在封装了 MVVMArchitecture 框架后,一直在公司内部推 DataBinding,希望大家用起来,但是事与愿违的是,你可以让大家用,但是不能期望大家用的好,这是很无奈的事情。本文就如何使用 DataBinding ,以及如何

2020-08-06 18:35:17 540 3

原创 MVVMArchitecture,一款可配置的 MVVM 框架

简介做了几年开发后,在 Android 领域我一直期望找到一种较为合理且易用的开发模式,从 MVC 到 MVP,再到现在的 MVVM,配合 Jetpack 套件,以及 Kotlin 和协程,还有 Rx 系列,我认为 Android 的开发范式已经成熟了,再通过 AS 和 Gradle 提供的动态引入代码的功能,完全可以封装一套开发框架,并尽可能提供定制化,基于基本的开发范式,通过配置文件来决定框架的内容。于是我开源了框架:MVVMArchitecture在开始之前,先来看一张 Google 推荐的架构

2020-07-23 15:52:02 374

原创 SVN Already locked - Clean Up

在提交的时候,突然就出现这个错误。网上的方法都没用。在进行Clean Up的时候,默认不勾选Break locks,手动选上,即可成功Clean Up。

2016-11-16 19:08:19 611

原创 The currently selected variant "debug" uses split APKs, but none of the 1 split apks are compatible.

AndroidStudio报错:The currently selected variant "debug" uses split APKs, but none of the 1 split apks are compatible with the current device with density "-1" and ABIs "".突然间就报这个错误,上午运行还好

2016-11-14 14:20:45 9824 4

转载 6.0.1 系统自带应用:时钟,源码编译问题

下载了Android 6.0.1系统源码后,我尝试编译时钟,在编译的过程中遇到了一个问题,AS报错如下:Error:(355, 50) 错误: 找不到符号符号:   变量 VISIBILITY_PUBLIC位置: 类 NotificationCompat可是整个项目并没有提示有问题,相应代码也可以找到变量,很奇怪为什么说找不到符号。后来在网上找了一些原因,有人说

2016-08-27 16:44:34 1026

原创 关于 CheckBox 控件 setChecked() 和 performClick() 方法的问题

1、场景:我需要通过Java代码设置CheckBox的状态和调用其监听的onClick方法。于是我这样做:checkBox.setChecked(true);checkBox.performClick();onClick方法倒是响应了,但是状态却没有改变,check的状态永远都是false,一时找不到什么原因。2、解决:后来通过实验发现,原来performClick就相当

2016-07-05 11:41:46 3963

原创 通过反射修改ViewPager最小滑动距离mTouchSlop

1、场景:在一些屏幕大DPI也大的设备上,比如镜面电视,使用ViewPager左右滑动会非常敏感,手指轻轻一动就划过去了,原因是因为系统的TouchSlop太小了。TouchSlop:系统能识别出被认为是滑动的最小距离,小于这个常量,系统不认为你在进行滑动。与设备有关。通过ViewConfigration.get(getContext()).getScaledTouchSl

2016-07-04 18:26:32 4183 1

原创 Mac中,Genymotion模拟器开启后,在AS无法看到设备的解决方法

打开Genymotion,Settings,ADB,勾选Use custom Android SDK tools,然后选择AS使用的SDK路径,重启模拟器即可。如何查看AS使用的SDK路径:按下Command+逗号键,或者Android Studio -> Preferences,搜索android sdk,就可以找到sdk的location。

2016-06-19 10:30:37 2961

原创 改变屏幕后,Activity、Fragment的生命周期变化

Activity:启动TestActivity:onCreateonStartonResumeonPostResumeonAttachedToWindow改变TestActivity屏幕方向:onPauseonSaveInstanceState(Bundle outState) // 在这里进行数据保存onStoponDestroyonCreateonS...

2016-02-19 17:44:11 1778

原创 IntentService

继承自Service独立线程,非UI线程执行完毕自动停止可多次启动,但只有一个实例,形成队列,一个一个的执行任务,并不会并行不适合绑定的Service在onHandleIntent方法中处理耗时任务通过广播给Activity发送消息

2016-02-18 17:13:40 409

转载 App Bar 点击返回按钮自动返回上一个指定的Activity

需求:从A界面去到B界面,点击B界面的App Bar返回按钮返回A界面,无需监听返回按钮,让系统自动处理。实现:1、首先在B界面设置显示App Bar的返回按钮:getSupportActionBar().setDisplayHomeAsUpEnabled(true);2、在AndroidManifest.xml中注册B界面的时候,声明其上一个Activit

2016-02-17 17:41:48 1256

原创 Notepad++找回自动保存缓存内容的文件

找回Notepad++自动缓存的文件

2015-11-13 10:35:19 70237 20

原创 Android ScrollView 嵌套 WebView,WebView无法加载图片,出现空白区域

去掉WebView的以下属性即可android:layerType

2015-10-09 16:52:27 1741

原创 当Android系统内存不足时,会回收后台运行应用的内存

1、前言当Android系统的运行内存不足时,会把运行在后台的应用杀掉,将所有已经存在的Activity都杀掉,当用户重新返回应用的时候,所有被杀掉的Activity都会被重建,而且应用会运行在一个全新的进程当中,所有的数据都被重置为初始状态。那么这个时候往往都会出现错误数据。2、案例:XX应用,在登录页初始化所有数据 --> 登录成功进入主页面--

2015-09-24 12:11:42 3678

原创 Android 开发 - 个人小结

1、前言一般来说,对于小公司而言,往往都是一个人负责整个Android的编码工作,甚至还要兼测试,更恐怖的连设计和后台也一起搞定了。本人所在公司所幸分的比较清楚,产品、后端、设计、开发、测试都有,算是比较齐全,但是彼此间的配合还是不太好。在开发一个App的过程中,在沟通上就是个蛋疼的问题,个人感觉没有一个主导人物来把控,每个过程的对接都会或大或小的出问题,尤其是产品不给力的情况下。本文

2015-09-23 09:57:11 1227

原创 AndroidStudio 1.3使用心得

使用AS也有一段时间了,现在已经到了离不开它的地步,相比较而言,AS比Eclipse实在是好用和强大太多了,当然,刚开始接触的时候,由于Eclipse中毒太深,一时缓不过,有时甚至都想放弃AS了,不过还好坚持下来了,总算是好事。AS目前最新版本是1.3.1,从1.3更新到1.3.1也很快,只要下载10M多就可以了,不得不说这和1.2的时候差别是很大的,我1.2的时候经常更新失败,不得已

2015-08-26 10:01:43 463

原创 Android 全局TextView设置

在styles.xml文件中,设置@android:color/black然后在Application或Activity中设置theme,即可设置全局字体TextView的颜色

2015-08-04 17:24:55 1149

原创 Android NDK 调用方法发生java.lang.UnsatisfiedLinkError

可以正常加载so库,在调用so库中的方法时,发生了错误:java.lang.UnsatisfiedLinkError: Native method not found: com.yyq.jni.TestJNI.init检查自己编写的cpp和生成的.h文件,都没有错误。后来发现原来在自己编写的cpp文件中,方法没有用extern "C" { }包含起来,应该把所有的方法都放入此{

2015-06-17 16:15:32 463

原创 关于Volley网络框架中文乱码的问题

问题描述:使用StringRequest这个类访问网络的时候,返回来的数据包含中文,出现了中文乱码,无论怎么改服务端的文件或是改项目编码,或是用gbk和utf-8去重新编码返回来的字符串,都无法解决编码问题。打开这个类的源码,看看他是如何编码。解决方案:打开StringRequest类的源码,处理编码的方法如下:@Override protected Respo

2015-05-14 13:01:44 876

原创 Android 操作以太网,监听网线插拔和以太网开关,设置以太网静态IP等。

在做机顶盒项目的时候,有个需求是这样的:1、当网线插上机顶盒的时候,apk要及时响应,比如显示网线已经插上。拔掉网线也要响应。2、当插上网线的时候,可以查看以太网当前的IP信息以及是否是静态IP等。3、如果是动态IP,可以设置成静态的,然后设置静态IP、网关等信息。项目完成后,就把以太网相关的抽出来了,现在放出来,顺便记录记录!apk需要放置到/

2015-01-20 21:37:52 12313 3

原创 Android 修改输入法的输入语言

Android原生系统中,默认的输入法是“Android键盘(AOSP)”,此输入法包括55种输入语言,具体有哪一些,去看看原生系统里的就知道了,目测没有中文(不知道为啥)。还有一种“Google语音输入”,包含78种输入语言,包括中文。如果安装了其他的输入法,其输入语言得看输入法自身的了,比如搜狗中文就只有中文一种输入语言。下面介绍如何操作输入法。0、取得

2015-01-19 22:05:31 7174

原创 Android 设置apk开机自启,启动后自动禁用

在做一个向导类apk的时候,有这样的需求:1、开机后第一个界面显示apk的界面2、apk退出后自动禁用,也就是说在桌面上找不到该apk,再次开机后也不再显示该apk界面。实现:1、在MainActivity的onCreate方法里加入:// 启动一次后将自己给禁用掉 PackageManager pm = getPackageManager(); Com

2015-01-19 16:18:38 6428 1

Android 操作以太网,监听网线插拔和以太网开关,设置以太网静态IP等

这个项目已经很老了,其实是从 Android 4.4.4 的系统 Settings 中 copy 出来的。 其实原理都是编译运行系统 App,然后弄出来自己想要的功能。如果有需要编译系统 App 的,可以看下我的专栏:https://xiaozhuanlan.com/system-app 付费产品,不喜勿购。 Android 操作以太网的项目,提供了监听网线插拔和以太网开关,设置以太网静态IP、网关、子网掩码、dns等。

2015-01-20

文件管理器源码

一个安卓软件:文件管理器的源码,给那些需要的人下载,来自李维勇主编的:Android任务驱动式教程的最后一个源码

2013-05-22

极品黑客教程

极品黑客教程

2013-05-06

50道编程题

50道编程题,适用于处于基础想往深入学习的童鞋,可以用c、java等语言编写。

2013-04-19

Eclipse快捷键

eclipse常用快捷键,方便java开发人员查看,熟练后可提高写代码的效率,希望可以给需要的人带来方便

2013-04-19

空空如也

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

TA关注的人

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