Talk is cheap, show me the fucking code.
Android在子线程中更新UI的方法汇总(共七种)
客户端登陆之后一般都会在本地持有某个cookie,在退出登录时将这个cookie清理掉。如果Request的body体中持有这个cookie,服务器就会认为客户端的用户处于登录状态。反之,就会认为用户没有登录。 假设用户一直处于登录状态,如果他关闭了应用,那么他的登录状态应该保存起来。这样的话,在他下次打开应用时,他的状态还是登录状态,不需要再次登录。 如何实现呢?很简单,将有效的cookie保存起来,需要的时候拿出来,塞进请求里面就ok了。
工作中经常会遇到从子线程发送消息给主线程,让主线程更新UI的操作,常见的有handler.sendMessage(Message),和handler.post(runnable)和handler.postDelayed(runnable, milliseconds);一直在使用这些方法,却不知道他们的原理,今天就来解释一下他们的原理。
严格来说来说不是类的懒加载,而是针对业务中的特殊需求实现的,让fragment在可见的时候再进行网络请求。 在viewpager+PagerFragentAdapter里面的Fragment里面,初次加载时,offset范围内的所有fragment的oncreateView方法都会执行,默认情况下,fragment原有的逻辑中,页面的初始化和网络请求都会触发,这就会导致初次进入时,即使在用户面前只展示了一个tab和fragment,但是却所有tab下页面的数据都请求了,会浪费用户流量。正确的做法是在用户打开fragment之后才请求数据。
开发中,我们经常要进行数据的传递,会使用到view.setTag()和view.getTag()方法,主要用在view的点击事件中,可以让数据跟着view走,这种方法很方便。一般情况下给view设置一个tag就够用了,某些情况下我们需要给一个view设置多个tag,在需要的时候再分别取出来,这就需要用到view.setTag()的一个重载方法view.setTag(int key,final Object Tag)了。
成员变量初始化的问题