小小笔记2

启动 Activity   

     启动startActivityintent)   startActivityForResultintentrequestCode);

启动 Service

     startServiceintent

     BindServiceintent

发送广播

sendBroadCastintent

反射在程序运行时动态发现类中的属性  发  动态的执行相关方法

    通用编程     框架编程

反射:  类名.class    类的对象.getClass();    Class.forName(“包名.类名”);

Activity组件对象 呈现view 与用户进行交互

Activity对象的启动模式 四个

Activity的亲族设置

Activity的模块化组件  Fragment

Activity对象在屏幕横竖切换是 会默认自动销毁然后重新创建  可以不让其横竖切换   加入允许横竖切换 可以不重建activity  configChanges

Activity对象的呈现形式可以是对话框

AdapterView

   ListView

   Spinner

   GridView

   AutoCompleteTextView

   ViewPager

        AdapterViewFlipper

InputControls:  Button EditText  CheckBox  RadioButton  DatePicker

MenusOptionMenu  ContextMenu  PopuMenu

      ActionBar   OptionMenu

DialogAlertDialog(提示对话框 警告对话框)

       DatePickerDialog TimePickerDialog

       ProgressDialog

       Activity Dialog   (修改Activity的主题)

Notification 

Toast

数据存储:DataStorage

   外部存储(外置sdcard):一般为共享数据

   内部存储(内置sdcard):一般为私有数据

       直接IO存储  偏好设置   SQLite存储

   静态读取

Android数据存储相关对象?

Environment  用于获得系统存储目录

Context   访问系统资源

I/O Object  读写数据

SharedPreferences(存储 Key-Value 类型)

SQLiteDataBase  存储媒体信息 联系人

RecyclerView

   可以再APP中创建复杂列表  不用在负责item的显示相关的功能  

      布局 绘制 数据绑定等都被分拆成不同的类进行管理  

   采用LayoutManager来处理Item的布局  

   采用的adapter 要继承RecyclerView.Adapter类  用来将数据和布局item进行绑定

   LayoutManager:布局管理器 设置view的位置  

   RecyclerView提供了三种内置的LayoutManager

      LinearLayoutManager先行布局横向或者纵向滑动列表

      GridLayoutManager 表格布局

      StaggeredGridLayoutManager流式布局

      当继承RecyclerView.LayoutManager来实现一个自定义的LayoutManager

   RecycleView默认开启添加和删除的动画

      通过RecyclerView.ItemAnimator类定制动画  通过RecyclerView.setItemAnimator()方法来使用

   RecyclerView.ViewHolder  承载Item视图的子布局

   RecyclerView.LayoutManager  负责Item视图的布局的显示管理

   RecyclerView.ItemDecoration  给每一项Item视图添加子View (可以画分割线)

   RecyclerView.ItemAnimator  负责处理数据添加或者删除时候的动画效果

可以再布局文件中引入RecyclerView  viewPager 一样 很麻烦的那种  

自定义适配器创建itemview  继承 RecyclerView.Adapter<>

   重写方法 onCreateVIewHolder  减少itemview的构建次数

   重写方法 onBindViewHolder  进行数据绑定

   重写方法getItemCount  得到数据的数量

StringBuffer 中的 append方法是同步的 

StringBuilder 中的 append 方法是不同步的

Vector 是同步的  ArrayList 不是同步的 

HashTable  是 同步的 HashMap是不同步的 

CollectionssynchronizedList()

CollectionssynchronizedMap()

ArrayList list=new ArrayList()

List syncList=CollectionssynchronizedListlist

Looper  不断地轮询消息队列中的message LooperPrepare()  为当前线程创建looper实例  并且与当前线程绑定在一起存入ThreadLocal

LoopermyLooper()   获取与当前线程绑定在一起的looper实例

Loop()开始轮询消息队列

工作线程在耗时任务执行完后 把消息对象交给handler   handler交给消息队列  通知looper轮询该消息队列  轮询的过程在主线程中完成

Handler 中的 HandlerMessage

handlerpostDelay方法向消息队列中添加延迟执行的任务

post 向消息队列中添加任务

你可能感兴趣的:(Android01)