<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[shadow_of_maple的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/shadow_of_maple</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; shadow_of_maple]]></copyright><item><title><![CDATA[安卓学习笔记（四）数据存储]]></title><link>https://blog.youkuaiyun.com/shadow_of_maple/article/details/138637120</link><guid>https://blog.youkuaiyun.com/shadow_of_maple/article/details/138637120</guid><author>shadow_of_maple</author><pubDate>Fri, 10 May 2024 13:44:45 +0800</pubDate><description><![CDATA[1. 瞬时数据：存储在内存当中，有可能会因为程序关闭或其他原因导致内存被回收而丢失的数据。2. 数据持久化：将内存中的瞬时数据保存到存储设备中，保证即使在手机或计算机关机的情况下，这些数据仍然不会丢失。3. 数据状态转换：保存在内存中的数据是处于瞬时状态的，而保存在存储设备中的数据是处于持久状态的。持久化技术提供了一种机制，可以让数据在瞬时状态和持久状态之间进行转换。4. Android系统提供的3种持久化技术：文件存储、SharedPreferences存储以及数据库存储。文件存储。]]></description><category></category></item><item><title><![CDATA[安卓学习笔记（三）]]></title><link>https://blog.youkuaiyun.com/shadow_of_maple/article/details/138214287</link><guid>https://blog.youkuaiyun.com/shadow_of_maple/article/details/138214287</guid><author>shadow_of_maple</author><pubDate>Fri, 26 Apr 2024 12:36:14 +0800</pubDate><description><![CDATA[（4）  在防重复点击切面（SingleClickAspect）的例子中，切面的作用是在特定的连接点（如按钮点击事件）周围应用一段代码，以阻止短时间内的重复点击。（3）它们之间的关系在于，防重复点击注解（SingleClick）可以在代码中直接标记需要防止重复点击的视图，而防重复点击切面（SingleClickAspect）则是一种更加通用的解决方案，可以在切面中统一管理所有需要防止重复点击的操作，而不必在每个视图上添加注解。切面可以定义为包含一些点的集合（称为连接点）和在这些点上采取的操作（称为通知）。]]></description><category></category></item><item><title><![CDATA[安卓学习笔记（二） 两种语言粗阅读]]></title><link>https://blog.youkuaiyun.com/shadow_of_maple/article/details/137608538</link><guid>https://blog.youkuaiyun.com/shadow_of_maple/article/details/137608538</guid><author>shadow_of_maple</author><pubDate>Thu, 11 Apr 2024 20:03:58 +0800</pubDate><description><![CDATA[在 Java 中，通常情况下，如果方法需要访问对象的状态、需要被子类重写、或需要访问其他实例变量或方法，则应该将该方法定义为实例方法，而不使用 static 修饰符。： 通过伴生对象，可以在 Kotlin 类中创建类级别的成员，这些成员在类的实例化过程中只会初始化一次，并且可以直接通过类名访问，类似于 Java 中的静态成员。： 伴生对象常用于实现工厂方法模式，它可以包含一个或多个用于创建对象实例的方法，这些方法可以直接通过伴生对象访问，并且可以根据需要返回不同类型的对象实例。]]></description><category></category></item><item><title><![CDATA[安卓RecyclerView基本实现]]></title><link>https://blog.youkuaiyun.com/shadow_of_maple/article/details/137167706</link><guid>https://blog.youkuaiyun.com/shadow_of_maple/article/details/137167706</guid><author>shadow_of_maple</author><pubDate>Sat, 30 Mar 2024 11:26:04 +0800</pubDate><description><![CDATA[不过我下载的AndroidStudio似乎默认使用Jetpack Compose，一开始还是比较困惑的，以为ViewBinding也被弃用了，其实只需要去掉相应内容，再添加layout包就行了。（1）由于是跟着《第一行代码》进行实践，其中源码基本还是用的kotlin-android-extensions，所以直接改成ViewBinding比较方便，就暂时不用Jetpack Compose了。（4）在res包中新建layout包，在layout包中新建activity_main布局。]]></description><category></category></item><item><title><![CDATA[安卓Activity学习笔记]]></title><link>https://blog.youkuaiyun.com/shadow_of_maple/article/details/137145623</link><guid>https://blog.youkuaiyun.com/shadow_of_maple/article/details/137145623</guid><author>shadow_of_maple</author><pubDate>Fri, 29 Mar 2024 15:59:16 +0800</pubDate><description><![CDATA[首先调用activity_main.xml布局文件对应的Binding类ActivityMainBinding的inflate()函数去加载该布局，inflate()函数接收一个LayoutInflater参数，在Activity中是可以直接获取到的。接下来调用Binding类的getRoot()函数可以得到activity_main.xml中根元素的实例，调用getTextView()函数可以获得id为textView的元素实例。在Activity准备好与用户交互时调用，此时一定处于栈顶，是运行状态。]]></description><category></category></item></channel></rss>