同步学APP的E-matebook x pro模块与课本是同步配套的吗?

暑假想给孩子找个学习英语的app,想购买同步学e-book,问下买过的朋友是什么样的情况_百度知道
暑假想给孩子找个学习英语的app,想购买同步学e-book,问下买过的朋友是什么样的情况
老师推荐使用金太阳同步学,以前用过纳米盒,好像有登录设备数量限制,
我有更好的答案
我买的时候是用使用手机登录购买的,但是觉得手机有点小
看起来拍对孩子视力有影响,另一方面,手机也要自己用,所以想要在平板上使用。试了下用购买的手机账号登录是可以使用的。
采纳率:57%
来自团队:
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。我想下载小学同步教材上哪下载
全部答案(共1个回答)
用学习机的USB连接口插进电脑的硬件连接口,然后从电脑的网络来下载自己喜欢的学习资料,保存到学习机上,就会大功告成啦!!!!(方法很容易,只要电脑能上网,学习机...
这个是压缩文件的,需要电脑上解压才能打击的开的。
找到无线开关,打开之后联网,登陆相关网站下载
是不是格式不对(如若,您对我的答复满意,请点击左下角“好评”,谢谢您的采纳。)
那是用来学习的,还需需要下载视频来看么?不知道那个东西 支不支持。你可以给客服打电话问问。
答: 乱七八糟的变色龙是幼儿读物吗
答: 那是肯定没有问题的啊,拓维教育跟长郡中学网站合作,这对你孩子进名校提供了一个门槛哦
答: 专家建议,父母可使用如下方法一:以身作则给孩子树榜样方法例示一个初一的小男孩,偷偷地抽烟,被父亲发现了
答: 总分60分。
铝属于两性金属,遇到酸性或碱性都会产生不同程度的腐蚀,尤其是铝合金铸件的孔隙较多,成分中还含有硅和几种重金属,其防腐蚀性能比其他铝合金更差,没有进行防护处理的铝铸件只要遇到稍带碱性或稍带酸性的水,甚至淋雨、水气、露水等就会受到腐蚀,产生白锈。
解决的办法。
铝铸件完成铸造后,在机械加工前,先要进行表面预处理,如预先对铸件进行喷砂,涂上一道底漆(如锌铬黄底漆),在此基础上再进行机械加工,以避免铸铝件在没有保护的情况下放久了被腐蚀。
嫌麻烦就把你洗衣机的型号或断皮带,拿到维修点去买1个,自己装上就可以了(要有个小扳手把螺丝放松,装上皮带,拉紧再紧固螺丝)。
1、以身作则,如果连自己都做不好,还怎么当班长?
2、人缘好,我就是由于人缘不好,才改当副班长的。
3、团结同学,我们班有一个班长就是由于不团结同学才不当班长的,他现在是体育委员。
4、要有管理能力,首先要有大嗓门,我们班有位学习委员就是由于声音太轻才以3票之差当不了班长;其次要口齿清楚,让同学能听得懂你说的话;第三要说出有道理的话,让吵闹或打架的同学心服口服;第四,不能包庇好朋友,公正;第五,要搞好师生关系;第六,要严以律己,宽以待人,我们班的第一任班长就是因为“严以待人,宽以律己”才不能继续当下去的。
5、要坚持,我们班的纪律委员就是由于没有恒心,原来的大组长、卫生委员、劳动委员、体育委员、学习委员、小组长等(每个学期都加起来)都被免除了,现在的才当1天的纪律委员要不要免除都在考虑中,还要写说明书。
6、提醒班干部做自己要做的事,要有责任心。我们班的纪律委员就是没有责任心,班长的职务都被罢免了。
7、不要拿出班长的架子,要虚心。
8、关心同学(包括学习)。
9、要及早发现问题,自己可以解决的自己解决;自己不能解决的,早日让班主任解决。
10、要发现班级的好的地方,及时表扬。让全班都照做。
11、不要太担心学习,当个班干部,对以后工作有好处,这是个锻炼的机会,好好当吧,加油!
在高中阶段,学校和老师的规定一般都是为了学生的成绩着想,执行老师的话,其实也是为了大家好。即使有时候打点小报告,只要你的心态的好的,也不是坏事。比如A学习不专心,你用个适当的办法提醒老师去关心他,其实也是为了他好。
总的方针:和同学们组成一个团结的班集体,一切以班集体利益为上(当然不冲突国家、社会和学校利益为前提)。跟上面领导要会说话,有一些不重要的东西能满就满,这对你的同学好,也对你的班好。
再说十五点
一,以德服人
也是最重要的,不靠气势,只靠气质,首先要学会宽容(very important)你才能与众不同,不能和大家“同流合污”(夸张了点),不要有这样的想法:他们都怎么样怎样,我也。如果你和他们一样何来让你管理他们,你凭什么能管理他们?
二,无亲友
说的绝了点,彻底无亲友是不可能,是人都有缺点,有缺点就要有朋友帮助你。不是说,不要交友,提倡交友,但是不能把朋友看的太重,主要不能对朋友产生依赖感,遇到事情先想到靠自己,而不是求助!
三,一视同仁
上边说的无亲友也是为了能更好的能一视同仁,无论是什么关系,在你眼里都应是同学,可能比较难作到,但没有这点,就不可能服众。
四,不怕困难
每个班级里都会一些不听话的那种,喜欢摆谱的那种,不用怕,他们是不敢怎么样的!知难而进才是一个班长应该有的作风。
五,带头作用
我想这点大家都有体会就不多说了
六,打成一片
尽量和大家达成共识,没有架子,不自负不自卑,以微笑面对每一个人,不可以有歧视心理,不依赖老师,有什么事情自己解决,老师已经够累的了。
七,“我是班长”
这句话要随时放在心底,但是随时都不要放在嘴上,有强烈的责任心,时刻以班级的荣誉为主,以大家的荣誉为主。什么事情都冲在最前面。遇事镇定。
八,帮助同学
帮助同学不是为了给大家留下一个好的印象等利益方面的事,是你一个班长的责任,是你应该做的,只要你还是一个班长,你就要为人民服务(夸张)为同学服务。
九,诚实守信
大家应该都知道这个,是很容易作到的,也是很不容易作到,然这两句话并不是矛盾的,不是为了建立一个好的形象,和班级责任也没有什么关系,只是一个人应该有的道德品质。但你必须作到,连这样都做不到,就不可能做成一个好的班长。
十,拿的起放的下
学会放弃也同样重要,学会辨别好与坏。知道什么是该做的,什么是不该做的。
十一,谦虚
认真分析同学给你提的意见,不管是有意的,还是无意的。提出来就有他的想法,有他的动机。要作到一日三醒我身。
十二,心态端正
总之要有一个好的心态,积极向上的心态,把事情往好里想,但同时要知道另一面的危机,遇到事情首先想到的应该是解决问题,而不是别的!
十三,合理的运用身边的人和事
主动,先下手为强,遇到不能够管理的,就可以和其他班干部一起对付,实在不行,就迅速找到老师陈述自己的观点,免得他倒打一耙(尽量少打小报告.)
十四,和老师同学搞好关系.
威信可以提高,你说的话老师也比较相信,可以简单一点的拿到老师的一些特殊授权,而这些授权往往对你的帮助很大.
十五,合理的运用自己的权利和魄力
对付难管理的,权利在他的眼中已经不存在的,就运用你的魄力,用心去交流,努力感动身边的人,感动得他们铭记于心,你就成功了.
一点要加油哦
工行的网银没有软键盘,主要通过安全控件来保证安全,只有安装了工行的安全控件,才能在工行网页上输入密码。
修改密码的操作,你可以在登陆工行网银以后,在“客户服务”的“修改客户密码”里找到相关链接。
健康的孩子很少有这儿虚那儿虚的问题。因为孩子处于发育发展的阶段,整个内脏机能虽然不成熟,但是不等于机能虚弱。相对他个体来讲,他的机能应该是不断的旺盛的发展。
除非我们不合理的养育伤害了他的脾胃功能。比如说他只能承受二两的食物,你一顿给他塞半斤,他的消化道脾胃都不能承受,它很疲劳、很衰竭。其实老百姓说的所谓上火无非是消化功能的紊乱,紊乱的原因还是吃得不合适,一般都是吃多了。这样的话,不光是晚上,白天也一样,孩子要多少给多少,不要就别吃。
可能有一些孩子不控制,他多吃一口少吃一口都没有关系。这就需要家长更仔细的观察。有的妈妈是给孩子喂食,孩子就张嘴,你要观察他吃的过程中有什么变化。如果孩子出现一些满足感,比如说吃东西开始很专心、很积极、很热情,吃着吃着这种热情降低了,这种积极的主动性也降低了,这个咀嚼的速度也放慢了,好像对吃的兴趣不浓了,这个时候就可以不吃,孩子生病的机会就少了。
0~2岁:脑细胞快速增殖期,刚出生的宝宝脑重量为成人的25%。
2~4岁:脑重量达到成人的80%
4~7岁:脑重量达到成人的90%
由以上发展阶段可以看出,聪明宝宝的最佳培养时间集中在0~7岁,除了必要的智力训练及刺激外,更重要的是提供给宝宝充分的必要的大脑营养物质。由于大脑发育具有不可逆转性,所以细心的家长从怀孕开始,就应该注意宝宝脑营养的供给。
6个月以下婴儿的胃容量相对较小,如果额外补充水分,很可能就影响到喝奶量,进而减少其他养分的摄取。因此,只要宝宝没有患上水分容易流失的疾病,一般不建议给宝宝补水。
未添加辅食的宝宝
一般来说,只要宝宝的进食状况正常,就不需要再额外补充水分,除非在天气非常炎热、室内没有空调的情况下,才可以补充少量开水。
添加辅食的宝宝
就6个月之后的婴儿来说,多半已经开始接触奶水之外的其他辅食,水分摄取的来源更加丰富。因此,可以在宝宝进食后或两餐之间补充少量开水,这样能够帮助宝宝清洁口腔,也有益于牙齿健康。
包皮是男性阴茎前端的皮肤呈双层折叠覆盖于龟头及尿道外口,相当于给龟头带了一顶“帽子”。包皮是人类进化的残留器官,有一定的理由和作用。李龙介绍,出生的婴儿,龟头的皮肤尚没有角化,非常娇嫩,就像眼睛一样,非常容易受到伤害;特别是因为龟头表面有丰富的神经末梢,接触到周围的物体或受到摩擦时会产生强烈的刺激感觉,令婴儿感到不舒服,这样包皮相当于给龟头穿了一层衣服,对龟头起到保护作用。
包皮的保护作用如果发挥过度,就会起到不利的副作用。李龙表示,包皮与阴茎头粘连,包皮口狭窄,包皮不能下翻,尿道口和阴茎头不能露出,在医学上称之为包茎;包皮虽然能下翻露出龟头,但是一直保持婴儿状态,覆盖龟头和尿道外口,就称包皮过长。不论是包茎还是包皮过长,对人体都有一定副作用,甚至可以说是弊大于利。
智力是由思维能力、想象力、记忆力、观察力、操作能力组成。我们说饮食对聪明的影响,其实是说饮食对这几个能力的影响。
1.不饱和脂肪酸
脂肪中的亚油酸、亚麻酸、花生四烯酸、DHA、EPA等不饱和脂肪酸,对脑细胞的发育和神经的发育起着极为重要的作用。如果缺乏的话,很容易引起智能发育存在缺陷,永久性损害大脑功能。富含食物:亚油酸、亚麻酸存在于核桃等坚果类食物中。DHA广泛存在于海产食物中,特别是深海鱼。在鱼眼球附近的脂肪组织DHA尤其丰富。
卵磷脂是构成脑神经组织、脑脊髓的主要成分,当卵磷脂被消化之后,在大脑里合成胆碱,大脑里的胆碱含量越高,神经传递就越快,机体的思维也随着加快,记忆力也会更加牢固。当宝宝还在妈妈肚子里的时候,孕妈摄入的卵磷脂是否足够就已经影响到胎儿的大脑发育。卵磷脂可以促进大脑神经系统与脑容积的增长、发育,因为卵磷脂在人体不能自行合成,只能从食物中摄取。
富含食物:蛋黄、大豆、猪脑、猪肝、小麦胚芽、蘑菇及花生、芝麻和核桃。
蛋白质是脑细胞的主要成分之一,如果蛋白质的供给不足则可影响脑细胞的新陈代谢,使婴儿智力发育受阻。含蛋白质的食物经过消化后,人体将其构成自身的蛋白质。蛋白质是是脑细胞的主要成分之一,又是脑细胞兴奋和抑制过程的物质基础,它对人的语言、思考、记忆、神经传导、运动等方面都起着重要的作用。
富含食物:鱼、肉、动物内脏、牛奶和奶制品
铁:大脑的一切活动有赖于氧气的供给,氧气供应充足,大脑活动的频率也就越高,反应随着加快,效率提高,而铁是运送氧气的重要参与者,所以如果缺铁的话,会导致运输给大脑的氧气减少,进而影响到大脑功能。富含食物:肝脏、蛋类、动物血及菠菜等。
锌:在人体中,锌是分布最广泛的必需微量元素,也是细胞内最丰富的微量元素。缺锌可致脑DNA和蛋白质合成障碍,使大脑功能不全,影响小儿智力发育。锌能使大脑精力集中,思维敏捷,同时记忆和信息的储存功能都随着增强。
5.维生素BCE
维生素类对智力的作用,是使大脑将食物营养变成智力活动的能量。没有它们,再好的营养成分也不能造就聪明的孩子。
维生素B族:人的神经系统对缺乏维生素B类尤其敏感。它们能够维持神经系统的正常运作,促进脑部血液循环,进而提高智力。维生素B1有维护智力和促进智能活动的功能,如果缺乏,会导致神经细胞衰退,功能变弱。维生素B12是维护智力的营养素之一。叶酸有助于促进其脑细胞生长,并有提高智力的作用。
维生素C:它是神经传递介质的重要组成部分,大脑接受外来刺激、向外发布命令的是否灵敏,都有赖于它的支援,它能防止脑细胞老化。
维生素E:保持脑的活力,避免大脑早衰,是大脑的保护剂。
之所以要进行家具拆装,很多的时候都是因为我们要进行搬家的事情,否则我们不会无缘无故的在家里面对家具进行拆装的,那么为何在我们搬家的时候就要进行拆装呢,到底我们这样来做是有哪些好处呢?宁波蚂蚁搬家公司提供拆装家具服务! 家具拆装对我们整个搬家是有一定的影响的,只有我们充分的重视这些不同的影响,并且在这个时候能够好好的拆卸,那么最终整个家具的搬运过程就会更加的轻松了,否则你会发现整个过程中你会 遇到很多的麻烦了,可能还会造成一定的损失。
成都高新区公司办理企业年报审计报告需要注意哪些问题?第二步,判断和运用重要性水平,主要是将被审计单位未调整不符事项汇总表与会计报表层次或账户余额层次的重要性水平进行比较,据以确定未调整不符事项对会计报表的影响程度。注册会计师确定审计差异之后,一般应与被审计单位沟通,建议其做出相应的调整,如果被审计单位拒绝调整那些重大差异,注册会计师必须考虑改变审计意见和在审计报告中如何反映的问题。4 聘用、更换会计师事务所情况。5 公司高级管理人员工资(含各种津贴、补贴等)、奖金分配情况,以及公司职员平均工资水平。
成都天府新区注册的个体工商户不经营了营业执照需要注销吗?成都公司注册以后,如果不按时进行纳税申报,不按时进行企业信息公示,不经营的公司不及时办理注销手续,公司就会存在信用污点,如果情况更加严重的话,公司法定代表人、股东、董事、监事、经理等人员的身份证号码都会上黑名单,个人征信记录也会有污点。也就是我们平时所说的“一处违法处处受限”的社会征信管理。主要有以下两大类:一类:企业违法,企业将面临的处罚不按时进行企业信息公示,企业会上工商异常经营名录,并向社会公示。
成都高新区代理记账是指企业将本公司的会计核算工作全部委托给专业记账公司完成,本企业一般只设出纳岗位,负责日常收支业务和财产保管等工作。简介“一人公司”实例 成都高新区注册一人有限公司代理记账需实质意义上的“一人公司”在西方国家特别是美国较为普遍,因为美国许多州的公司法律规定董事必须拥有一定数额的公司股份,即资格股,所以许多公司的股份的绝大部分比例由一个股东拥有,另外极小比例的股份由公司董事拥有。
是flex+fms么?用Camera.setQuality()这个方法可以符合你的拒绝,详细信息你查阅下Camera文档信息吧。至于别的技术做视频聊天,就不怎么确切了,我要用过flex + fms
有数据线吗,去官网上找找
你好,一般学习机里面都有说明书,你可以根据说明书上的操作就好了。
既然是官网肯定是唯一啊
http://yixin.im
快易典的TP922电子词典可以啊,好用喔。
这个可以在网上下载的哦,网上还是特别多的呢
这个品牌是有代理的
这个可以在网上下载的哦,网上还是特别多的呢
正在加载...
Copyright &
Corporation, All Rights Reserved
确定举报此问题
举报原因(必选):
广告或垃圾信息
激进时政或意识形态话题
不雅词句或人身攻击
侵犯他人隐私
其它违法和不良信息
报告,这不是个问题
报告原因(必选):
这不是个问题
这个问题分类似乎错了
这个不是我熟悉的地区
相关问答:123456789101112131415什么是美国小学同步教材,美国小学正在用什么?
用微信扫描二维码分享至好友和朋友圈
用微信扫描二维码分享至好友和朋友圈
  目前,国内很多机构组织和学校都宣传自己所使用的教材是根据CCSS标准制定的,那么,CCSS标准究竟是什么呢?  扫盲点1:什么是CCSS标准    CCSS:  CCSS是Common Core State Standards(共同核心州立标准)的缩写。该标准于2010年起在全美各州推行,旨在改变全美各州课程、教学各成体系,彼此之间难以匹配协调的问题。通过CCSS的推行,美国46州,占全国80%的学龄儿童,在实施全国统一课程标准上,开启了关键性的一步。CCSS涵盖了幼儿园到G12(相当于国内高三)各个年级,包括了数学与英语通识两个基础学科的课程标准体系。  原文如下:  The Common Core State Standards provide a consistent, clear understanding of what students are expected to learn, so teachers and parents know what they need to do to help them. The standards are designed to be robust and relevant to the real world, reflecting the knowledge and skills that our young people need for success in college and careers. With American students fully prepared for the future, our communities will be best positioned to compete successfully in the global economy.  CCSS的研制上,严格遵守了以下六项基本原则:1、标准化,2、连贯性,3、优质化,4、高效能,5、参照化,6、科学化。以英语为例, CCSS强调在课程内容上,要体现英语知识和基本技能的发展,确保语言得到充分的练习和使用。CCSSE从听、说、读、写四个方面对K-12各年级学生应掌握的知识与技能做出了详细说明。  CCSS标准现在目前在美国普及到什么程度了呢?    (数据采集自CCSS官方网站 http://www.corestandards.org/in-the-states)  此图表示在美国已有45个州选择采用“ 美国联邦教育部共同核心标准CCSS (Common Core State Standards)”,黄色代表采用该标准的州,橙色代表尚未采用该标准的州。  即:绝大部分的州已经采用了CCSS标准来制定和编写教材。  归根结底,使用CCSS标准制定和编写的教材,基本都可以归纳到美国同步教材里去。  目前,在国内被传播最广的,使用最多的,同时也深受好评的,无疑是所谓的加州教材了,作为体系最为庞大的教材系统,加州教材也几度更新换代,当下我们介绍的是这套WONDERS教材。    扫盲点2:加州WONDERS教材(2014版本)  一、新版加州教材Wonders的书籍的构成(不包括各种卡片): 新版加州教材Wonders从GK到G6,共7个级别。整套书籍的构成如下:  1. 新版加州教材Wonders的GK,由Reading/Writing Worshop Big Book(这是老师手里拿的教材,这个没有电子版); Reading/Writing Worshop Little Book(这是给学生的教材,这个就是通常意义上的学生用书);Literature Big Book (也就是我们平常所说的Big Book)和Leveled readers(分级读物分为Ell、Approaching、On和Beyond四个level。)。按从易到难可以这样排序:Ell和Approaching差不多,接下来是On,最难的是Beyond。分级读物里面,自然社会科学的,四个级别都 有重复内容,故事类的不重复。重复书目,针对不同级别,用词和用句的难易有差别。  2. 新版加州教材Wonders的G1~G6,除G1的前3个Unit增加了15本Literature Big Book外,其他都只有Reading/Writing Worshop Big Book;Reading/Writing Worshop Little Book;Literature Anthology(文学赏析)和四个Leveled readers(分级读物)。 Ps. Reading/Writing Worshop Big Book和Reading/Writing Worshop Little Book,内容98%都是一样的,有少许区别。  二、新版加州教材Wonders的常见问题(一般是GK的问题较多,其他级别的按部就班就行)  1、新版加州教材Wonders GK的教材,适合几年级的孩子学?  答:根据学习目的不同而定。  A. 如果想按照教参全面提高孩子的听说读写和语法能力,那孩子要有听说基础,听方面:至少在看完一遍粉猪的某一集,、然后在裸听的时候,能概括这一集的大意(最好能描述其中一些关键的细节,允许用中文描述);说方面:能在不经过太多思考的情况下,比较熟练地说一些日常的简单单句,比如I like apples;She is riding a bike。如果没有达到这个水平,可以先通过听儿歌、绘本音频和看动画片积累听力水平;通过亲子阅读牛津树来训练阅读和表达能力,最好在孩子能读牛津树的Stage 4或5的时候进行新版加州教材Wonders GK的全面学习。  B. 对于0基础的孩子,如果父母只是想有一套配有指导说明的素材,和孩子进行亲子阅读和英语启蒙,那也可以利用新版加州教材Wonders GK。理由如下:新版加州教材Wonders GK的教参非常详细,对每一本书的每一页内容都有详细地拓展说明(全英文版,但是文字不难,有四级基础的爸爸妈妈基本都能看懂),这样方便不懂教学的爸爸妈妈与孩子进行亲子阅读,尽量发挥教材的价值。  2. 新版加州教材Wonders GK的教材如何读?  答:分级、Big Book和教材的目的各自不同,因此根据需求进行搭配。教材难度最低,起提纲挈领的作用,爸爸妈妈根据教参引入每周学习的主题,鼓励孩子阅读教材内容;分级读物的作用是帮助孩子积累词汇量,分为故事和社科自然两大类;Big Book是用来训练听说能力和拓展思维用的,这个是父母主导,孩子的工作就是听、简单回答问题和跟父母一起动手或做游戏,需要注入最多的亲子精力,前几本的语言难度不高,但后面的语言难度高。  A. 对于孩子听说达到上述基础,想要系统学习加州的爸爸妈妈,如果自己水平可以,那就完全按照教参来教;如果感觉自己教有点吃力,那就找一个认真负责的外教或高水平认真负责的中教完全按照教材教。  B. 0基础,想与孩子系统进行英语启蒙的爸爸妈妈,可以把教参进行简化(现在流行的英语启蒙有两种:a. 以培养英语兴趣为主;b. 以学习为目的)。 a. 如果是以英语兴趣为主,则要重点肯BigBook,训练孩子的听说和动手及其他思维能力。同时多看同主题的其他经典绘本+动画片。分级和教材在启蒙阶段可以不是重点。等孩子有能力了,训练自主阅读用。 b. 如果以学习目的为主,则把教参进行简化。一周五天,可以花2~3天先啃Big Book,引入本周主题,训练孩子的听说和动手及其他思维能力;剩下的2~3天,加入教材课文和分级读物,对本周主题内容进行夯实和巩固。  3. 可以跳过GK,直接从新版加州教材Wonders G1开始学吗?  答:可以。  4. 新版加州教材Wonders G2要多久才能上完?  答:对于普通娃,从五岁开始,能坚持下来学英语的。正常的进度是,到小学四年级上学期,能把新版加州G2学完(前后可能有半年的浮动)。从G3开始,因为孩子有了前面两个年级和前面多年的积累,学习速度会快些,基本能正常一年完成一个Grade的学习。
特别声明:本文为网易自媒体平台“网易号”作者上传并发布,仅代表该作者观点。网易仅提供信息发布平台。
阅读下一篇
网易通行证/邮箱用户可以直接登录:[ 快速进入 ]
出生时觉得丑哭的孩子现在变这样了
积分107, 距离下一级还需93积分
电梯直达&&楼
笑苒公主每一天都会有新的变化,从刚出生时丑丑的小妞,到现在的大眼萌妹,真是感慨生命的成长,愿我的宝贝每天都开心。从第一个月到第十一个月变化好大,跟大家分评论评论评论评论评论评论评论
积分25501, 距离下一级还需4499积分
萌萌的小公主
请输入内容
回帖后跳转到最后一页
您需要登录后才可以发帖&&
账户未绑定手机号Android 帐户同步机制
装过Android版的Facebook、lastfm的同学是否对于这些应用的功能感到惊喜,它们可以定期更新朋友的最新信息,将最新近况和心情短语集成入联系人中。这些应用全部是以Android2.0后的账户和同步机制为基础的。Google的例程中给出了名为SampleSyncAdpater的例子,通过分析该例子可以学会Android中的Account验证、同步Adapter的使用。
详细例子代码可以看sdk samples中提供的源码,现在拿2.2中的版本来简要说明。
首先是 class Authenticator extends AbstractAccountAuthenticator ,该类是账户认证类,打开手机的Setting里,有Account&Sync 一项,Authenticator就是实现其中的账号功能的类。
public Bundle addAccount(AccountAuthenticatorResponse response,
String accountType, String authTokenType, String[] requiredFeatures,
Bundle options) {
final Intent intent = new Intent(mContext, AuthenticatorActivity.class);
intent.putExtra(AuthenticatorActivity.PARAM_AUTHTOKEN_TYPE,
authTokenType);
intent.putExtra(AccountManager.KEY_ACCOUNT_AUTHENTICATOR_RESPONSE,
response);
final Bundle bundle = new Bundle();
bundle.putParcelable(AccountManager.KEY_INTENT, intent);
其中addAccount方法用来定义需要增加账号时的操作,如调用AuthenticatorActivity来进行账号的添加认证。
在AuthenticatorActivity.java中定义了handleLogin(),此方法由login_activity.xml中的android:onClick="handleLogin"定义与ui中的okbutton的关联。
android:id="@+id/ok_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:minWidth="100dip"
android:text="@string/login_activity_ok_button"
android:onClick="handleLogin" /&
handleLogin()将ui中的用户名和密码取得,并创建一个试图认证的线程,通过网络去服务端验证。
NetworkUtilities.java中的 public static boolean authenticate(String username, String password, Handler handler, final Context context)方法展示了通过网络验证的具体流程。得到服务端验证结果后,在sendResult()中通过handler.post调用来实现 onAuthenticationResult()在AuthenticatorActivity中的运行。 onAuthenticationResult()判断验证通过则结束AuthenticatorActivity,否则报出用户名密码错,让用户在
AuthenticatorActivity中再次尝试验证。
public void handleLogin(View view) {
if (mRequestNewAccount) {
mUsername = mUsernameEdit.getText().toString();
mPassword = mPasswordEdit.getText().toString();
if (TextUtils.isEmpty(mUsername) || TextUtils.isEmpty(mPassword)) {
mMessage.setText(getMessage());
showProgress();
mAuthThread =
NetworkUtilities.attemptAuth(mUsername, mPassword, mHandler,
AuthenticatorActivity.this);
public static boolean authenticate(String username, String password,
Handler handler, final Context context) {
final HttpR
final ArrayList&NameValuePair& params = new ArrayList&NameValuePair&();
params.add(new BasicNameValuePair(PARAM_USERNAME, username));
params.add(new BasicNameValuePair(PARAM_PASSWORD, password));
HttpEntity entity = null;
entity = new UrlEncodedFormEntity(params);
} catch (final UnsupportedEncodingException e) {
throw new AssertionError(e);
final HttpPost post = new HttpPost(AUTH_URI);
post.addHeader(entity.getContentType());
post.setEntity(entity);
maybeCreateHttpClient();
resp = mHttpClient.execute(post);
if (resp.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
if (Log.isLoggable(TAG, Log.VERBOSE)) {
Log.v(TAG, "Successful authentication");
sendResult(true, handler, context);
return true;
if (Log.isLoggable(TAG, Log.VERBOSE)) {
Log.v(TAG, "Error authenticating" + resp.getStatusLine());
sendResult(false, handler, context);
return false;
} catch (final IOException e) {
if (Log.isLoggable(TAG, Log.VERBOSE)) {
Log.v(TAG, "IOException when getting authtoken", e);
sendResult(false, handler, context);
return false;
} finally {
if (Log.isLoggable(TAG, Log.VERBOSE)) {
Log.v(TAG, "getAuthtoken completing");
private static void sendResult(final Boolean result, final Handler handler,
final Context context) {
if (handler == null || context == null) {
handler.post(new Runnable() {
public void run() {
((AuthenticatorActivity) context).onAuthenticationResult(result);
public void onAuthenticationResult(boolean result) {
Log.i(TAG, "onAuthenticationResult(" + result + ")");
hideProgress();
if (result) {
if (!mConfirmCredentials) {
finishLogin();
finishConfirmCredentials(true);
Log.e(TAG, "onAuthenticationResult: failed to authenticate");
if (mRequestNewAccount) {
.setText(getText(R.string.login_activity_loginfail_text_both));
.setText(getText(R.string.login_activity_loginfail_text_pwonly));
Account的验证完毕后,就生成了账号,可以开始使用同步功能了。同步的主要逻辑在public class SyncAdapter extends AbstractThreadedSyncAdapter中实现。
public void onPerformSync(Account account, Bundle extras, String authority,
ContentProviderClient provider, SyncResult syncResult) {
List&User&
List&Status&
String authtoken = null;
authtoken =
mAccountManager.blockingGetAuthToken(account,
Constants.AUTHTOKEN_TYPE, true );
NetworkUtilities.fetchFriendUpdates(account, authtoken,
mLastUpdated);
mLastUpdated = new Date();
Log.d(TAG, "Calling contactManager's sync contacts");
ContactManager.syncContacts(mContext, account.name, users);
statuses = NetworkUtilities.fetchFriendStatuses(account, authtoken);
ContactManager.insertStatuses(mContext, account.name, statuses);
} catch (final AuthenticatorException e) {
syncResult.stats.numParseExceptions++;
Log.e(TAG, "AuthenticatorException", e);
} catch (final OperationCanceledException e) {
Log.e(TAG, "OperationCanceledExcetpion", e);
} catch (final IOException e) {
Log.e(TAG, "IOException", e);
syncResult.stats.numIoExceptions++;
} catch (final AuthenticationException e) {
mAccountManager.invalidateAuthToken(Constants.ACCOUNT_TYPE,
authtoken);
syncResult.stats.numAuthExceptions++;
Log.e(TAG, "AuthenticationException", e);
} catch (final ParseException e) {
syncResult.stats.numParseExceptions++;
Log.e(TAG, "ParseException", e);
} catch (final JSONException e) {
syncResult.stats.numParseExceptions++;
Log.e(TAG, "JSONException", e);
onPerformSync中的执行流程中,使用NetworkUtilities中的fetchFriendUpdates和 fetchFriendStatuses来访问服务端的联系人更新,并使用了例程中自己封装的ContactManager来读取、更新联系人信息。
那Account和SyncAdapter及其Service和xml定义之间是如何关联的呢? AndroidManifest.xml中定义了AccountAuthenticator,SyncAdapter及对应的Service和xml定义的关联。
&application
android:icon="@drawable/icon"
android:label="@string/label"&
&!-- The authenticator service --&
android:name=".authenticator.AuthenticationService"
android:exported="true"&
&intent-filter&
android:name="android.accounts.AccountAuthenticator" /&
&/intent-filter&
&meta-data
android:name="android.accounts.AccountAuthenticator"
android:resource="@xml/authenticator" /&
&/service&
android:name=".syncadapter.SyncService"
android:exported="true"&
&intent-filter&
android:name="android.content.SyncAdapter" /&
&/intent-filter&
&meta-data
android:name="android.content.SyncAdapter"
android:resource="@xml/syncadapter" /&
&meta-data
android:name="android.provider.CONTACTS_STRUCTURE"
android:resource="@xml/contacts" /&
&/service&
android:name=".authenticator.AuthenticatorActivity"
android:label="@string/ui_activity_title"
android:theme="@android:style/Theme.Dialog"
android:excludeFromRecents="true"
No intent-filter here! This activity is only ever launched by
someone who explicitly knows the class name
&/activity&
&/application&
更详细的代码细节和执行流程,可以去把SDK中的SampleSyncAdapter代码运行起来体会一下,不过要实现整个流程,必须搭建联系人的服务器端,例程中在目录samplesyncadapter_server中也提供了简单的server端python代码,需要搭建在google app engine上。搭建过程遇到一些问题,由于对python不熟我弄了几天才解决好搭建成功,其中遇到的一个model moudle找不到的问题需要你在model中新建一个__init__.py的空文件,来说明是一个python模块,如果你也遇到此问题,希望对你有帮助。
以上是从别人那里看到的一篇不错的文章,以下是自己在源码开发过程中的一些总结:
在AccountManagerService.java和RegisteredServicesCache.java的generateServicesMap()方法里会解析所有的功能清单里配置的有关帐户同步的 service。如果没有解析到会将当前加入的帐户信息删除。
帐户信息保存在:data/system/account.db
data/system/sync
data/system/registered-services下面
涉到的service包括:
android:name=".myservices.ContactsSyncAdapterService"
android:exported="true"&
&intent-filter&
&action android:name="android.content.SyncAdapter" /&
&/intent-filter&
&meta-data android:name="android.content.SyncAdapter"
android:resource="@xml/syncadapter_contacts" /&
&/service&
android:name=".myservices.CalendarSyncAdapterService"
android:exported="true"&
&intent-filter&
&action android:name="android.content.SyncAdapter" /&
&/intent-filter&
&meta-data android:name="android.content.SyncAdapter"
android:resource="@xml/syncadapter_calendar" /&
&/service&
android:name=".myservices.SyncManager"
android:enabled="true"
&/service&
android:name=".service.EasAuthenticatorService"
android:exported="true"
android:enabled="true"
&intent-filter&
&action android:name="android.accounts.AccountAuthenticator" /&
&/intent-filter&
&meta-data
android:name="android.accounts.AccountAuthenticator"
android:resource="@xml/authenticator"
&/service&
android:name=".myservices.EasAuthenticatorServiceAlternate"
android:exported="true"
&intent-filter&
&action android:name="android.accounts.AccountAuthenticator" /&
&/intent-filter&
&meta-data
android:name="android.accounts.AccountAuthenticator"
android:resource="@xml/authenticator_alternate"
&/service&
没有更多推荐了,

我要回帖

更多关于 matebook x pro 的文章

 

随机推荐