说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

Apple Watch应用开发:从再造墨迹天气谈起

HTML文档下载 WORD文档下载 PDF文档下载
本文作者刘超在墨迹天气主要负责iOS平台软件开发工作。他将从软件开发角度,分享墨迹天气团队在针对Apple Watch开发手表App过程中发现的问题、误区,以及解决之道。

编者按:本文作者刘超在2012年加入墨迹天气,主要负责iOS平台软件开发工作。在今年年初,墨迹天气团队针对Apple Watch的硬件与交互特点,对应用做了重新设计与开发。作者从软件开发角度,分享了墨迹天气团队在开发过程中发现的问题、误区,以及解决之道。

Apple Watch的设计误区

WatchKit发布第一时间,我们的产品经理和设计师就根据设计规范和官方宣传动画迅速出了一版设计原型。Apple Watch版应用中囊括墨迹天气iPhone版的大部分功能,从实况到预报,再到时景和分享,其中包括一些新的交互,如使用Digital Crown切换短时和多天预报、缩放时景图片,在消息推送达到后直接在该推送下编辑信息回复。它相当于一个微缩版本的墨迹天气。

随后程序员也很快加入到这个项目里。当我们研究过Programming Guide和Watchkit framework Reference后,失望的发现宣传视频上展示的操作:Digital Crown、表面触感、地图缩放等是不对开发者开放的。于是我们开始重新推敲交互,设计师也发现不能再像设计iPhone应用那样自由的设计细节。由于最初我们都是没有实际的佩戴体验的,只能从宣传片和设计开发指南中找思路,揣摩用户的使用场景和心理。通过和Apple方面有佩戴经验的负责人交流,我们发现最开始的设计方向是不对的,我们不应该把设计重心Apple Watch的主程序上,而是重点设计Glance和Notification。作为一款手表上的应用程序,及时方便地查看才是它最常见的应用场景。曾经看到一位没有使用过Apple Watch的网友调侃:在那么小的屏幕上操作带来的麻烦完全抵消了从兜里掏出手机的麻烦。

Watch应用开发的五条小技巧

WatchKit提供的是一套全新的界面类。令人熟悉的地方是,大多数方法和属性的命名都有很好的延续性,几乎不需要重新学习就能够大概看出其含义。不同的是所有的界面控件都继承自 WKInterfaceObject,也就是说这些界面控件不再是继承自UIView的控件实体,而更像是控制真正界面的代理控制器。

在进行开发之前,我们要先了解一下Watchkit是如何工作的。实际上一个Watch应用分为两部分,负责界面的WatchKit App,只包括storyboard和asset catalog,它运行于Apple Watch上,另一个是负责逻辑部分的WatchKit Extension,则运行于iPhone上。开发者可能会担心,这样会不会加大开发的难度呢?答案是完全不会!Apple Watch和iPhone使用Bluetooth LE 和 Wi-Fi 技术进行通信,整个通信过程实在后台完全自动进行的,所以即使界面和交互在Apple Watch上,逻辑在iPhone上,我们却根本不需要操心,只要像常规那样处理界面属性赋值和交互响应即可,确实很酷!

