1. Android的基本组件
   1.1 Activity
     1.1.1 Activity代表手机的一个屏幕
     1.1.2 一个Android程序由多个Activity组成,即:一个Android程序由多屏内容组成
     1.1.3 Activity相当于一个展板,本身没有可视的内容,你把画(View)贴到展板上就可以展示出来了
   1.2 Service
     1.2.1 不可见的组件
     1.2.2 在后台运行
     1.2.3 为其他组件提供后台服务
     1.2.4 监控其他组件的运行状态
     1.2.5 后台播放音乐
   1.3 BroadcastReceiver:广播消息监听器
     1.3.1 作用:用来监听广播,eg:收短信的广播    往手机推送消息
   1.4 ContentProvider:内容提供者
     1.4.1 帮助不同的应用程序间交换数据,eg:获取通讯录信息
   1.5 Intent和IntentFilter    意图
       Activity、Service、BroadcastReceiver之间通信的载体,传递数据
2. View和ViewGroup介绍
    View类似于swing中的JPanel,代表一个空白的矩形区域,Android应用中的绝大部分UI组件都继承于View或其子类
    View还一个重要的子类ViewGroup,它通常作为其它组件的[容器]使
    
    简单来讲View是所有控件的父控件,ViewGroup可以包含其它的View对象,并且是所有布局控件的父类
    Activity相当于一个展板,本身没有可视的内容,你把画(View)贴到展板上就可以展示出来了
    setContentView(view)    
 3. 自定义视图(onDraw)
   3.1 颜色四种设置方式
       canvas.drawColor(Color.RED);//系统颜色(Color.RED)
      canvas.drawColor(Color.rgb(100, 150, 200));//rgb
       canvas.drawColor(Color.argb(100, 100, 150, 200));//argb,其中第一参数为透明度
       canvas.drawColor(Color.parseColor("#44E21D"));//16进制
   3.2 画板背景
       canvas.drawColor(Color.BLUE)
   3.3 画笔设置
     3.3.1 实心或空心
           paint.setStyle(Style.FILL);//实心
           paint.setStyle(Style.STROKE);// 空心
     3.3.2 粗细
           paint.setStrokeWidth(10)
     3.3.3 抗锯齿
           paint.setAntiAlias(true); 
     3.3.4 颜色设置
           paint.setColor(Color.parseColor("#103864"));   
4. 画图形
   4.1 画圆
       canvas.drawCircle(200, 100, 100, paint)
   4.2 画矩形
       canvas.drawRect(0, 200, 200, 400, paint);
       canvas.drawRect(rect, paint);
       左上角、右下角
   4.3 画多边形(三角形)
     4.3.1 drawLine方式
     4.3.2 drawPath方式
           Path
             moveTo(float x, float y):将起始点设置到x,y点
             lineTo(float x, float y):从当前点绘制一条线段到x,y点
             reset():清除path设置的所有属性
             close():回到初始化形成封装的曲线
     4.3.3 如果画笔为实心,画线与Path方式的区别
           drawLine=空心,drawPath=实心
   4.5 画文字
       drawText()
       paint.setTextSize(50);// 设置文字大,单位为dp
   4.6 画图
       drawBitmap    位图
       Bitmap bitmap = BitmapFactory.decodeResource(getResources(),R.drawable.qq);
       注意事项:图片名不能是汉字或空格
 5. 什么时候要子类中通过super再调用父类的方法呢?(重要重要)
    如果父方法中有代码就要如此~如果父方法中有代码就要如此~如果父方法中有代码就要如此
    重要的事情说三遍,例如:onDraw可以不用再重新调用super.onDraw(),因为父方法中一行代码都没有
注1:其实最简单的办法就是不管三七二十一,都调用super.xxx()方法即可
   
 dp(密度,相当于width中的百分比)
 sp(密度,相当于width中的的数值xxx.px)
安卓工程目录
     模块
         manifests
             仅有一个文件,系统清单文件,相当于web.xml
         java
             放源文件
         res(放系统资源文件,一个很重要的的类R,自动生成,resource的缩写)
             drawable(放图片资源)
             layout(放布局文件)










