安卓基础知识总结

来源:互联网 发布:好吃的蛋糕 知乎 编辑:程序博客网 时间:2024/05/16 17:00

安卓基础知识总结

1、 Android的四大组件是哪些,它们的作用?

  • Activity:Activity是Android程序与用户交互的窗口,是Android构造块中最基本的一种,它需要为保持各界面的状态,做很多持久化的事情,妥善管理生命周期以及一些跳转逻辑
  • service:后台服务于Activity,封装有一个完整的功能逻辑实现,接受上层指令,完成相关的事物,定义好需要接受的Intent提供同步和异步的接口
  • Content Provider:是Android提供的第三方应用数据的访问方案,可以派生Content Provider类,对外提供数据,可以像数据库一样进行选择排序,屏蔽内部数据的存储细节,向外提供统一的借口模型,大大简化上层应用,对数据的整合提供了更方便的途径
  • BroadCast Receiver:接受一种或者多种Intent作触发事件,接受相关消息,做一些简单处理,转换成一条Notification,统一了Android的事件广播模型

2、 请介绍下Android中常用的五种布局。

常用五种布局方式,分别是:FrameLayout(框架布局),LinearLayout (线性布局),AbsoluteLayout(绝对布局),RelativeLayout(相对布局),TableLayout(表格布局)。

  • FrameLayout:所有东西依次都放在左上角,会重叠,这个布局比较简单,也只能放一点比较简单的东西。
  • LinearLayout:线性布局,每一个LinearLayout里面又可分为垂直布局(androidrientation=”vertical”)和水平布局(androidrientation=”horizontal” )。当垂直布局时,每一行就只有一个元素,多个元素依次垂直往下;水平布局时,只有一行,每一个元素依次向右排列。
  • AbsoluteLayout:绝对布局用X,Y坐标来指定元素的位置,这种布局方式也比较简单,但是在屏幕旋转时,往往会出问题,而且多个元素的时候,计算比较麻烦。
  • RelativeLayout:相对布局可以理解为某一个元素为参照物,来定位的布局方式。主要属性有:相对于某一个元素android:layout_below android:layout_toLeftOf相对于父元素的地方android:layout_alignParentLeft, android:layout_alignParentRigh;
  • TableLayout:表格布局,每一个TableLayout里面有表格行TableRow,TableRow里面可以具体定义每一个元素。每一个布局都有自己适合的方式,这五个布局元素可以相互嵌套应用,做出美观的界面。

3、 android中的动画有哪几类,它们的特点和区别是什么

两种,一种是Tween动画、还有一种是Frame动画。

  • Tween动画,这种实现方式可以使视图组件移动、放大、缩小以及产生透明度的变化;另一种
  • Frame动画,传统的动画方法,通过顺序的播放排列好的图片来实现,类似电影。

4、 android 中有哪几种解析xml的类?官方推荐哪种?以及它们的原理和区别。

XML解析主要有三种方式,SAXDOMPULL

  • 在PC上开发我们使用Dom相对轻松些
  • 但一些性能敏感的数据库或手机上还是主要采用SAX方式,SAX读取是单向的,
    • 优点:不占内存空间、解析属性方便,
    • 缺点:对于套嵌多个分支来说处理不是很方便。
  • 而DOM方式会把整个XML文件加载到内存中去,这里提醒大家该方法在查找方面可以和XPath很好的结合如果数据量不是很大推荐使用,
  • PULL常常用在J2ME对于节点处理比较好,类似SAX方式,同样很节省内存,在J2ME中我们经常使用的KXML库来解析。

5、 ListView的优化方案

  • 如果自定义适配器,那么在getView方法中要考虑方法传进来的参数contentView是否为null,如果为null就创建contentView并返回,如果不为null则直接使用。在这个方法中尽可能少创建view。
  • 给contentView设置tag(setTag()),传入一个viewHolder对象,用于缓存要显示的数据,可以达到图像数据异步加载的效果。
  • 如果listview需要显示的item很多,就要考虑分页加载。比如一共要显示100条或者更多的时候,我们可以考虑先加载20条,等用户拉到列表底部的时候再去加载接下来的20条。

6、 Android的数据存储方式。

SharedPreferences存储数据文件存储数据SQLite数据库存储数据使用ContentProvider存储数据网络存储数据

SharedPreference,File, DataBase这三种方式分别对应的目录是/data/data/Package Name/Shared_Pref, /data/data/Package Name/files, /data/data/Package Name/database 。

1.使用SharedPreferences存储数据

首先说明SharedPreferences存储方式,它是 Android提供的用来存储一些简单配置信息的一种机制,例如:登录用户的用户名与密码。其采用了Map数据结构来存储数据,以键值的方式存储,可以简单的读取与写入,具体实例如下:

void ReadSharedPreferences(){String strName,strPassword;SharedPreferences   user = getSharedPreferences(“user_info”,0);strName = user.getString(“NAME”,””);strPassword = user getString(“PASSWORD”,””);}void WriteSharedPreferences(String strName,String strPassword){SharedPreferences   user = getSharedPreferences(“user_info”,0);uer.edit();user.putString(“NAME”, strName);user.putString(“PASSWORD” ,strPassword);user.commit();}
0 0
原创粉丝点击