首先是界面开发,在使用WatchKit开发时,不会再出现“代码写UI还是Xib写?”这样的带有争议的问题,因为Watch应用只能用StoryBoard进行开发,我猜想是为了更好的控制Watch应用的界面一致性,除此之外还有比较多限制。譬如不能在运行时动态增减界面元素,只能通过设置隐藏属性来调整界面展示;元素之间不能出现叠加,只能按纵向横向依次排列; Glance必须从官方模版中选择一个来使用,不能自由堆砌界面元素等等。不过最终开发下来,发现只要运用得当,空间还是很大的,在此我们根据实践总结了一些小技巧:

  1. 使用 WKInterfaceGroup WKInterfaceButton - setBackgroundImageNamed: - startAnimatingWithImagesInRange:duration:repeatCount:方法在背景上增加图片或者动画,这样就可以使控件和图形实现叠加。有些小伙伴可能会觉得很惊奇,“什么?WKInterfaceButton也可以作为容器放置控件?”是的,只要在控件的Attributesinspector里把Button的Content属性由Text修改为Group即可,这样我们就可以像使用Group一样使用button了。
  2. 抬手即看的短暂应用场景要求我们必须开发出层次简洁、操作流畅的应用,过程中我们发现WKInterfaceMenu的使用效果非常生硬,实际操作时需要长按才会响应,另外当弹出的选项偏少时,界面并不美观,所以后来用WKInterfaceButton的轻点事件取代了这种长按操作。
  3. 在控件的Attributesinspector里,可以针对38mm和42mm的Apple Watch分别设置属性。
  4. 如果想让一组横向放置的N个控件等宽,可又因为不知道设备类型而不能设置具体的宽度,该怎么办呢? 一种比较土的办法是,在程序运行后,通过获取屏幕宽度来动态的设置控件宽度。另一种方法是直接在该控件的属性设置里把宽度设置为Reletive to Container,然后在其下方的输入框内填写所占比例,例如5等份,就填写0.2,这样系统会按照你的设置自动帮你设置好。
  5. 在传统的基于界面的iOS应用中,程序可以在AppDelegate里做好界面展示的准备工作,但是Watch应用必须直接指定某个界面为入口。如果你的根界面是一个基于分页的结构(page-based), 可能会碰到这样的问题:程序在启动后才动态的决定分页数,所以需要在页面内调用reloadRootControllersWithNames来重新加载,如果加载的页面中不仅包括加载者自身又没有做处理的话,就会无限加载下去,这时候你可以使用一个static变量来解决无限reload的问题,如下:

