Android
Simble、
这个作者很懒,什么都没留下…
展开
-
利用SharePreferences保存实体对象
1.使用场景Android中SharePreferences只能存储基本数据类型,如果要对某一模块的数据模型作统一的暂存处理时,可以通过IO操作将对象实体转为String类型后保存在SharePreferences中2.代码实现public class LocalCacheUtil { private static final String PREF_NAME_DEFAULT = "Loca原创 2017-06-19 16:10:04 · 741 阅读 · 0 评论 -
输入框输入限制(包括最大值限制与小数点位数限制)
Talk is cheap,show me your code.import android.text.InputFilter;import android.text.Spanned;import android.text.TextUtils;import java.util.regex.Matcher;import java.util.regex.Pattern;/** * ...原创 2018-08-24 12:54:24 · 3520 阅读 · 0 评论 -
Scroller机制原理解析
首先,以下所述关于Scroller所讲的滚动均表示View内容的滚动,注意,是内容,不是位置!什么叫做内容呢?比如说一个TextView,如果使用scrollTo(),那么移动的是里面的文字,而不是位置。位置的移动基本都是通过改变View本身的LayoutParams中的margin值来实现,比如早期的PullToRefreshListView就是通过手指的滑动在onMove()函数中连续的修改指...原创 2018-07-20 17:18:29 · 611 阅读 · 0 评论 -
Androd性能优化笔记
UI优化:设计布局时不要嵌套太多层,会造成过度绘制自定义View中onDraw()避免耗时操作,因为Android系统每16ms执行一次界面渲染尽量少使用background,也会造成过度绘制,如果父视图中已有同色背景,可移除子视图中不必要的背景优化方案 1.可使用ConstraintLayout解决布局多重嵌套的问题 2.可打开手机中开发者模式中的调试GPU过度渲染功能,红...原创 2018-07-05 15:25:38 · 268 阅读 · 0 评论 -
基于RxJava+Retrofit封装的网络框架
1.依赖库引入implementation 'io.reactivex.rxjava2:rxjava:2.1.7'implementation 'io.reactivex.rxjava2:rxandroid:2.0.1'implementation 'com.squareup.retrofit2:retrofit:2.3.0'implementation 'com.squareup.re...原创 2018-06-27 17:49:57 · 269 阅读 · 0 评论 -
Android MVP框架设计(1)
1.接口设计V:定义数据处理规范的接口public interface IHandler<T> { void onBefore(); //加载前 void setData(T data); //View层调用 void onSuccess(boolean isHaveData); //加载成功 void onFailure(int co...原创 2018-06-21 16:31:29 · 348 阅读 · 0 评论 -
解决APP启动时短暂黑屏的问题
原因:Window窗口背景已经加载,但视图绘制未完成导致,耗时操作并非主要原因解决方案:1. 为首页或启动页的Activity设置特定主体,新增windowDisablePreview属性设为true即可name="splashTheme" parent="android:Theme"> name="android:windowNoTitle">true n原创 2016-08-11 15:50:30 · 3444 阅读 · 0 评论 -
记录自己开发中踩过的一些坑
如题,进以此来记录日常开发中遇到的一些坑,近期抽空整理一下并长期更新~~原创 2017-06-19 16:21:38 · 1633 阅读 · 0 评论 -
Retrofit的简单封装使用
1.Retrofit的简单封装import java.io.IOException;import java.util.concurrent.TimeUnit;import okhttp3.Interceptor;import okhttp3.OkHttpClient;import okhttp3.Request;import okhttp3.Response;import retrofi原创 2017-09-30 12:37:06 · 460 阅读 · 0 评论 -
Android Studio导入外部项目
AndroidStudio导入外来项目时,修改如下配置可避免AS自动下载gradle包而无限加载:1.修改 Project\build.gradlede-dependencies { classpath ‘com.android.tools.build:gradle:2.3.2’} (2.3.2改为为自己AS版本号) 2.修改 Project\gradle\wrapper\gra原创 2017-09-30 11:50:08 · 1205 阅读 · 0 评论 -
Android6.0权限管理封装
import android.content.DialogInterface;import android.content.Intent;import android.content.pm.PackageManager;import android.net.Uri;import android.os.Build;import android.provider.Settings;impo...原创 2018-09-07 16:18:57 · 297 阅读 · 0 评论