android日常开发
文章平均质量分 55
Pigerrrr
永远保持学习!
展开
-
SharedPreferences存储List和相互转化
SharedPreferences存储List和相互转化原创 2022-12-20 14:28:53 · 171 阅读 · 1 评论 -
android接口回调
android接口回调原创 2022-12-20 13:44:16 · 711 阅读 · 0 评论 -
MQTT android配置
MQTT android端实现原创 2022-09-25 19:24:39 · 1158 阅读 · 1 评论 -
Android性能优化
Android性能优化原创 2022-08-03 10:35:03 · 519 阅读 · 0 评论 -
android Recycleview的侧滑点击删除功能实现
android Recycleview的侧滑点击删除功能实现原创 2022-07-30 16:33:08 · 2015 阅读 · 1 评论 -
android内存泄漏
内存泄漏:其中一些表现形式1. 将 Context 或者 View 置为 static2. 未解注册各种 Listener3. 非静态 Handler 导致 Activity 泄漏(解决:持有弱应用)4.三方库使用 Context(把Activity.this传入到三方库,而三方库使用静态字段)内存泄漏检测:开源库神器:LeakCanary原理: 基于WeakReference和ReferenceQueue 实现的:1.当一个 Activity 需要被回收时,就将其包装到一个原创 2020-08-11 18:40:21 · 366 阅读 · 0 评论 -
android动态权限申请
如代码所示:public class MainActivity extends AppCompatActivity { private String[] permissionList = new String[]{ //申请的权限列表 Manifest.permission.READ_CONTACTS, Manifest.permission.READ_EXTERNAL_STORAGE }; @Override原创 2020-08-11 10:24:06 · 433 阅读 · 0 评论 -
组件化从0到100
组件化创建全过程小白都可以看懂的组件化创建全过程,下面是详细步骤:第一步:在主工程创建 library,比如可以先建一个 custom_base 的Lib,用来给 custom_ui做专门的数据处理,数据和视图分离,实现解耦右键主工程 --> New --> Module --> Android Librarycustom_base 这个Lib专门写一些基类,或者工具类,供其他UI模块调用第二步:创建UI模块,比如 custom_ui,也是上面的步骤,...原创 2020-07-23 21:29:22 · 159 阅读 · 0 评论 -
SharedPreferences存储HashMap和相互转化
public class MainActivity extends AppCompatActivity implements View.OnClickListener { private HashMap<String,PeopleBean> map; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); .原创 2020-07-22 22:28:05 · 1167 阅读 · 0 评论 -
Android比较常用的设计模式
单例模式饿汉式:线程安全class Singleton { //1,私有构造函数 private Singleton(){} //这里不需要分号 //2,创建本类对象 private static Singleton s = new Singleton(); //3,对外提供公共的访问方法 public static Singleton getI......原创 2020-03-24 16:54:05 · 255 阅读 · 0 评论 -
Rxjava浅析
这篇博文写的太好了:http://jcodecraeer.com/a/anzhuokaifa/androidkaifa/2015/1012/3572.html其他的有时间再跟新.原创 2016-11-03 18:00:39 · 301 阅读 · 0 评论 -
Android 5.0 6.0 7.0的新特性
Android 5.0、6.0、7.0新特性:RecyclerView (recyclerview-v7)CardView (cardview-v7) :卡片ToolBar (appcompat-v7):取代actionbar,实现自定义更加方便SwipeRefreshLayout (v4):Android自带的实现下拉刷新的原创 2017-07-26 10:27:48 · 843 阅读 · 0 评论 -
删除外置U盘文件
之前试过各种办法,加了很多权限都无法删除外置的U盘中的文件,后面加了一句话,完美解决: 只需要在中添加一句话就可以: android:sharedUserId="android.uid.system" ok!原创 2016-10-25 16:28:57 · 739 阅读 · 0 评论 -
AndroidMVP模式小Demo(登录功能实现)
MVP模式: 1,view 层 负责显示,里面会初始化Presenter2,Model层提供数据,常常有javabean类,并且不止一个接口3.Presenter :从Model层拿到数据,初始化view层接口,更改视图源码链接下载原创 2016-10-28 18:50:35 · 1691 阅读 · 0 评论 -
EventBus的理解和使用
EventBus的作用:保证应用程序各个部分之间高效的通信。之前我们是怎么处理的?(接口回调)定义一个接口,需要关注该事件的控件来实现这个接口。然后事件触发的地方来注册/取消注册这些对该事件感兴趣的控件。随着应用功能的增加,需要监听的事件越来越多,而越来越多的控件需要监听不同的事件,则导致越来越多的控件需要注册到各种事件管理器上,代码开始变得无法控制。于是我们使用Eve原创 2016-09-09 10:49:37 · 827 阅读 · 0 评论 -
TCP与UDP的区别,以及Http和Socket
TCP与UDP的区别 TCP:Transmission Control Protocol 传输控制协议 UDP:User Data Protocol 用户数据包协议TCP面向有链接的通信服务UDP面向无连接的通信服务TCP提供可靠的通信传输UDP不可靠,会丢包TCP保证数据顺序UDP不保证TCP数据无边原创 2016-11-21 15:50:51 · 860 阅读 · 0 评论 -
关于Rxjava
Blog给 Android 开发者的 RxJava 详解 -强烈推荐 扔物线的文章 讲解非常详细NotRxJava懒人专用指南 -这篇入门极力推荐,手把手,深入浅出教你实现一个简易的RxJava库,更好的理解RxJava的实现思路深入浅出RxJava(一:基础篇)深入浅出RxJava ( 二:操作符 )深入浅出RxJava ( 三--响应式的好处 )转载 2016-12-12 12:10:04 · 515 阅读 · 0 评论 -
aapt打包
原理图· aapt: androidapplication package tool,SDKAndroid打包流程1. 通过aapt工具将资源文件(res)、清单文件(AndroidManifest.xml)生成对应的R.java文件o 在项目的根目录下新建 gen目录,并且依次在gen目录下新建清单文件总包名对应的文件目录例如原创 2016-12-01 22:37:09 · 1496 阅读 · 0 评论 -
Android事件的分发
Android的事件分发流程是这样的,起点是Activity,然后通过dispatchTouchEvent方法一层一层的向下进行分发,当事件分发给ViewGroup的时候,ViewGroup还有个onInterceptTouchEvent可以决定是否拦截事件,拦截了就交给viewGroup的onTouchEvent,不拦截就分发下去,最后分发到底层view,如果底层view没有处理,就返回给上层ViewGroup的onTouchEvent,如果都没有处理,最后会返回给Activity的onTouchE原创 2016-09-09 14:46:49 · 495 阅读 · 0 评论 -
Android如何运用Android studio进行安卓APP内存泄漏的检测
内存泄露检测原创 2016-10-23 11:10:41 · 1628 阅读 · 2 评论 -
Activity生命周期
启动Activity: onCreate()—>onStart()—>onResume(),Activity进入运行状态。Activity退居后台: 当前Activity转到新的Activity界面或按Home键回到主屏: onPause()—>onStop(),进入停滞状态。Activity返回前台: onRestart()—>onStart()—>onResume(),再次回到运行状态。Act原创 2016-10-31 14:51:48 · 290 阅读 · 0 评论 -
Retrofit2的解析和运用
原文链接:http://www.jianshu.com/p/c1a3a881a144先贴一个地址,后续在写原创 2016-11-03 15:51:06 · 297 阅读 · 0 评论 -
安卓开发之路----转自任玉刚大神
安卓开发之路转载 2016-10-23 10:35:47 · 2005 阅读 · 0 评论 -
Binder机制(非常好理解)
Binder是一种进程间通信机制,用来实现不同进程之间的通信。Binder机制主要由四大块组成,分别是客户空间的client、server,serverManager,还有内核的Binder驱动。下面我先看下图,利于理解Binder内部工作机制:服务器端。一个Binder服务器端就是一个Binder类的对象。当创建一个Binder对象后,内部就会开启一个线程,这个线程用...原创 2016-09-04 19:57:30 · 4618 阅读 · 0 评论 -
Handler机制
1,子线程通过sendMessage发消息。mHandler相当于成员变量。mHandler.sendMessage(message);2,主线程通过handleMessage接收到消息,然后更改ui。其内部实现逻辑如下: 子线程使用handler发消息,主线程在有messQueue消息队列来接收消息,然后循环器Looper不停循环(通过......原创 2016-08-26 20:55:02 · 590 阅读 · 0 评论 -
Android自定义组合控件——简单明了
为了能让代码能够更多的复用,故使用组合控件。下面是我正在写的项目中用到的方法。1、先写要组合的一些需要的控件,将其封装到一个布局xml布局文件中。 android:layout_width="match_parent"...原创 2016-08-25 10:45:43 · 883 阅读 · 0 评论 -
Android应用开发性能优化完全分析-转载大神总结的.非常全面系统
目录:1.背景2.应用 UI 性能问题分析2-1 应用 UI 卡顿原理2-2 应用 UI 卡顿常见原因2-3 应用 UI 卡顿分析解决方法2-3-1 使用 HierarchyViewer 分析 UI 性能2-3-2 使用 GPU 过度绘制分析 UI 性能2-3-3 使用 GPU 呈现模式图及 FPS 考核 UI 性能2-3-4 使用 Lint 进行资源及冗余 U转载 2016-11-24 16:46:34 · 383 阅读 · 0 评论 -
内存泄露和内存溢出
内存泄露:memory leak是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄露危害可以忽略,但内存泄露堆积后果很严重,无论多少内存,迟早会被占光。1.将线程的内部类改为静态内部类.(非静态内部类会持有对外部类的引用,而静态内部类则不会).包括及时释放资源,static,cursor,IO2采用弱引用保存context引用(weakreference)原创 2016-11-24 15:56:56 · 339 阅读 · 0 评论 -
AsyncTask的使用以及Demo
AsyncTask 如何使用AsyncTask 用 于 处 理 异 步 任 务 , 该 类 是 一 个 抽 象 的 泛 型 类 。 类 的 签 名 如 下 : public abstract classAsyncTask。三种泛型类型分别代表“启动任务执行的输入参数”、“后台任务执行的进度”、“后台计算结果的类型”。在特定场合下,并不是所有类型都被使用,如果没有被使用,可以用转载 2016-11-24 18:10:42 · 329 阅读 · 0 评论 -
封装的Http请求(HttpURLConnection和okHttp)
封装的Http请求(HttpURLConnection和okHttp)原创 2017-03-31 15:36:46 · 1769 阅读 · 0 评论 -
手机号空格输入的EditText
这段时间碰到要输入手机号自动输入空格,网上也找了些例子,发现有各种问题,于是自己借鉴别人,自己写了一个原创 2017-06-14 16:05:48 · 473 阅读 · 0 评论 -
android安卓涵盖大多基础xml文件使用的介绍
android安卓涵盖大多基础xml文件使用的介绍原创 2017-06-27 15:18:03 · 499 阅读 · 0 评论 -
Android任务栈的四种模式和应用场景
通过Acitivty的xml标签来改变任务栈的默认行为在清单文件中使用android:launchMode="standard|singleInstance|singleTask|singleTop"来控制Acivity任务栈。任务栈是一种后进先出的结构。位于栈顶的Activity处于焦点状态,当按下back按钮的时候,栈内的Activity会一个一个的出栈,并且调用其onDest原创 2016-10-31 15:23:04 · 3731 阅读 · 0 评论 -
Eventbus注册异常:its super classes have no public methods with the @Subscribe annotation
Eventbus注册异常原创 2017-05-08 14:47:13 · 2146 阅读 · 0 评论 -
解决RecyclerView.getChildAt(Position)崩溃
问题描述: 程序中,屏幕可以获取到6个子view.当getChildAt() ,position为6或者为7的时候,程序崩溃,报空指针的异常. 实际上:getChildAt()这个方法,只能get到屏幕显示的部分.解决办法:只需要用当前的position减去屏幕显示的第一个View的position,得到真实的position即可:int[] firstV...原创 2017-05-15 10:12:24 · 8439 阅读 · 7 评论 -
RecyclerView的用法
RecyclerView的用法原创 2017-03-22 16:33:31 · 325 阅读 · 0 评论 -
保存图片到相册
直接上代码,复制粘贴吧!public static void saveImageToGallery(Context context, Bitmap bmp) { if (bmp == null){ return; } // 首先保存图片 File appDir = new File(Environment.getExternalSto原创 2017-02-23 15:11:50 · 396 阅读 · 0 评论 -
Json解析
自己手动解析:{"body" : {"mobile":"13714664734","email":"","icon":"","open_id":"f5994ced6530405ebc07f8fecd1beb12","country_code":"86","user_name":"13714664734","is_update_name":"0"},"code":"0","msg":"原创 2017-02-28 14:51:28 · 501 阅读 · 0 评论 -
安卓存储对象到本地
直接上代码:public class MainActivity extends AppCompatActivity{ private String mNum; private String mPw; private TextView mTv; private User mUser; @Override protected原创 2017-01-08 14:24:02 · 510 阅读 · 0 评论 -
可能是东半球最全的RxJava使用场景小结
转载自:http://blog.csdn.net/theone10211024/article/details/50435325一、Scheduler线程切换这种场景经常会在“后台线程取数据,主线程展示”的模式中看见[html] view plain copyObservable.just(1, 2, 3, 4)转载 2016-12-08 15:04:35 · 379 阅读 · 0 评论