关于Android原生Email的自己的一些认识

http://blog.csdn.net/gloryhero/article/details/47259583

Email的框架图:

Email 包含3个包:Eamil、Exchagne、UnifiedEmail。

这三个包相互调用。具体的关系如上图所示。

Email:

这个包主要负责用户的登录界面和账户信息的存储等等,其中,若手机中没有账户,Email表就会负责对用户输入的account信息进行收集,并且将收集到的信息通过传递给Exchange与服务器进行交互,验证用户的account信息的正确性。另外,在这个包中,还创建了本地存储,会将服务器同步下来的信息通过EmailProvider插入到本地数据库中。同时,当用户登录账户成功之后,用户对邮箱的操作也会通过该Provider更新数据库,同时将数据库中的信息通过Exchange与服务器进行同步。

Exchagne:

这个包主要负责与服务器端的交互工作。涉及了对用户account的验证,从服务器端得到账户的邮箱信息流,并用Parse类对数据流进行解析,解析完成之后会通过Provider插入到本地的数据库。同时,当用户对本地数据库进行更新时,Exchagne也会将更新的信息通过http反馈到服务器端,从而实现服务器端和客户端邮箱账户信息的同步。

UnifiedEmail:

这个包与用户的直接操作挂钩,它是用户与邮箱进行交互的主要场所,在这个包中,用户可以实现查看邮箱的文件夹,邮件信息,下载附件,发送邮件等信息,当用户在该包中实现了一个action之后,信息会实时更新到Email的数据库中,当数据库中的信息发生变化后,会将变化的内容通过Exchagne与服务器进行同步。

时间: 2024-11-05 11:41:11

关于Android原生Email的自己的一些认识的相关文章

React Native Android原生模块开发实战|教程|心得|如何创建React Native Android原生模块

尊重版权,未经授权不得转载 本文出自:贾鹏辉的技术博客(http://blog.csdn.net/fengyuzhengfan/article/details/54691503) 前言 一直想写一下我在React Native原生模块封装方面的一些经验和心得,来分享给大家,但实在抽不开身,今天看了一下日历发现马上就春节了,所以就赶在春节之前将这篇博文写好并发布(其实是两篇:要看iOS篇的点这里<React Native iOS原生模块开发>). 我平时在用React Native开发App时会

React Native Android原生模块开发实战|教程|心得|怎样创建React Native Android原生模块

尊重版权,未经授权不得转载 本文出自:贾鹏辉的技术博客(http://blog.csdn.net/fengyuzhengfan/article/details/54691503) 告诉大家一个好消息.为大家精心准备的React Native视频教程公布了,大家现能够看视频学React Native了. 前言 一直想写一下我在React Native原生模块封装方面的一些经验和心得.来分享给大家,但实在抽不开身.今天看了一下日历发现立即就春节了.所以就赶在春节之前将这篇博文写好并公布(事实上是两篇

android原生browser分析(一)--Application

类Browser.java是整个应用的Application.其代码如下: public class Browser extends Application { @Override public void onCreate() { super.onCreate(); // create CookieSyncManager with current Context CookieSyncManager.createInstance(this); BrowserSettings.initialize(

wex5 教程 之 web网站android原生模式打包

如果有成型的web网站,想做成手机app,如何用wex5来打包成apk呢?比如说百度视频,我想打包成自已的apk安装到手机上,怎么做呢? 官方提供了四种打包模式,都需要提供服务地址,也就是说要有一台服务器来提供服务.我只是要把web地址封装一下,apk打开后跳转到网页就行,显然服务地址是不需要的. 那如果用wex5的页面frame组件加载一个web页面呢? 经测试,这种方法可行,问题是,w页面是wex5自创的页面,不是html的document页面,会出现视频格式不能播放,无falsh插件问题.

Android原生json和fastjson的简单使用

android原生操作json数据 主要是两个类 JSONObject 操作对象     JONSArray操作json数组 对象转json 1 //创建学生对象 2 Student student=new Student(); 3 student.setAge(23); 4 student.setClazz("六年级"); 5 student.setName("王二麻子"); 6 //创建JSONObject 7 JSONObject jsonObject=new

Android进阶(二十七)Android原生扰人烦的布局

Android原生扰人烦的布局 在开发Android应用时,UI布局是一件令人烦恼的事情.下面主要讲解一下Android中的界面布局. 一.线性布局(LinearLayout) 线性布局分为: (1)垂直线性布局: (2)水平线性布局: 针对这两种区别,只是一个属性的区别 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertic

android原生ExpandableListView

android原生可扩展ExpandableListView就是可以伸缩的listView,一条标题下面有多条内容. 这个list的adapter对的数据要求与普通ListView的数据要求也有一些差别,这个list需要有两个数据源 一半需要 List<String> groups 作为group 和一个 Map<String , List<String>> children 作为children,他们最好意义对应 ExpandableListView使用起来和普通的l

【android原生应用】之闹钟应用搭起篇

由于工作原因接触android开发一段时间了,对于开发有了一些了解,于是萌生了搭起android原生应用进行分析和学习的想法.先从闹钟应用开始吧. 1.首先要下载原生应用,原生应用在原生系统里面(当然你得先下载原生的系统,过程请百度之). 目录如下:packages\apps,所有的原生基础应用都在这个里面,我们进入DeskClock目录,将其作为一个工程搭建起来. 这时候会报错,根据报错信息来看是由于缺少jar包近期的,datetimepicker.jar .android-support-v

android 原生应用、Web应用、混合应用优缺点分析

最近开发几个项目,牵涉到android的几种开发模式.对于原生态开发.web 应用开发以及混合模式开发,本人认为并不是哪一种就是最好的,哪一种就是最差的,这个完全是根据自己的需求,选择一种合适的开发模式.他们同时具备自己的有点,同时也有自身的缺点,我们根据实际情况,取其中的优点,尽量避免掉缺点,才是最好的开发模式.下面,我们就一同看看,这三种开发模式,到底有什么区别. 一.原生应用 (也称本地开发 Native App) 你使用过微软PowerPoint 或者 Word吧?这些可直接在你电脑上运