摘要:
listView.setOnScrollListener(new OnScrollListener() {@Overridepublic void onScrollStateChanged(AbsListView view, int scrollState) {}@Overridepublic vo... 阅读全文
摘要:
实体类里的字段加上@Option(true),说明该字段不是必传项,可能会为空,;不加上@Option(true),说明该字段是必传项,gson保证该字段绝对不会为空; 阅读全文
摘要:
adb查看activity的堆栈信息adb shell dumpsys activity该命令可以看到当前运行的是哪个activity,运行的一些进程等看到运行的进程信息:ACTIVITY MANAGER RUNNING PROCESSES (dumpsys activity processes).... 阅读全文
摘要:
LinearLayout layout = (LinearLayout) mInflater.inflate( R.layout.cell_check_item, null); LinearLayout.LayoutParams param... 阅读全文
摘要:
Volley支持HTTPS,但是框架中默认没有加上去,可以修改一小部分源码来实现;一是重写Volley.javanewRequestQueueInDisk方法 调用第三个构造。又因为这三个构造最后调用的都是参数最多的那个所以也可以在第三个构造中直接默认生成SSLSocketFactory实例。二是在... 阅读全文
摘要:
等onCreate方法执行完了,我们定义的控件才会被度量(measure),所以我们在onCreate方法里面通过view.getHeight()获取控件的高度或者宽度肯定是0解决方案:1, int w = View.MeasureSpec.makeMeasureSpec(0, ... 阅读全文
摘要:
Android 程序框架设计 1、一些概念模式的定义:每个模式都描述了一个在我们的环境中不断出现的问题,然后描述了该问题的解决方案的核心。通过这种方式,你可以无数次地使用那些已有的解决方案,无需在重复相同的工作。什么是设计模式?设计模式是在某种特别的情况下,针对某种问题的某种典型、通用的解决方法。我们是需要适当了解并学习一些设计模式,在程序开发过程中,总是会涉及到一些框架设计,模块设计之类的东西,如果能很好理解并运行设计模式,你所设计的模块或框架将会要稳定得多,因为这些设计模式它们都是通用的解决方案,是经过实践经验了的。比如说,在程序里,可能会有通知模块,A模块的数据发生变化,B模块需要得到通 阅读全文