android
文章平均质量分 63
我为摸鱼代盐
时间会给出答案
展开
-
《第一行代码》第三版p548~549ViewModel数据封装详细解析
在第一行代码第三版LiveData最后一块中读到的处理数据封装的方法,之前读过一遍没搞懂,现在思路清晰了,感觉能理解了,以下是个人见解首先,这段代码val counter: LiveData<Int> get() = _counter是看懂这一整个代码的第一个关键,书中没有提到kotlin中getter和setter的概念,因为kotlin为变量提供了默认实现,而如果需要覆盖掉原来的getter,那么就需要进行手动实现,也就是在变量下方写上get() = ...,请注意,原创 2021-10-03 17:22:56 · 219 阅读 · 0 评论 -
java.lang.NoClassDefFoundError: Failed resolution of: Lorg/apache/http/util/ByteArrayBuffer解决方案
解决方法:在AndroidManifest.xml的中加入以下代码:<uses-library android:name="org.apache.http.legacy" android:required="false"/>原因:org.apache.http.util.ByteArrayBuffer随版本更新而废弃,如果需要引入这个类,则需要引入org.apache.http.legacy这个包,看名字就知道这个包是专门存放以前的类或者废弃的类。网上我看了一下android:requir原创 2021-09-16 15:38:13 · 804 阅读 · 0 评论 -
cursor的使用方法以及浅层原理
SQLiteDataBase db;Cursor cursor = db.query(参数);if(cursor.moveToFirst){ do{ val param = cursor.getString(cursor.getColumnIndex("param")); }while(cursor.moveToNext)}cursor.close()首先需要通过query方法查找所需要的数据,query方法会返回一个Cursor对象,需要通过moveToFirst方法来判断是否数据原创 2021-09-01 20:19:51 · 1462 阅读 · 0 评论 -
Broadcast的一些注意事项
动态注册和静态注册的区别1.动态注册的广播永远要快于静态注册的广播,不管静态注册的优先级设置的多高,不管动态注册的优先级有多低2.动态注册广播不是常驻型广播,也就是说广播跟随activity的生命周期。注意: 在activity结束前,移除广播接收器静态注册是常驻型 ,也就是说当应用程序关闭后,如果有信息广播来,程序也会被系统调用自动运行3.在同一个优先级下,谁先启动的快,谁将先接收到广播注册广播的两种方式:动态注册,静态注册动态注册registerReceiver(receiver,原创 2021-08-31 21:34:06 · 147 阅读 · 0 评论 -
Fragment的简单用法
之前老是容易忘掉Fragment里面怎么findview,干脆写一篇博客,以后忘了回来再看getSupportFragmentManagerReturn the FragmentManager for interacting with fragments associated with this activity.返回 FragmentManager 以与与此Activity关联的Fragment进行交互。addToBackStackAdd this transaction to the b原创 2021-08-30 21:57:43 · 107 阅读 · 0 评论 -
对于Activity的一些理解
为什么onCreate方法叫做回调方法?回调方法就是不需要你去调用的方法,当达到条件的时候系统会去自动调用的方法,activity是由android系统管理的当activity创建的时候系统就会主动去调用这个activity的oncreate方法生命状态Active/Running:Activity处于活动状态,此时Activity处于栈顶,是可见状态,可与用户进行交互。Paused:当Activity失去焦点时,或被一个新的非全屏的Activity,或被一个透明的Activity放置在栈顶时,原创 2021-08-28 15:15:16 · 148 阅读 · 0 评论