安卓是由Andy Rubin创立的一个手机操作系统;后被谷歌收购,成为一个开放式的移动操作平台。简单点,就像我们说windows 是一个pc操作系统一样,它提供了一个平台可供各种电脑软件、系统的开发使用。
基于安卓平台的开发与任何应用于windows平台下的软件开发并无两样;同样UBD,成系统的公司会有专门的UI和后台人员;一个负责软件前台界面布局,一个负责后台业务逻辑,所以安卓应用的开发后台也大多利用java语言进行,前台无非就是使用安卓特有的控件、属性、类等。
下面是笔者初学安卓所做的总结。
1、首先因为安卓开发也是基于java环境的,所以首先还是进行JDK的安装。注意使用JDK1.5以上版本。
2、下载与安装安卓SDK
3、配置安卓SDK-tools路径环境变量
4、eclipse IDE安装,加载安卓ADT插件,该插件用于支持eclipseIDE进行安卓开发、调试【注意:SDK和ADT版本号一致】
1、有一台安卓手机便可以进行开发
2、如果不愿用安卓手机进行开发测试,则可借助安卓提供的虚拟手机——AVD(Android Virtual Device )或是安卓模拟器(Emulator)[位于SDK-tools目录下Emulator.exe]
TextView、EditView、Button……对于控件的创建,可通过activity类中doCreate 方法new一个控件对象,同时也可以在layout xml文件中添加控件标签进行,同时可通过标签设置控件长宽、字体颜色等基本属性。常用后者;
基本控件的使用和布局方式的选择同cs项目并无两样;加控件,设置属性,创建控件事件;选择不同布局方式或几种布局相互结合,实现用户满意的界面效果。这一系列操作都不陌生。
1、Activity
Activity是安卓应用中负责负责与用户交互的类。与开发java web中servlet类很相似,自己建立的Activity也需要继承Activity基类,同时在AndroidManifest.xml文件中【相当于web.xml文件】配置新建的Activity信息。
public class MainActivity extends ActionBarActivity { private Button startBtn=null; private Button endBtn=null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //根据id获取button对象 startBtn=(Button)findViewById(R.id.startBtn); //设置button对象的事件监听器,【监听器中触发操作方法体】 startBtn.setOnClickListener(new startLisener()); endBtn=(Button)findViewById(R.id.endBtn); endBtn.setOnClickListener(new endLisener()); } class startLisener implements OnClickListener { @Override public void onClick(View arg0) { //调用handler的post方法 handler.post(updateThread); } } class endLisener implements OnClickListener { @Override public void onClick(View arg0) { //将当前线程移出 handler.removeCallbacks(updateThread); } }
Intent是安卓应用内不同类间通讯的载体。也就是说他充当安卓应用数据交互的传递者角色。例如当需要启动一个Activity时,可调用startActivity(Intent intent)方法,传入的intent参数封装了需要启动的目标Activity信息。
3、Handler
Handler是安卓消息传递机制的事件处理,使用Handler主要是为了解决安卓应用多线程的问题。Handler的具体使用分为以下几个步骤:
1、创建handler对象
2、将要执行的操作写到线程对象的run方法中
//编写handler Handler handler=new Handler(); //匿名类 Runnable updateThread=new Runnable(){ @Override //线程要执行的操作,run方法 public void run() { System.out.print("updateThread"); handler.postDelayed(updateThread, 3000); } }; 3、在按钮的监听器onclick方法中调用handler的post方法,将要执行的线程对象添加到队列当中 class startLisener implements OnClickListener { @Override public void onClick(View arg0) { //调用handler的post方法 handler.post(updateThread); } } class endLisener implements OnClickListener { @Override public void onClick(View arg0) { handler.removeCallbacks(updateThread); }