以下是平时懒散的零碎记录,以后再往上加
1、如何将scrollview自动调节始终滑动到最底部
scrollTo方法可以调整view的显示位置。在需要的地方调用以下方法即可。scroll表示外层的view,inner表示内层的view,其余内容都在inner里。
注意,方法中开一个新线程是必要的。否则在数据更新导致换行时getMeasuredHeight方法并不是最新的高度。
public static void scrollToBottom(final View scroll, final View inner) {
Handler mHandler = new Handler();
mHandler.post(new Runnable() {
@Override
public void run() {
int offset = inner.getMeasuredHeight() - scroll.getHeight();
if (offset < 0) {
offset = 0;
}
scroll.scrollTo(0, offset);
}
});
}
2、在java中,如何四舍五入保留小数点x位?
- float temp = 0.6922224f;
- BigDecimal bd = new BigDecimal(temp);
- bd =bd.round(new MathContext(2));
- 结果:
System.out.println("bd:"+bd); bd = 0.69
- String parten = "#.#";
- DecimalFormat decimal = new DecimalFormat(parten);
- String str= decimal.format(temp);
- interval = Float.valueOf(str);
- 结果:
System.out.println(interval); interval = 0.7
显然这种方法关键的就是parten参数, #.##就是保留两位小数点并且四舍五入,这种方法返回的是字符串类型。
3、android数据库的管理
首先可以使用原始SQL语句,也可以使用andorid提供的方法,但是还可以使用方便操作数据库的框架LitePal,关于LitePal详细的讲解可以参考郭霖博客专家的博客。讲解很细致入微。
博客地址:http://blog.csdn.net/guolin_blog/article/details/40614197
LitePal下载地址:https://github.com/LitePalFramework/LitePal
4、intentservice和service最大的区别
Service是用于后台服务的,当应用程序被挂到后台的时候,保证应用某些组件仍然可以工作而引入了Service这个概念,那么这里面要强调的是Service不是独立的进程,也不是独立的线程,它是依赖于应用程序的主线程的,也就是说,在更多时候不建议在Service中编写耗时的逻辑和操作,否则会引起ANR。
那么我们当我们编写的耗时逻辑,不得不被service来管理的时候,就需要引入IntentService,IntentService是继承Service的,那么它包含了Service的全部特性,当然也包含service的生命周期,那么与service不同的是,IntentService在执行onCreate操作的时候,内部开了一个线程,去你执行你的耗时操作。
5、将工程作为libaray给其他工程调用,并且activity之间进行通信