安卓Android教程与源码zt

安卓Android教程与源码

 

  Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。尚未有统一中文名称,中国大陆地区较多人使用"安卓"或"安致"。Android操作系统最初由Andy Rubin开发,主要支持手机。2005年8月由Google收购注资。2007年11月,Google与84家硬件制造商、软件开发商及电信营运商组建开放手机联盟共同研发改良Android系统。随后Google以Apache开源许可证的授权方式,发布了Android的源代码。

  安卓Android是一个移动开发平台,包括Linux操作系统 Java中间件和一些关键服务与丰富的API。Linux kernl + dalvik JVM虚机机。

  安卓开发需要安卓SDK,使用Eclipse开发和相应插件。

  安卓开发之前,首先需要搞明白构建块,不但完成java代码,还有一些配置:

Activity

  编写安卓应用程序是从一个Activity开始。 Activities活动系列类似扑克牌,只能有一个是活动的,只能有一个是可见的,新的活动总是在最前面,类似windows的窗口概念。每个活动代表一个应用程序,类似MVC模式中Controller。正如Struts的Action必须配置XML一样,Activity类必须在AndroidManifest.xml中注册方可使用。

下面是Activity生命周期:

生命周期

Activity有三个状态:

  1. 活动的Activity:当它在屏幕前台时(位于当前任务堆栈的顶部),它是激活或运行状态。
  2. 暂停Activity:当它失去焦点但仍然对用户可见时,它处于暂停状态。
  3. 停止Activity:完全被另一个Activity覆盖时则处于停止状态。

Activity的相应按键和触屏两种事件:

  1. 键按下 :boolean onKeyDown(int keyCode, KeyEvent event) 
  2. 重复按键:boolean onKeyMultiple(int keyCode, int repeatCount, KeyEvent event)
  3. 长按键:boolean onKeyLongPress(int keyCode, KeyEvent event)
  4. 按键释放:boolean onKeyUp(int keyCode, KeyEvent event) 
  5. 触屏事件:boolean onTouchEvent(MotionEvent event)

事件的消费者是通过View的setOnXXXListener()

  1. OnClickListener 监听点按
  2. OnKeyListener 监听键按下
  3. OnCreateContextMenuListener
  4. OnLongClickListener 监听长按
  5. OnFocusChangeListener 
  6. OnTouchListener

View视图

用户界面是由View和ViewGroup对象构成。一个Activity可以包含几种这种界面组合:

view

实现只要继承android.view.View类。如下代码:

public class PKbestEventActivity extends Activity implements OnTouchListener {   
    public void onCreate(Bundle savedInstanceState) {   
        super.onCreate(savedInstanceState);   
    //在Activity中启动一个View视图界面 在屏幕上绘制View界面
        setContentView(R.layout.main);   
        TextView tv = (TextView) findViewById(R.id.tv); 
        tv.setOnTouchListener(this);   
    }   
    public boolean onTouch(View v, MotionEvent event) {   
     //处理消费touch事件。
        return false;   
    }   
}  

Intent意图

  Intent提供了一种通用的消息系统,相当于消息或事件,它允许在你的应用组件如Activity与其它的应用组件间传递Intent来执行动作和产生事件。比如如果要在两个Activity之间切换,实际效果是两个界面之间切换,:

Intent intent = new Intent();
intent.setClass(A.this, B.class);
startActivity(intent);//开始新的Activity
A.this.finish();//关闭A的Activity

Intent有显式和隐式区分。

安卓的应用组件有四种类型:

    1. Activity:最基本的模块,称之为"活动";控制视图、监听系统事件、启动其他的Activity、Service等
    2. ContentProvider:操作共享数据的标准组件。实现CRUD增删改查。
    3. Service:后台运行的"服务"程序, 通常用来播放媒体文件或检测设备状态等无需界面的任务,不能自己运行,需通过Activity或Context对象来启动: Context.startService() 和 Context.bindService()。
    4. BroadcastReceiver :对外部的事件做出响应的组件;没有界面,只能通过NotificationManager来通知用户事情发生了。既可在xml中注册, 也可在代码中用Context.registerReceiver()注册。
posted on 2014-04-21 22:09  麦兜布熊  阅读(161)  评论(0编辑  收藏  举报