Android线程间交互(Java synchronized & Android Handler)

线程间交互(ITC,InterThread Communication)是多线程编程中一个很重要的内容。ITC涉及的问题有2个方面,其一是线程之间的同步互斥(Synchronization & Mutex),其二是线程之间数据内容的共享交换(Share & Exchange)。Android系统处理线程的同步互斥是使用Java提供的一套完整的同步互斥方法,使用synchronized关键字和一些方法实现;而Android系统提供的消息处理机制(android.os.Handler)可以很好的解决线程数据共享交换的问题,关于android.os.Handler的基本用法详见《Android中的Thread & HandlerThread & Handler》
继续阅读

Android Service全解(二)之 bindService

前面已经介绍了的start是开启Service的一种方式,绑定(bind)Service是开启Service的另一种方法,而且绑定Service几乎可以被认为是专门为IPC(进程间交互)准备的。绑定Serivce是通过Context.bindService()方法实现的,bindService和startService有一定的区别,首先就反应在生命周期上。bindService不会回调onStart()/onStartCommand()方法,而会回调onBind()方法;Service要停止绑定则需要要调用unbindService()方法,而不用stopService()或者stopSelf()方法。
继续阅读

Android中的Thread & HandlerThread & Handler

Android的应用体系是构建在Java上层的。

从Android中Thread(java.lang.Thread -> java.lang.Object)描述可以看出,Android的Thread没有对Java的Thread做任何封装,但是Android提供了一个继承自Thread的类HandlerThread(android.os.HandlerThread -> java.lang.Thread),这个类对Java的Thread做了很多便利Android系统的封装。
继续阅读

Android Service全解(一)之 startService

本系列文章的序介绍了Service的大概情况,本章详细介绍Service的启用运行方法。

运行Service的方法有2种,一种是使用startService(),另一种是使用bindService(),bindService()是一个比较复杂但非常有用的方法,关于bindService()的内容在这个系列的后面会详细讲解。
继续阅读

关于电子科技大学(UESTC)研修班

电子科技大学(UESTC,University of Electronic Science and Technology of China)研究生课程进修班(简称研修班或者9班,以下均称作9班)是每年都会招生的一年制进修学习(不能叫做研究生预科)的培养方式。

9班学校收取8000的学费,发以电子科大研修证,1年期电子科大一卡通(俗称饭卡),选择性的收取1200的住宿费,100押金+15手续费可以办理图书馆借书证(因为研修生的饭卡只能进图书馆,无法借阅图书)。个人档案不移交学校,且研修生没有学籍,意思就是研修生犯了事,和学校关系不大,所以在学校最好小心点。
继续阅读

Android Service全解(序)之 Service概述

Android中Service(android.app.Service -> android.content.ContextWrapper -> android.content.Context -> android.lang.Object)出现的目的是为了解决没有界面的程序运行而产生的,主要是为了做服务(Serve)的工作,但是有时候,Service是可以带有界面的,这个在以后的内容中会谈到如何给一个Service赋予界面的。Service相关的IPC(进程间通信,InterProcess Communication)也是Android开发中非常重要的部分,但是实现IPC也并不是一定要用到Service,其它情况和方法会在以后的内容中讲到。
继续阅读