- (void)awakeWithContext:(id)context {<br>&nbsp; [superawakeWithContext:context];<br>&nbsp; static BOOL bReload = NO;<br>&nbsp; if (!bReload) {<br>&nbsp; bReload = YES;<br>&nbsp; //计算分页数,准备各分页context数据<br>&nbsp; //调用[WKInterfaceControllerreloadRootControllersWithNames: contexts:]加载分页<br>&nbsp; }<br>&nbsp; else {<br>&nbsp; //处理输入的context,这里不加载界面,willActivate执行时再lazy加载<br>&nbsp; }<br>}

当用户抬起手腕打开Glance想看一下天气时,如果程序此时才去进行数据请求,用户就会面对一个大大的N/A界面,需要等上1~2秒,直到网络请求成功,才会显示最新的天气信息。这会带来较差的使用体验。相对来说,我认为比较好的做法是,先让iPhone应用支持后台刷新的系列功能,包括:silent notification、background fetch。如此一来,当用户查看Glance时,呈现给他的是近期更新过的数据,随后程序做出判断,如果这个还需要呈现给用户更新的数据就立即进行网络请求,请求成功后再更新界面。


数据共享与通信

Watch应用和containing iOS App之间可以通过共享数据区进行数据共享。首先启用App Groups,然后在共享容器内根据要共享数据的性质来决定是用NSUserDefaults还是直接在共享区读写文件。官方Demo推荐用NSFileCoordinator来进行文件读写,以完成多进程间的同步。不过,我自己在实践过程中发现,使用NSFileCoordinator时必须特别小心,使用不当会造成因资源引起的死锁。当时情况是这样的:程序上的一个bug导致在个别情况下会出现特别频繁的IO,以致程序几乎失去了响应。这时候如果直接将程序kill掉,资源所在目录有几率发生死锁,如果重启App,程序会卡死在NSFileCoordinator的coordinateReadingItemAtURL方法上。该方法的回调block长时间得不到执行,以致于iOS的”看门狗”会直接将App干掉,启动不起来,只能依靠重启系统来解决。对App开发者来说简直是“人间惨剧”,这种情况下没有几个用户会不删掉App的。

由于atch应用只有运行、挂起、终止三种状态,所以一旦你正在使用NSFileCoordinator写文件时被挂起,它就没有机会让出资源所有权。要解决这个问题,需要使用原子安全的保存操作,如UIDocument。

如果你需要Watch应用同containing iOS app进行通信,可以使用WKInterfaceController类的类方法openParentApplication,反过来如果需要containing iOS app同watch app通信,一种办法是通过在数据共享区读写文件,然后让watch app监听该文件从而做出响应;另一种方法,是使用Darwin Notification Center,具体开发过程,可以参照 官方的建议。

性能方面

关于这一点,官方给予的建议非常明确,简要列举如下:

  1. 尽可能减少iPhone和Apple Watch之间的数据通信,比如尽可能把图片存在WatchKit app bundle里,这样显示图片的时候会更快更省电。
  2. 仅更新界面上改变的部分,比如需要对 table新增了一行数据,不要重新加载整个table。
  3. 减少分页结构应用的加载时间,在init和awakeWithContext做尽可能少的处理,界面如何展示的问题放在WillActivate内处理。
  4. 让一个Controller负责尽可能少的场景,因为当显示其中一个场景时必须要隐藏不需要的控件,但是隐藏控件也会被创建,就会影响加载速度。

其它Tips:

官方论坛的Apple Watch模块里有很多有价值的问答,苹果的工程师会在里面对开发者的疑问进行解答。推荐下载官方Demo Lister,这是一个非常不错的开发示例。但是要注意,Demo里大量使用iOS 8及其以上的API,如果你的App还需要支持iOS 8以下的系统,在Copy代码时请做好兼容。

XCode 6.2版本有一个小bug,就是必须把相关target的Bundle Display Name 和 Bundle Name都配置为我们的应用名,才会在Watch应用启动和iPhone上Apple Watch的配对程序里正确的显示应用名称。

另外,还要给使用XCode6.2的开发者提个醒,不正确的现实应用名称有可能会被审核拒绝。需要支持国际化的开发者要针对所支持语言在infoPlist.strings内配置CFBundleName的值即可。

写在最后

根据Apple在iOS系统上日益开放的策略,我们有理由相信,随着时间的推移WatchKit会开放给开发者越来越多的API。各种App也会更准确的捕捉到Apple Watch的应用场景,开发者也会有更大的舞台去发挥!

作者简介:刘超,2012年加入墨迹天气,主要负责iOS平台软件开发工作。墨迹天气正在寻找技术高手,欢迎感兴趣的中高级iOS工程师交流。chao.liu#moji.com 


CSDN移动将持续为您优选移动开发的精华内容,共同探讨移动开发的技术热点话题,涵盖移动应用、开发工具、移动游戏及引擎、智能硬件、物联网等方方面面,如果您有想分享的技术、观点,可通过电子邮件(tangxy#csdn.net,请把#改成@)投稿。

第一时间掌握最新移动开发相关信息和技术,请关注mobilehub公众微信号(ID: mobilehub)。


我们死后的遗留数据将会如何处理? 传微软考虑重大重组 或势在必行 云适配CEO陈本峰:8年磨一剑 Splashtop企业应用:SplashApp让办公移动起来 时空旅行+内付费“植物大战僵尸2”下月18日全球同步发行! 中移动推网络电话Jego 后来者能否居上? 防止数据泄露:BYOD下的管理员5大妙招 咕咚副总裁司建铭谈移动时代的“软硬整合” 未来的物联网结点:可穿戴设备 应用开发的4个技巧,让程序能真正为用户使用 Google早期的10个API:它们现在在哪? 为啥微软开发产品总是慢半拍? Visual Studio 2013 Preview新功能预览 “中国手机游戏四月流水榜”出炉 超半数基于Cocos2d-x引擎 为移动而设计之信息架构篇 难逃厄运:Zynga将关闭Draw Something母公司OMGPOP 直接拿来用!最火的iOS开源项目(一) 是时候抛弃Eclipse转向IntelliJ了 Arrow:轻量级的Python时间日期库 编程语言API,你最青睐哪一款? 推动新输入方式发展:英特尔为感知计算设1亿美元基金 AWS到底有多大?目前看来有158000台服务器 C语言实现树的动态查找 第五届中国云计算大会于北京隆重举行 改变企业移动化:新Google地图API支持用户定制 诺基亚旗舰手机EOS真机图曝光 配备“巨型”摄像头 走进豆瓣:豆瓣的技术架构与团队文化分享 加速Web开发的10款HTML5工具 微软式微?AMD、英特尔等开始疏远Windows 语音技术现状:四千万突破语音产业的技术壁垒? 万维网联盟W3C推荐Web性能API 请介绍几本好用的自学C语言的书籍好吗?? 紧急求救,请高手来看看 .NET和JAVA到底哪个好? 谁来救我?ISequentialStream::write()为何不好使? 定义类型的困惑 大虾们,如何做一个图标选择框!!!(详情见内) ADO编程问题求解!!!!!!!!!!! ****************简单问题,高分求救??????????????????????? 请问怎样在TabStrip中的选项卡中增加图片?谢了 工程如何能建的工整一些? www.alldas.de为什么无法访问了? 关于动态控件的问题 ADO编程问题求解 怎么编程产生1MHz甚至更高频率的周期信号? 紧急求助—有关JMail4.1附件问题 挥泪大送分!!!!! 怎样才能让自己变胖? 做个仅有对话框的应用,但想把它放到托盘, 给ASP爱好者提个建议! 关于SQLserver2000“视图“的两个问题,请教高手! 好久没上网了,送分以庆祝再回csdn!!!!! 做浏览器,如何实现 “后退”,“前进”,这二个功能? 如何使C:盘,D盘的根目录不共享? 用resin时,是否需要jdk,如何配置?分必给! SDI中的某一个子视图里怎样对主窗口的状态栏进行更改?? ◇◆◇ 失恋代表什么? ◇◆◇ 我英语不懂,想考高程.行吗 ◇◆◇ 学生生涯快完了,大家来说说对学生生涯的感受,特别是什么最深刻的! ◇◆◇ 求救!如何把SQL命令从前端应用程序传给应用程序服务器 要去招商行笔试了,有参加过的兄弟给点建议。 ###############讨论一下->微软全力推出.NET技术和C#语言的出现,VC++还有多久的寿命??? 要去招商行笔试了,有参加过的兄弟给点建议 如何发一消息,帮别人问的 高手帮助!!! 要去招商行笔试,有参加过的兄弟给点建议。 要去招商行笔试,有参加过的兄弟给点建议 我配置的IIS,为什么只能读数据库,不能写入?为什么? 我要去招商行笔试了,有参加过的兄弟给点建议。 好久没发帖了……………… 请问LINUX/UNIX下那种扩展名的文件是可执行的?DOS的。EXE对应的格式是什么? C++入门看什么书好? c++一问题 20分呀!!!!!谁有BIG5到GB的好方法!(除了用码表文件) 请介绍一下FREENET中所谓“寻找最近主机”的算法。 isapiapp的问题?如何定义一个全局变量,使后一个运行的程序不会更改前一个程序的变量 请问response.buffer = true 有什么用? 简单问题: 请教VC中的视图切换问题(急) 50分征答:如何把*.dbf文件的数据导入SQLServer2000中? Win2000下调试ASP组件 寻找资深的网络培训工程师。 设函数f(x)=ax2+bx+c(c>0),且f(1)=-a/2 求证:函数f(x)有两个零点 设x1,x2是函数f(x)的两个零点,求|x设函数f(x)=ax2+bx+c(c>0),且f(1)=-a/2 1.求证:函数f(x)有两个零点2.设x1,x2是函数f(x)的两个零点,求| 定义域为R的函数f(x)若关于x的方程f(x)2+bf(x)+c=0定义域为R的函数f(x)=lg|x-2|(x不等于2)1(x=2)若关于x的方程f(x)2+bf(x)+c=0有5个不同的实数解x1,x2 x3 x4 x5,则f(x1+x2+x3+x4+x5)= 已知A为实数,f(x)=a-2/(2^x+1).当f(x)是奇函数时,若方程f(x)反函数=log2(x+t)总有实数根,求 T的范围 求函数f(x)=e^x+2x+3的零点所在的区间以及零点的个数 定义域为R的偶函数f(x),当x>0时,f(x)=lnx-ax(a属于R),方程f(x)=0在R上恰有5个不同的实数解 (1)求x0时,f(x)=lnx-ax(a属于R),方程f(x)=0在R上恰有5个不同的实数解(1)求x 已知函数f(x)=〔log2^x x>0 3^x x0 3^x x 函数f(x)=xcosx^2在区间[0,4]上的零点个数为? 已知M是满足下面性质的函数f(x)的集合:在定义域内,方程f(x+1)=f(x)+f(1)有实数解(1)函数f(x)=1/x 是否属于集合M?说明理由(2)设函数f(x)=lg(t/x^2 +1),求t的取值范围 已知函数f(x)的定义域为R且对任意实数x1,x2.,总有f(x1+x2)+f(x1-x2)=2f(x1)f(x2)成立,求证:f(x)是偶函 已知函数f(x)=1/3ax^3+1/2bx^2+cx.(I)若f'(1)=-1/2a,3a>2c>2b,试问:导函数f'(x)在区间(0,2)内是否有零点,并说明理由.(II)在上面条件下,若导函数f'(x)的两个零点之间的距离不小于根号3,求b/a的取值范围 已知f(x)=10^/lgx/,若方程f(x)=b,(b是常数)有两个不同的实数根x1,x2,且x1 设函数f(x)的定义域为R,对任意实数x1,x2,总有f(x1+x2)=f(x1)+f(x2),当x>0时,f(x)>0且f(2)=31、判断f(x)的奇偶性和单调性;2、求f(x)在区间【-2,4】上的最大值和最小值;3、当θ∈【0,π/2】时, 已知定义在R上的函数f(x)=1/3ax^3+1/2bx^2+cx(a<b<c)在x=1时取得极值,且y=f(x)的图象有一点处的切线斜率为-a(1)求证:0≤b/a<1(2)若f(x)在区间(s,t)上为增函数,求证:-2 求方程sinx=lgx的实数根的个数. 函数f(x)的定义域是R,对于任意实数x1,x2,都有f(x1+x2)=f(x1)+f(x2)当x>0时,f(x)>0,且不等式f(cos2θ-3)+f(4m-2mcosθ)>0对所有θ恒成立,求实数m的取值范围 计算行列式,第一行:x,y.y,第二行:y,x...y中间几行省略号,最后一行:y y.x 已知函数f(x)=1/3ax^3+1/2bx^2+cx(a>0).若函数f(x)有三个零点分别为x1,x2,x3,且x1+x2+x3=-3,x1x2=-9,求函数f(x)的单调区间;(2)若f'(1)=-1/2a,3a>2c>2b,证明:函数f(x)在区间(0,2)内一定有极值点;(3)在(2)的条件下,若函数 若f(x)是R上的偶函数,且方程f(x)=0有6个实数根,则这6个根的和是什么 计算行列式|1+x1^2 x1x2...x1xn,x2x1 1+x2^2...x2xn.xnx1 xnx2...1+xn^2| 已知函数f(x)=3ax²+2bx+c,a+b+c=0,且f(0)·f(1)>0.若x1、x2是方程f(x)=0的两个实根,求|x1-x2|的取值范围. 定义在R上的偶函数f(x)在[0,+∞)是增函数,则方程f(x)=f(2x-3)的所有实数根的和 数列满足x1=1,x2=2/3,且1/xn-1+1/xn+1=2/xn(n>=2),则xn等于多少 已知函数f(x)=x3+bx2+cx+d的零点x1,x2,x3满足-2 已知方程x^2+2x+t=0的两实数根为X1,X2,若定义X1的绝对值+X2的绝对值=f(t).求函数f(t)的解析式t∈R 有一列数x1,x2,x3······xn已知x1=1,x2-x1=3,x3-x2=5,···,xn-x n-1=2n-1,当xn+x n-1=181,n的值是 已知函数f(x)=│lgx│-(1/2)^x有两个零点x1,x2则有A.x1x21 D.0 已知y=f(x)是偶函数且其图像与x轴有4个交点,则方程f(x)=0的所有实数根之和是多少 有一列数,第一个位x1=1.第二个为x2=3,从第三个数开始依次为x3、x4、xn,从第二个数有一列数,第一个位x1=1.第二个为x2=3,从第三个数开始依次为x3、x4、xn,从第二个数开始,每个数是相邻两个数的一 已知函数f(x)=x^3+bx^2+cx+d,f(x)的三个零点x1,x2,x3分别为公差为3的等差数列{an}的前三项,f'(x)/3+3=0有唯一解(1)求数列{an}的通项公式(2)设数列{an}的前n项和为Sn,数列{Sn}的前n项和为Tn 设f(x)是定义在R上的偶函数,且当x≥0时,f(x)=x2-2x-3,讨论方程f(x)=2a-3(a∈R)的根 一列数:X1、X2、X3、.、Xn、Xn+1、.,其中X1=3 (1)如果对任意的n,有Xn+1=Xn+2 计算X2=( )一列数:X1、X2、X3、......、Xn、Xn+1、......其中X1=3(1)如果对任意的n,有Xn+1=Xn+2计算X2=( )X3=( )X4=( 设定义域为R的函数f(x)=lg/x-1/,(x不=1) 0 ,(x=1) 则使关于x的方程f^2(x)+bf(x)+c=0有5个不同实数解的条件是(A)b0 (B)b>0且c0且c=0 (D)b>=0且c=0 已知二次函数f(x)=aX2+bx+c的图象经过点(-1,0),且对一切实数x,不等式x≤f(x)≤(1+x2)/2恒成立.求f(x)的解析式注:x2是x的平方急 设X1、X2、X3……Xn是整数,并满足:(1)-1≤Xi≤2 i=1、2、.n;(2)X1+X2+……+Xn=19 (3)X1的平方+X2的平方+……+Xn的平方=99求X1的立方+X2的立方+……Xn的最大值与最小值 设定义域为R的分段函数f(x)=|lg|x-1||,x≠1;0,x=1,若关于x的方程a[f(x)]2-f(x)+1=0有8个不同的实数解求a的取值范围 若函数f(x)=x^2,则对任意实数x1,x2,下列不等式总成立的是:A.f[(x1+x2)/2]小于等于[f(x1)+f(x2)]/2B.f[(x1+x2)/2]小于[f(x1)+f(x2)]/2C.f[(x1+x2)/2]大于等于[f(x1)+f(x2)]/2D.f[(x1+x2)]/2大于[f(x1)+f(x2)]/2 已知X1,X2,X3,...Xn中每一个数值只能取-2,0,1中的一个,且满足:X1+X2+X2+...+Xn=-17,X1²+X2²+X3²+...+Xn²=37求X1³+X2³+X3³+...+Xn³的值当X=1+√2002/2时,代数式(4X³-2005X-2001)^2009的 已知函数f(x)=lg(ax^2+2ax+1)的定义域为R.则实数a属于_? 设f(x)是定义在R上的增函数,且对于任意的x都有f(2-x)+f(x)=0恒成立.如果实数m,n满足不等式组设f(x)是定义在R上的增函数,且对于任意的x都有f(2-x)+f(x)=0恒成立.如果实数m,n满足不等式组f(m^2-6m+23)+f 有一列数X1 X2 X3 .XN XN+1 X1=3 如果对任意的N 有XN+1=2XN 试着 把 XN用N表示出来 定义域为R的函数f(x)={lg|x-2|,x不等于2; 1,x=2}若关于x的方程f(x)^2+bf(x)+c=0有五个不同实根x1x2x3x4x5求f(x1+x2+x3+x4+x5)=? 设函数f(x)=ax^2+bx+1(a≠0,b∈R),若f(-1)=0,且对任意实数x(x∈R)不等式f(x) ≥0恒成立,求a,b 若一组数据X1,X2,X3,X4,…,Xn的方差为0,则表示( )A.X拔=0B.X1=X2=…=Xn=0C.X1=X2=…=XnD.无法确定 设定义在R上的函数f(x)=根号下[x2-2lxl+1],则关于x的方程f2(x)+bf(x)+c=0有八个不同实数解的充要条件是 已知函数f(x)=x2-2x-5.(1)是否存在实数m,使不等式m+f(x)>0对于任意x属于R恒成立?说明理由.(2)若存在一不等式m-f(x)>0成立,求实数m的取值范围 有一列数:X1、X2、X3……XN……其中X1等于31 如果对任意的N,有XN+1=2XN.计算X2=( ),X3=( ),X4=( ),根据上面一小题的结果,请试着把XN用N表示出来:XN=( ),计算X6=( ) 函数f(x)=(2x次方-1)的绝对值,则关于x的方程f2(x)=bf(x)+ 有3个不同实数解的充要条件是函数f2(x),则关于x的方程 有3个不同实数解的充要条件是A.-1 0 B.1>b > 0且c < 0 C.-1b≥0且c=0 f(x)是R上的函数,对于任意实数a,b,都有f(ab)=af(b)+bf(a),且f(2)=1.(1)求f(1),f(1/2)的值(2)令bn=f[2^(-n)],即2的-n次方,求证:{2^n•bn}为等差数列(3)求{bn}的通项公式 设函数f(x)=ax2+bx+c(a>0),且f(1)=-a/2 设x1x2是函数f(x)的两个零点,求|X1-X2|的取值范围 已知函数y=3-(x-m)(x-n),且a,b是方程3-(x-m)(x-n)=0的两个根,则实数m,n,a,b的大小关系可能是A.m<a<b<nB.m<a<n<bC.a<m<b<nD.a<m<n<b 函数f(x)=|2^x-1|(x 设函数f(x)=ax2+bx+c(a>0),且f(1)=-a/2,求证函数有两个零点 已知函数f(x)=|x^2+2x|,若关于x的方程f^2(x)+bf(x)+c=0有七个不同的解,则b,c大小关系为?答案是b 已知函数f(x)=log2(a-2-x/x-a)是奇函数,若关于x的方程f-1(x)=m2^-X实数解求m的值f-1(x)即反函数 已知函数f(x)=ax2+bx-1(a,b∈R且a>0)有两个零点,其中一个零点在区间(1,2)内,则a-b的取值范围是A(-1,1) B(-1,+~)C(-2,1)D(-2,+~)答案为B。急需过程,谢谢。 已知f(x)=lx2+2xl若关于x的方程f2(x)+bf(x)+c=0有7个不同的实数解.则b.c的大小关系为Ab>c Bb>=c与b 设函数f(x)=log2^(2^x+1)的反函数为y=f^-1(x),若关于x的方程f^-1(x)=m+f(x)在【1,2】上有解,实数m的范围 设函数f(x)={2(x>0),x2+bx+c(x≤0),若f(-4)=f(0),f(-2)=-2,求函数g(x)=f(x)-x的零点的个数.设函数f(x)={2(x>0),x2+bx+c(x≤0),若f(-4)=f(0),f(-2)=-2,求函数g(x)=f(x)-x的零点的个数. 已知函数f(x)=1/3x^3+x^2+(2a-1)x+a^2-a+1,若f'(x)=0在(1,3】上有解,则实数a的范围 已知a为实数,f(x)=a-2/(2^x+1)(x为R) 当f(x)是奇函数时,若方程f(x)的反函数=log2(x+t)总有实数根,求实数t的取值范围.
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn