- 博客(11)
- 收藏
- 关注
转载 [Android布局]在程序中设置android:gravity 和 android:layout_Gravity属性
在进行UI布局的时候,可能经常会用到 android:gravity 和 android:layout_Gravity 这两个属性。 关于这两个属性的区别,网上已经有很多人进行了说明,这边再简单说一下。 (资料来自网络) LinearLayout有两个非常相似的属性: android:gravity与android:layo
2014-03-27 21:37:36
595
转载 java synchronized详解
记下来,很重要。 Java语言的关键字,当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码。 一、当两个并发线程访问同一个对象object中的这个synchronized(this)同步代码块时,一个时间内只能有一个线程得到执行。另一个线程必须等待当前线程执行完这个代码块以后才能执行该代码块。 二、然而,当一个线程访问object的
2014-03-27 13:23:19
593
转载 贫血模型和充血模型
Martin Fowler很早以前就写过一篇文章,题目叫"贫血模型"。文章里面批判贫血的领域模型是不够优雅、不够OO的,提倡使用充血的领域模型。在Java世界里这是一直争论的话题。到底什么是贫血什么是充血呢? 贫血模型:是指领域对象里只有get和set方法,或者包含少量的CRUD方法,所有的业务逻辑都不包含在内而是放在Business Logic层。 优点是系统的层次结构清楚,各层
2014-03-24 15:39:32
665
原创 [设计模式]简单工厂模式
以一个最简单的例子来引出简单工厂模式: 某一天你需要写一个JAVA控制台的计算器,要求能够输入两个数和运算符号,得到结果,我想这个时候很多人的第一反应代码是: public static void main(String[] args) { double number1; double number2; String option; Scanner s = new Sc
2014-03-24 13:11:38
49
原创 [android基础]getContentResolver()
ContentProvider-----数据提供给第三方应用程序使用时使用 因为在Android系统里面,数据库是私有的。一般情况下外部应用程序是没有权限读取其他应用程序的数据。如果你想公开你自己的数据,你有两个选择:你可以创建你自己的内容提供器(一个ContentProvider子类)或者你可以给已有的提供器添加数据-如果存在一个控制同样类型数据的内容提供器且你拥有写的权限。 查询数据
2014-03-21 10:50:43
1062
原创 [android基础]在什么时候使用startService 或 bindService 或 同时使用startService 和 bindService
如果你只是想要启动一个后台服务长期进行某项任务那么使用 startService 便可以了。 如果你想要与正在运行的 Service 取得联系,那么有两种方法,一种是使用 broadcast ,另外是使用 bindService ,前者的缺点是如果交流较为频繁,容易造成性能上的问题,并且 BroadcastReceiver 本身执行代码的时间是很短的(也许执行到一半,后面的代码便不会执行),而后
2014-03-20 13:57:32
540
原创 [android基础]Service和Thread的区别
1). Thread:Thread 是程序执行的最小单元,它是分配CPU的基本单位。可以用 Thread 来执行一些异步的操作。 2). Service:Service 是android的一种机制,当它运行的时候如果是Local Service,那么对应的 Service 是运行在主进程的 main 线程上的。如:onCreate,onStart 这些函数在被系统调用的时候都是在主进程的 m
2014-03-20 13:56:15
442
原创 [android基础]Service生命周期全解
onCreate onStart onDestroy onBind 被启动的服务的生命周期:如果一个Service被某个activity调用Context.startService方法启动,那么不管是否有activity使用bindService绑定或unbindService解除绑定到该Service,该Service都在后台运行。如果一个Service被startServi
2014-03-20 13:43:08
482
原创 [Java]无脑学会Java的Timer的使用
public static void main(String[] args) { test1(); //2秒后执行 test2(); //2秒后循环执行 } public static void test1(){ Timer timer = new Timer(); timer.schedule(n
2014-03-20 13:40:13
471
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人