代码改变世界

随笔分类 -  Android

Kotlin委托属性(1)

2024-01-06 09:40 by ttylinux, 82 阅读, 收藏, 编辑
摘要: 在Kotlin中,委托属性(Delegated Properties)是一种强大的语言特性,允许你将属性的 getter 和 setter 方法的实现委托给其他对象。这使得你能够通过委托来重用代码、将属性的行为解耦,并实现一些通用的模式。下面是一些关键概念和用法: class Example { v 阅读全文

android mvvm实例解析

2023-08-04 22:53 by ttylinux, 710 阅读, 收藏, 编辑
摘要: MVVM架构,将整个应用分为三层,View层,VM层,Model层。其中View层单向引用VM层,VM层单向引用Model层。如上图。 单向引用,而非双向引用,这是MVVM与MVP最大的区别。View层,只是单向引用VM层,VM层不需要引用View层,但是却可以 更新View层。这是通过VM层的观察 阅读全文

BasicSample项目说明

2023-07-30 11:31 by ttylinux, 14 阅读, 收藏, 编辑
摘要: 整个示例项目,两个Fragment,ProductListFragment和ProductFragment,一个MainActivity。在MainActivity里面展示的是ProductListFragment,点击每个Item, 会进入相应的ProductFragment。 相关技术点说明: 阅读全文

SavedStateHandle的介绍----ViewModel不具备保存状态数据的功能

2023-07-16 18:11 by ttylinux, 227 阅读, 收藏, 编辑
摘要: LiveData本身不能在进程销毁中存活,当内存不足时,Activity被系统杀死,ViewModel本身也会被销毁。 为了保存LiveData的数据,使用SavedStateHandle。 事故场景: 进程销毁后,重新去通过ViewModel去获取LiveData数据,获取到的数据是null。 这 阅读全文

Transform LiveData

2023-07-15 18:20 by ttylinux, 42 阅读, 收藏, 编辑
摘要: 查询资料的其中一个场景: 创建一个回调函数,当查询后台的时候,后台有结果了,回调对应的回调函数,并将结果保存到LiveData中。 public class DataModel { ... public MutableLiveData<List<Repo>> searchRepo(String qu 阅读全文

android架构组件Lifecycle

2023-07-08 22:15 by ttylinux, 22 阅读, 收藏, 编辑
摘要: Lifecycle 组件指的是 android.arch.lifecycle 包下提供的各种类与接口,可以让开发者构建能感知其他组件(主要指Activity 、Fragment)生命周期(lifecycle-aware)的类。 在android开发的过程中,我们常常需要让一些操作能够感知Activi 阅读全文

Android架构组件LiveData

2023-07-08 22:04 by ttylinux, 156 阅读, 收藏, 编辑
摘要: LiveData LiveData是基于观察者模式创建的,其中,LiveData是被观察者,观察者通过注册方法,监听被观察者的数据变化。LiveData在数据发生变化的时候,会通知观察者。 LiveData是一个容器,存放数据的容器,它的数据变化可以被监听,也就是LiveData是一个被观察者,如下 阅读全文

打瞌睡的一周

2017-11-25 17:31 by ttylinux, 265 阅读, 收藏, 编辑
摘要: 这一周,熟悉了Camera摄像头的各种专门的领域知识。 阅读全文

android安全技术技能清单

2017-07-18 20:30 by ttylinux, 344 阅读, 收藏, 编辑
摘要: 大部分android apk都是在裸奔。大部分android程序员,有一些懂得代码混淆,然而,这东西也不靠谱。除去第三方提供的服务的服务的话,大部分android apk就是在裸奔。不过,使用第三方的安全服务,把自己的安全交给别人,那也说明,这个公司是一个小公司。 android安全技术,大有可为。 阅读全文

Callable,Future,FutureTask

2017-07-16 10:05 by ttylinux, 234 阅读, 收藏, 编辑
摘要: 1.概念定义 2.实现例子 3.总结 1.概念定义 1.Callable Callable是一个接口,效果类似Runnable接口。实现该接口,然后,耗时操作在call()方法中执行。与Runnable接口不同的是,call方法需要返回执行的结果。 public interface Callable 阅读全文

AsyncTask源码解析

2017-07-15 11:40 by ttylinux, 186 阅读, 收藏, 编辑
摘要: 本文分为以下几部分: 1.AsyncTask的使用介绍 2.AsyncTask的实现逻辑 3.其它牵涉到的概念 1.AsyncTask的使用 class DownloadTask extends AsyncTask<Void, Integer, Boolean> { @Override protec 阅读全文

android launcher source code解析

2015-08-15 09:32 by ttylinux, 217 阅读, 收藏, 编辑
摘要: 待续 阅读全文

从零开始开发一款app,所想到的

2015-06-06 18:11 by ttylinux, 269 阅读, 收藏, 编辑
摘要: 我在知乎上看到这个问题http://www.zhihu.com/question/27645587。我在阅读了各位大牛的答案后,再加上自己的思考,就有了这篇文章的内容。从零开始开发一款app,要做这些事情:1.确定编码规范---Code Style。这个可以直接参考规范https://google-... 阅读全文

获取数据源数据的实现---Architecting Android

2015-05-31 16:32 by ttylinux, 409 阅读, 收藏, 编辑
摘要: UserRepository,这个接口,描述了Repository提供给用户的功能就是getUsers,getUser(ID)。用户只管使用,其它细节无需理会。/*** Interface that represents a Repository for getting {@link User} r... 阅读全文

例子Architecting Android…The clean way?----代码分析

2015-05-30 21:55 by ttylinux, 372 阅读, 收藏, 编辑
摘要: Presention层:整个应用启动的时候,就执行依赖的初始化。编译项目之后,Dagger依赖框架使用ApplicationComponent生成一个DaggerApplicationCOmponent。1. 首先进行依赖的生成在Application中,调用initializeInjector()... 阅读全文

函数式编程--响应式编程 ---android应用例子

2015-05-28 21:21 by ttylinux, 1052 阅读, 收藏, 编辑
摘要: RxJava implements this operator ascreate.It is good practice to check the observer’sisUnsubscribedstate from within the function you pass tocreateso t... 阅读全文

一个App架构例子分析--UI层使用MVP模式;各层之间使用Otto实现通信

2015-05-17 10:42 by ttylinux, 1023 阅读, 收藏, 编辑
摘要: 一、这个App整体的架构划分:分为四大模块:1.app模块2.common模块3.domain模块4.model模块app模块的依赖:dependencies { compile fileTree(dir: 'libs', include: ['*.jar'])compile project(':d... 阅读全文

MVP应用在android app上

2015-05-06 21:34 by ttylinux, 508 阅读, 收藏, 编辑
摘要: 使用MVP模式来解耦activity中业务代码和界面代码。在activity中,将其中的业务抽象到presenter层;将其中的界面代码抽象到View层。 MVP模式: 一个软件被划分成三层,View层,Presenter层,Model层。 View层的职责是展示界面,... 阅读全文

Android中Handler导致的内存泄露

2015-01-29 08:00 by ttylinux, 311 阅读, 收藏, 编辑
摘要: http://www.androiddesignpatterns.com/2013/01/inner-class-handler-memory-leak.htmlConsider the following code:123456789public class SampleActivity exte... 阅读全文

Android蓝牙通信总结

2014-12-16 14:58 by ttylinux, 1422 阅读, 收藏, 编辑
摘要: 这篇文章要达到的目标:1.介绍在Android系统上实现蓝牙通信的过程中涉及到的概念。2.在android系统上实现蓝牙通信的步骤。3.在代码实现上的考虑。4.例子代码实现(手持设备和蓝牙串口设备通信)。1.介绍在Android系统上实现蓝牙通信的过程中使用到的类BluetoothAdapterRe... 阅读全文