安卓个人总结答辩

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据库(大作业负责模块)
历史记录功能
2
收藏夹功能
数据存储
3
数据库操作
• 历史记录存储的数据库是用手动建库得到 的
• • • • • • • • • • • • • public class HistoryBean { public static final String ID = "_id"; public static final String URL = "url"; public static final String TIME = "time"; public static final String NAME = "name"; 通过指令对得到的数据进行添加,查询,删除的操作 实现对表的创建、更新、变更列名操作 public class SQLiteHelper extends SQLiteOpenHelper { public static final String DB_NAME = "historyDB"; public static final String TB_NAME = "historyTB"; public SQLiteHelper(Context context) { super(context, DB_NAME, null, 1); }
当检测与前一次创建数据库版本不一样时,先删除表再创建新表 @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { db.execSQL("DROP TABLE IF EXISTS " + TB_NAME); onCreate(db); }
• • • • •
FrameLayout:帧布局,左上角只显示一个组件。 LinearLayout:线性布局,分为水平和垂直两种,中
能进行单行布局。
TableLayout:表格布局。其中TableRow代表一行,
TableRow的每一个视图组件代表一个单元格。
AbsoluteLayout:绝对布局,坐标轴的方式,左上
Android开发
个人总结答辩
目录
Android框架 Android系统的认识和总结 大作业项目任务介绍
对Android开发学习的总结 对Android开发的未来规划
Android框架图
Android框架图简介
• Android体系结构框架图是Google关方给出的一个体系结构图,它主 要被分成四层,最下层是Linux的核心,Android的整个操作系统都是基 于这个Linux的核心的,它主要包括一些驱动程序如:显示器,照相 机,闪存的驱动,以及电源管理,就是说Linux提供是操作系统的最 核心、最基础的功能;在Linux的核心之上有一些Libraries,主要是一 些程序包,它们一般都是用C/C++编写的,主要包括一些我们比较熟 悉的OPENGL是3D开发的一个API(应用程序编程接口),SQLite是 一个关系DB,WebKit是一个开源的浏览的内核,Media Framework 是操作媒体的框架等等,这些功能都是用C/C++写的封装好的,在这 层同时还有一个Android运行环境,它包括一个核心包,主要是JAVA 常见的类库(I/O),还有一个Google自己开发的JAVA虚拟机,这个 虚拟机是针对于手机设备格外优化的;在这层之上是Application Framework (应用程序框架),它提供了一些手机开发最基本的API; 我们开发时主要就是真对这个应用程序进行开发的;在这层之上是 Applications(应用程序层),我们主要开发的就是应用程序层,它通过 向下调用Application Framework(应用程序框架)(这部分代码主要就 是用JAVA编写的)之后在向下调用Libraries以及基于Android运行环 境来运行,最后调用最底层Linux操作系统来完成和硬件进行交互的 过程。
大作业——简易浏览器
• 开发背景 • 浏览器功能 • 功能结构图 • 所负责的模块及内容
1
项目背景
• 浏览器是个显示网页服务器或档案系 统内的文件,并让用户与这些文件互 动的一种软件。它用来显示在万维网 或局部局域网络等内的文字、影像及 其他资讯。这些文字或影像,可以是 连接其他网址的超链接,用户可迅速 及轻易地浏览各种资讯。
角是(0,0)点,往右X轴弟增,往下Y轴递增。
RelativeLayout:相对布局,更具最近一个视图组件,
或是顶层父组件来确定下一个组件的位置。
生命周期
• 每一个Android应用都是以一个进程的方式 运行的,其生命周期不是有自身控制,而 是由系统根据运行的应用的一些特征来决 定。如应用的初始化应该放到onCreate方 法中,应用暂停的时候应用重写onPause方 法来保存当前应用操作结果。
• • • • • •
• • • • • • • • •
创建新表 @Override public void onCreate(SQLiteDatabase db) { db.execSQL("CREATE TABLE IF NOT EXISTS " + TB_NAME + "(" + // HistoryBean.ID + " integer primary key," + HistoryBean.URL + " varchar," + HistoryBean.TIME + " integer," + HistoryBean.NAME + " varchar" + ")"); }
事件处理
• • • • 处理UI事件 在android上, 有多种方法获取用户与应用程序的交互信息. 当考 虑UI内部的事件时, 我们的方法是抓取特定的与用户交互的View对象 产生的事件. 在你用来组成布局的View对象中,你可能会注意到一些用于处理 UI事件的回调函数. 这些方法是被Android框架调用的. Event Listeners 事件监听器:View类的一个接口. 该接口包含的 方法会在View注册的事件监听器被触发时被Android调用. 在事件监听器中有下列方法: * onClick() 位于View.OnClickListener中. 在用户触摸该对象,或者 使用轨迹球等使该对象获得焦点, 并按下"enter"键或者按下轨迹球时 被调用. * onLongClick() 位于 View.OnLongClickListener中. 在用户按住 该元素 * onFocusChange() 位于 View.OnFocusChangeListener中. 该 对象获得或失去焦点时调 * onKey() 位于 View.OnKeyListener中. 在该对象获得焦点,并且 按下一个键时调用. * onTouch() View.OnTouchListener. 当用户在View对象的范围 内进行一个触摸动作时. * onCreateContextMenu() View.OnCreateContextMenuListener. 当一个快捷菜单被显示时(当用户长按).
BroadcastReceiver 是对发送出来的广播进行过

Service Android应用的生命周期是由Android系统来

ContentProvider可以说ContentProvider封装很多
Android当中的上下文环境,包括SQLite,这就使得在不 同应用之间交互成为可能。
布局管理
Android四大组件
Activity ContentProvider
Broadcastreceiver
Service

的一个具体的界面管理类,其本身并不显示。

Activity每个应用都是必须得,Activity代表一个应用
滤接收并响应的一类组件:BroadcastReceiver 自身并不实 现图形用户界面,但是当它收到某个通知后, BroadcastReceiver 可以启动 Activity 作为响应,或者通 过 NotificationMananger 提醒用户,或者启动 Service 等 等。 决定的,不由具体的应用的线程左右,当应用要求在没有 界面显示的情况还能正常运行,(要求有后台线程,而后 台线程是不会被系统回收,直到线程结束)这个时候就需 要用到Service。
浏览器功能
• 能够输入链接网址,并访问成功 • 能够自动检测网络连接并在无法连接网络时跳出 提醒,并选择是否更改无线和网络设置 • 能够提供历史记录功能,按照访问时间排序,可 以选择历史链接网址连接 • 能够提供保存访问网页到本地文件系统功能 • 支持收藏夹功能,支持添加删除 • 支持设置功能:比如全屏模式浏览、退出全屏、 支持仅横屏或仅竖屏浏览 • 支持网址输入自动匹配功能 • 支持适应屏幕模式、支持无图片模式浏览
• •
• • •


组件通信与广播的消息
• Intent是一个动作的完整描述,包含了动作的产生组件、接收组件和 传递的数据信息,可称为一个在不同组件之间传递的消息,这个消息 在到达接收组件后,接收组件会执行相关的动作, Intent为Activity、 Service和BroadcastReceiver等组件提供交互能力 • Intent的用途: • 1.启动Activity和Service • 2.在Android系统上发布广播消息 • 3.广播消息可以是接收到特定数据或消息,也可是手机的信号变化或 电池的电量过低等信息 • 启动Activity • 在Android系统中,应用程序一般都有多个Activity,Intent可以实现不 同Activity之间的切换和数据传递 • 启动Activity方式: • 显式启动,必须在Intent中指明启动的Activity所在的类 • 隐式启动, Android系统根据Intent的动作和数据来决定启动哪一个 Activity,也就是说在隐式启动时,Intent中只包含需要执行的动作和 所包含的数据,而无需指明具体启动哪一个Activity,选择权有 Android系统和最终用户来决定 • 利用Intent发送广播消息,并添加了额外的数据,然后调用 sendBroadcast()发生了广播消息的代码
建库
_id name url
1
百度
http://www.baidu.com/
2
Baidu Nhomakorabea
南邮
http://www.njupt.edu.cn/
3
开源中国
http://www.oschina.net/
Android开发总结
用户界面
• 控件:TextView和EditText 、 Button和 ImageButton 、 CheckBox和RadioButton • Android用户界面 -----菜单,提供了三种基 础菜单类型:选项菜单Options Menu、上 下文菜单Context Menu、子菜单Submenu
数据存储和访问
• 简单存储 • SharedPreferences:SharedPreferences是一种轻量级的数据保存方 式 • 文件存储: • 内部存储:主要介绍的两个函数;openFileOutput()、openFileInput() 函数 • 外部存储:Android的外部存储设备指的是SD卡(Secure Digital Memory Card),是一种广泛使用于数码设备上的记忆卡 • 资源文件 • SQLite数据库:不仅提高了运行效率,而且屏蔽了数据库使用和管理 的复杂性,程序仅需要进行最基本的数据操作,其他操作可以交给进 程内部的数据库引擎完成 • 手动建库:是使用sqlite3工具,通过手工输入命令行完成数据库的建 立过程 • 代码建库:在代码中动态建立数据库是比较常用的方法 • 数据操作:数据操作是指对数据的添加、删除、查找和更新的操作 • ContentProvider:是在应用程序间共享数据的一种接口机制,提供了 更为高级的数据共享方法,应用程序可以指定需要共享的数据,而其 他应用程序则可以在不知数据来源、路径的情况下,对共享数据进行 查询、添加、删除和更新等操作
后台服务
• Service:是Android系统的后台服务组件,适用于开发无界 面、长时间运行的应用功能 • 本地服务 • 使用线程:任何耗时的处理过程都会降低用户界面的响应 速度,较好的解决方法是将耗时的处理过程转移到子线程 上 • 服务绑定:以绑定方式使用Service,能够获取到Service对 象,不仅能够正常启动Service,而且能够调用正在运行 中的Service实现的公有方法和属性 • 为了使Service支持绑定,需要在Service类中重载onBind() 方法,并在onBind()方法中返回Service对象
关键类
• • • • • View(视图) ContentProviders(应用交互管理类) ResourceManager(非编码资源管理类) NotificationManager(通告管理类) ActivityManager(生命周期管理类)
数据储存
• • • • 简单存储-SharedPreferences 文件存储-File 数据库存储-SQLite 数据分享-ContentProvider
相关文档
最新文档