导语:如何才能写好一篇程序开发,这就需要搜集整理更多的资料和文献,欢迎阅读由公务员之家整理的十篇范文,供你借鉴。
4、选择本地小程序项目
5、创建一个新的小程序项目,选择无appid即可快速创建本地小程序项目
乙方:
乙方在年月日之前,完成对crm程序的开发及维护。
甲方在年月日之前,完成对crm程序进行验收。
第二条:甲方的权利和义务
1.提供专人与乙方联络。
2.提供所有需要写进crm程序上的资料给乙方,并保证资料的合法性。
4.甲方如要向第三方出售该程序、文件源码,必须向乙方告知并征求乙方的同意。
第三条:乙方的权力和义务
1.按第一条的规定,使用甲方所提供的资料,进行crm程序的开发。
2.按第一条规定的期限内,完成crm程序的开发,并通知甲方进行验收。
3.在验收期内按照甲方的要求对crm程不合格的地方进行修改。
第五条:违约责任
1.任何一方有证据表明对方已经、正在或者将要违约,可以终止履行本合同,但应及时通知对方。若对方继续不履行、履行不当或者违反本合同,该方可以解除本合同并要求对方按本合同签约金额的十倍赔偿对方损失。
2.鉴于计算机能互联网的特殊性,包括但不仅限于黑客、病毒、电信部门技术或政策调整等引起的事件,或由于internet上通路的阻塞造成服务延迟或中断,不属于乙方违约,乙方对此产生的一切后果,不承担责任;
3.如果本合同某一条款根据现行法律被确定为无效或无法实施时,本合同的其他所有条款将继续有效。此种情况下,双方将以有效的约定替换该约定,且该有效约定尽可能接近原约定和本合同相应的精神和宗旨。
4.因不可抗力而无法承当责任一方,应在不可抗力发生的三天内,及时通知另一方。且因此造成的损失,不付赔偿责任。(本合同所称不可抗力是指不能预见、不可克服并无法避免且对一方当事人造成重大影响的客观事件,包括但不仅限于自然灾害如洪水、地震、火灾和风暴等以及社会事件如战争、动乱、政府行为等。)
5.甲乙双方应严格保守在合作过程中涉及到的对方的商业和技术机密,否则因此造成的损失须承担本合同签约金额的十倍赔偿金。
第六条:甲乙双方的其他权力和义务
2.乙方承诺为甲方提供在莆田市区内三次以内(含三次)的上门服务并承诺×××个工作日内受理,在非工作日内依乙方工作安排的具体情况而定。
3.超过约定服务次数的上门服务,甲方应按双方协商约定的确良费用向乙方支付服务费用,乙方不得擅自提高服务价格。
5.自签约之日起,甲方应向乙方一次性支付人民币贰仟伍佰圆(×××元)作为乙方开发crm程序的报酬。
6.如若乙方通过甲方的介绍与第三方达成合作并收取全部费用时,乙方须向甲方支付成交额的×××作为甲方的报酬,但签约金额不得低于叁仟圆人民币(300×××元)。
7.本合同一式两份,双方当事人各执一份,具有同等法律效力。
9.因本协会产生的任何争议,双方应协商解决,若双方协商十五天后仍未解决,双方同意将纠纷提交乙方所属管辖区的人民法院诉讼。
第七条:以上条款如有未尽事宜,经甲、乙双方协商后加以补充(具有同等法律效力):
补充内容:
甲方:(盖章)乙方:(盖章)
1作品:Eco2Go
作者:TaneemTalukdar,GaryPong,JeffKao和RobertLam
入选分析:
有鉴于全球暖化日益严重,因此解决全球暖化最直接的做法就是“节能减碳”。5名加拿大的学生参加Android程序开发竞赛以手机计算个人日常行动所产生的碳使用量,以期能够达到在不影响正常的生活下,尽可能以大众运输工具取代自行开车。这个应用也可以记录你旅游后的碳使用总量。它尽可能的提供用户参与Eco2go的社群,该社群活动的重点在于交换节能减碳的故事与想法,并鼓励社群成员承诺节能减碳的目标。
2作品:CallACab
作者:KonradHuebnerandHenningBoeger
只要按手机一个键就可以叫出租车,无论你身在何处,甚至于不知道车行的名称,只要按键出租车就自动上路。还可以透过地图的数据显示最近的出租车的位置。
这个应用对于不熟悉科技的使用者来说的确符合他们的需求,只要按个键就可以知道出租车的位置,并且立u叫车而没有繁琐无用的人机接口,对于幅员广大的国家相当实用。
3作品:PocketJourney
作者:AnthonyStevensandRosiePongracz
用户每到一个新的地点,都会想对当地作一个认识,诸如建筑、艺术、运动、历史、地理环境、音乐、科学等的信息均有助于帮助人们去了解,熟悉新地方的风土人情。不仅如此,这个程序还可以帮助人们以语音或影像将这些信息呈现出来。当手持Android手机到一个陌生的地点,它不仅会提供当地的重要的信息,如果用户要顺道观光,它还会推荐附近著名景点。并用语音介绍其特色。
关于这个应用其实未必有用,试想我们到一个陌生的地点例如美国的旧金山或大英博物馆,可以用购买的方式向当地旅游单位购买这类中文旅游电子书下载到手机,一样的效果,而且实现的机率更高。因为不见得所有的地方无线的覆盖率都是100%。
4作品:ANDROIDSCAN
作者:JeffreySharkey
AndroidScan可以用手机的照相机去扫描CD或书本的barcode,而且能实时到因特网寻找相同的CD产品的价格,并依找到的卖方的名称、位置、价格排列、用户可依最近的位置找到最便宜的价格。
这是相当有创意而且扩展性极高的应用,一旦GooGle愿意将所有物品条形码数据价格、地点等全部上网,对我们的生活购物行为将产生更重大的影响。
扫描BARCode之后,AndroidScan会寻找标的物的介绍以及卖方的信息,价格等,必列出附近的可以买到的地点。
AndroidSCAN找到CD之后可以进行比价,如果在当地附近有价格合理的商店,点选后它会显示距离以及位置。
这个应用相当有趣而且具有更大的发展性,试想如果Google将所有的东西的条形码都提供上网,利用Android手机作为扫描仪并以此应用做为比价搜寻系统。对多数人的生活将起很大的改变。
5作品:SPLASHPLAY
作者:
入选分析:
歌曲在Android手机播放之后透过USB或蓝芽接口将歌由以及旋律送到各种乐器的光板,光板会产生对应的亮点,想学歌或乐器的人可以用这种方式学习音乐。由于这种方式很有机动性,车上,在帐蓬中都可以利用。只需包括一个吉他调音器,吉他节拍器和免持听筒,蓝牙足踏板。该产品将提供一种简单,便利和有趣的方法学习音乐。
关于这个应用实在看不出有何特点,直接在Android手机播放音乐和仿真光板不就好了,况且学音乐和唱歌真的只用这种方式学习,那就没什么乐趣了。
6作品:COMMANDRO
作者:AlexPisarev,AndreyTapekha
提供多重的方法达到人和人沟通的目的
以地理位置为中心的社群网络和人际互动的通讯应用软件将Android平台的功能发挥漓漓尽致。
实际人际互动通信的革新。
多维的工具可用在娱乐以及通信实务。
提供多重的方法达到人和人沟通的目的。
Commandro显示出你的朋友目前在那里正在做什么,它利用GPS定位系统确认你和你的朋友已经抵达事先约好的地点。
7作品:GolfPlay
作者:InizziativaNetworks
[关键词]Frameworkbin
1引言
不仅仅只是ASP的一个简单升级,它更为我们提供了一个全新而强大的服务器控件结构。从外观上看,和ASP是相近的,但是本质上完全不同。几乎全是基于组件和模块化,每一个页,每一个对象和HTML元素都是运行的组件对象。在开发语言上,ASP.省略Framework所支持的,C#.NET等语言作为其开发语言,这些语言生成的网页在后台被转换成了类,并编译成了一个DLL。由于是编译执行的,所以它比ASP拥有了更高的效率。
2安装的执行环境
有许多ASP爱好者想转学,要学习即ASP+,就必须先配置的调试环境。
2.1安装InternetInformationService
操作系统可以是:Windows2000Professional,Windows2000Server,Windows2000AdvancedServer,WindowXP,Windows2003。
浏览器要是5.5以上,最好是IE6.0版本,建议使用IE6SP1。
IE6SP1的下载地址是:
download.省略/download/ie6sp1/finrel/6_sp1/W98NT42KMeXP/CN/ie6setup.exe
以上我们提出了三种操作系统都可以安装IIS,下面我们选择一种进行介绍,以Windows2003中IIS的安装为例进行介绍。
在Windows2003Server安装IIS6.0服务器的步骤如下:
(1)方法一:使用“配置您的服务器向导”安装IIS6.0
①调出“开始”菜单,单击“管理您的服务器”。
②在“管理您的服务器角色”下,单击“添加或删除角色”。
③阅读“配置您的服务器向导”中的预备步骤,然后单击“下一步”。
④在“服务器角色”下,单击“应用程序服务器(IIS,)”,然后单击“下一步”。
⑤阅读概要信息,然后单击“下一步”。
⑥单击“完成”。
(2)方法二:使用控制面板安装IIS、添加组件或删除组件来安装。
①调出“开始”菜单,单击“控制面板”。
②双击“添加或删除程序”。
③单击“添加/删除Windows组件”。
④在“组件”列表框中,单击“应用程序服务器”。
⑤单击“详细信息”,勾选“”和“Internet信息服务(IIS)”。
⑥单击“Internet信息服务(IIS)”。
⑦单击“详细信息”以查看IIS可选组件的列表。
⑧选择要安装的所有可选组件。
⑨单击“确定”,直到返回到“Windows组件向导”。
⑩单击“下一步”,然后完成“Windows组件向导”。
启动“Internet信息服务(IIS)”,展开“Internet信息服务”控制树,在“默认网站”上用鼠标右键单击“属性”。
在“默认网站”属性窗口中切换到“主目录”选项卡,在“本地路径”栏浏览选择主目录的路径。
单击“文档”选项卡,在出现的对话框中单击“添加”按钮,会出现“添加默认文档”对话框,在该对话框输入index.aspx。
单击“确定”按钮,回到“文档”选项卡,已经多了一项index.aspx默认文档,通过单击向上的箭头将index.aspx移动到第一项。
单击“确定”按钮,回到“Internet信息服务”管理器窗口。
单击“Web服务扩展”,在右边显示的窗口中各扩展项选择允许。
2.2安装MDAC组件
我们在上一部分介绍了安装IIS的方法,下面我们将介绍在操作系统中安装数据库驱动程序,即安装MDAC组件,要求至少是MicrosoftDataAccessComponents2.7。安装MicrosoftDataAccessComponents2.7的步骤如下所述:
①找到MicrosoftDataAccessComponents2.7的安装文件夹。
②双击MicrosoftDataAccessComponents2.7的安装程序,即可启动该安装程序。
③选择“是,我接受上面许可协议中的所有条款”,然后单击“下一步”即可完成安装。
2.3安装.NETFramework
的运行环境还需要安装.NETFramework如果操作系统是Windows2003则可以不需要安装.NETFramework,因为系统已经集成。以下的安装方法针对Windows2000和WindowsXP操作系统。
①下载.NETFramework1.1.exe安装文件。
从微软中国网站可以下载NETFramework1.1.exe安装文件。
②下载.NETFramework1.1简体中文版语言包。因为页面的调试报错信息比较详细,安装中文语言包便于查找错误代码。
③安装.NET框架。首先确保IIS服务器能正常运行,接着安装.NETFramework1.1。双击NETFramework1.1.exe启动安装程序,弹出询问是否安装的对话框。
④单击“是”,进入下一步就进入安装状态,碰到对话框按“回车”就行了。安装程序自动完成所有的工作。安装完毕后,IIS不用作任何设置。然后再安装简体中文语言包。直到完成安装为止。
3环境搭建后的测试
打开浏览器,输入以下地址:localhost/2.aspx,这个地址中,2.aspx这个文件是不存在的,可以是任意名称。如果.NETFramework1.1和语言包安装正确,服务器将报错,提示找不到资源。因为2.aspx这个文件是不存在的。
要引起重视的是:必须是后缀名为.aspx才能出现上述信息,对于ASP页面,仍然由ASP引擎处理,不会出现上图这么详细的提示。
4开发环境的补充说明
关键词Java;桌面程序;事件处理
使用Java语言进行桌面程序开发包含两个关键步骤:一是实现图形用户界面;二是实现界面与用户的交互功能。桌面程序如果空有界面,但用户做什么都没有反应,程序不能与用户互动,那这个程序就没有实际意义了。为了让图形用户界面能“动”起来,能对用户的操作比如点击按钮、选择菜单命令等做出响应,就需要为图形用户界面添加事件处理编码。
1)确定事件源和事件,即确定界面上的什么组件是有必要监听它与用户的交互动作的,该组件与用户交互产生的哪种事件是需要程序作出响应的。
3)为事件源注册监听器对象。只有将事件源与监听器对象这样绑定之后,事件源上发生与用户的交互事件时,才会触发监听器对象中相应方法的执行,即调用具体的功能代码,亦即程序对用户的交互动作作出了响应。
3事件处理编码的两种常见方式
为方便演示,此示例中假定合法账号、密码为admin和1234,实际应用中账号、密码应存于数据库。账号文本框名为t_name,密码框名为p_pwd,登陆按钮名为b_login,重置按钮名为b_reset,均使用javax.swing包中的组件类型创建。
3.1界面类同时作为监听器类方式
实现界面的类同时实现监听器接口成为监听器类,因此,事件源注册的监听器对象即为本类对象。两个按钮可以注册同一个监听器对象,在实现具体功能之前应先区分事件源是“登陆”还是“重置”按钮,然后再实现各自对应的功能。核心代码如下:
publicclassLoginFrameextendsJFrameimplementsActionListener{
……
//两按钮注册监听器
b_login.addActionListener(this);
b_reset.addActionListener(this);
//ActionListner接口必须实现的方法,此方法在ActionEvent事件发生时自动被调用
publicvoidactionPerformed(ActionEvente){
//事件源是“登陆”按钮
if(e.getSource()==b_login){
//验证账号、密码合法性并反馈结果
Stringpwd=newString(p_pwd.getPassword());
if("admin".equals(t_name.getText())&&"1234".equals(pwd)){JOptionPane.showMessageDialog(this,"登陆成功!");
}else{
JOptionPane.
showMessageDialog(this,"账号或密码错误,登陆失败!");
}
//事件源是“重置”按钮
if(e.getSource()==b_reset){
//清空账号、密码框
t_name.setText("");
p_pwd.setText("");
3.2匿名内部类方式
以匿名内部类的方式实现监听器类,并实例化一个匿名对象直接注册给事件源。这种方式是所见即所得的图形用户界面开发工具中较常使用的方式。“登陆”按钮和“重置”按钮各自注册自己的监听器对象实现对应的功能,核心代码如下:
//"登陆"按钮注册监听器
b_login.addActionListener(newActionListener(){
});
//"重置"按钮注册监听器
b_reset.addActionListener(newActionListener(){
4小结
事件处理编码的方式虽然是多样的,但中心思想是一致的,那就是:创建监听某种类型事件的监听器类,将监听器对象注册给事件源。理解了这个中心思想,那不同的编码方式就都容易理解和掌握了。
参考文献
[1]曹静,Java桌面程序开发[M].大连理工大学出版社,2011.
关键词:windowsCEbasic4ppc程序开发
中图分类号:P2文献标识码:A
测绘工作的性质决定了在测绘工作中需要实时记录和现场计算,起初这些记录和计算的工作都由手工完成。手工记录和计算有不少缺点,例如工作效率差,数据错误率高,内业处理繁琐等。后来随着科技的发展,出现PC-1500、PC-E500和带编程和存储功能的计算器,这给测绘工作带来了很大的便利。这些袖珍型计算机的出现确实方便了测绘人员但是这些设备也有一些无法回避的问题,这些计算机的程序虽然都基于BASIC语言,方便了测绘人员的二次开发但是它们的调试和代码的输入十分的繁琐,并且交换界面也不太友好,显示屏幕为单行或者几行。这些袖珍计算机多依赖进口,国内无法仿制,随着国外生产线的停产,以及国内可更换零件的减少,这些计算机在国内已接近绝迹。后来出现了casio系列计算器,它们也可以编程和少量记录数据,这一系列计算器的出现在一定程度上替代了上述的那些袖珍计算机,在工程测量中仍发挥不小作用。但是那些袖珍计算机的缺点,在它们身上依然可以找到。随着时代的发展测绘人员迫切需要一种编程更为简便,调试方便,存储量大,并且交互界面友好的辅助工具的出现。WindowsCE这种嵌入式系统的出现给广大测绘工作者带来了福音。
一、WindowsCE的发展和应用
WindowsCE是微软公司开发的一种基于移动计算平台的开放式可升级的嵌入式操作平台。它具有良好的图形用户界面和良好的可扩展性。且编程语言和windows桌面平台的开放语言(visualBasic、visualC++)十分类似,为程序的移植提供了便利。
WindowsCE系统相当于最基础的框架系统,WindowsCE的版本也经过了不断的更新和完善。WindowsCE系统经过7个阶段的发展已经日臻完善。从WindowsCE3.0开始微软开始把它改成为windowsforPocketPC简称PPC,从此world和excel被装进了口袋,windowsce5.0以后微软开放了该系统的源代码,使得基于WindowsCE开放的系统越来越多。
WindowsCE也渗透到了测绘领域,很多工具的系统基于WindowsCE开发或者本身就是windowsCE系统。携带windowsCE系统的GPS手薄(华测、中海达、南方等)已经成为主流配置。另外不少全站仪也舍弃了老、旧、复杂的黑白显示换成了基于WindowsCE内核的图形交互界面。这些经过移植的系统使得测绘仪器的操作更加简便,使得这些工具和PC处理系统实现了无缝连接,数据传输更加顺畅。很大程度的提高了测绘工作的效率。即使一些仪器没有搭载该系统,也可以通过一些搭载了该系统的辅助工具完成计算和存储数据的工作例如PDA或者智能手机。这些工具只要加载为WindowsCE系统开发的测绘软件就可以。
二、WindowsCE软件的开发
WindowsCE继承了windows平台的易用性和良好的扩展性,其开发工具也很多
微软提供的开发工具有EmbeddedVisualTools3.0,其中包括EmbeddedVisualC++3.0和EmbeddedVisualBasic3.0;EmbeddedVisualC++4.0和Visual开发工具的版本号是与WindowsCE的版本号对应的。EVC3.0和EVB3.0是用来开发基于WindowsCE3.0平台的应用程序的。而EVC4.0是用来开发Windows平台的程序。Visual则支持目前主流的windowsCE平台(windowsCE6.0、windowsmobile6.0、windows6.5等等)。除了官方给的开发工具外也出现了一些第三方的开发工具例如basic4ppc等等
在开发工具选择方面,由于之前在测绘行业中广泛应用的PC-1500、PC-E500和有编程功能的计算器大多都基于BASIC语言开发,前辈们基于这些设备开发的程序经过简单的移植之后就可以应用到新的平台例如PDA或者其他搭载windowCE系统的平台。所以BASIC语言系列更具优势。
三、开发实例
本文以开发中小程序见长的Basic4ppc举例说明。Basic4ppc具有安装简便,代码编写环境多样,代码调试方便不需虚拟机支持以及提供更加简便快捷的程序封装等特点。另外
系统本身提供了大量的可视化控件,可以很方便的使用可视化方式直接绘制用户的图形界面,直观动态的调整位置,直到用户满意为止,不必用大量的代码来描述界面控件的外观和位置。
Basic4ppc的开发界面
在工程测量中很多时候会出现临时增加放样点的情况,例如在建筑方格网的放样中,如果放样坐标系为独立施工坐标系,建筑物的轴线平行于坐标轴方向,那么坐标非常容易计算。但是也会有例外,出现轴线与坐标轴方向不平行的情况,这就给坐标计算带了困难。本文以解决此问题的程序开发为实例来讲解一下具体的开发过程
首先大概的编程思路:是利用坐标正反算原理通过输入方格网中两个相邻已知点坐标、待定点到已知坐标点轴线的垂直距离、垂足到任意一个已知点的距离等参数即可求出待定点坐标。
其次根据自己的个人习惯绘制图形控件包括TextBox、Button以及Label控件
控件绘制界面
再次根据这些控件的触发机制编写代码
SubApp_Start
Form1.Show
TextBox5.Text=""
TextBox6.Text=""
TextBox7.Text=""
TextBox8.Text=""
EndSub
SubButton2_Click
AppClose
SubButton1_Click
x1=TextBox1.Text
x2=TextBox3.Text
y1=TextBox2.Text
y2=TextBox4.Text
F=方位角.FWJ(x1,y1,x2,y2)
TextBox5.Text=F
TextBox6.Text=距离.JL(x1,y1,x2,y2)
IfTextBox7.Text=0Then
s1=0.00000000001
Else:s1=TextBox7.Text
EndIf
s2=TextBox8.Text
a1=ATan(s2/s1)
a=F-a1
S=Sqrt(TextBox7.Text*TextBox7.Text+TextBox8.Text*TextBox8.Text)
TextBox10.Text=x1+S*Cos(a)
TextBox11.Text=y1+S*Sin(a)
TextBox9.Text=F
为了是代码尽量简洁可以向VB一样创建模块加以引用
虽然basic4ppc也是基于BASIC语言但是和VB的语法还是略有差别值得大家注意
控件名称由text.Text变为TextBox.text,还有该软件不识别iif函数只能通过其他判断语句来实现。在模块编写时需要用return来返回过程名的值,在调用时需要采用模块名.过程名(参数)的模式。
编写完成后只要通便生成终端版的可执行文件即可完成封装,再通过windowsce的同步软件传输到终端中即可在终端中使用。
最终应用效果
摘要:由Google倡导发起的开放手机联盟及其推出的Android平台,一经便在业内引起轩然大波。首先介绍了android平台中的内部结构,并通过和现有的智能手机开发平台进行比较研究分析了该平台的结构特点,以此来说明android平台具有强大的开放性和兼容性。然后重点介绍了该平台强大的功能之一――GoogleMap,通过开发一个利用地理定位服务来获取当前设备地理位置的应用实例,并详细地介绍了GoogleMap中丰富的API功能以及应用程序的基本开发流程,来验证AndroidSDK提供的强大的技术支持。
关键词:Android;智能手机平台;应用程序;GoogleMap;Geocode
DevelopmentandResearchofApplicationBasedonGoogleAndroid
ZHANGShi-Cheng
(SoftwareCollege,TongjiUniversity,Shanghai201804,China)
Abstract:TheestablishmentofOHA(OpenHandsetAlliance)andthepublicationofAndroidplatformbyGooglehavecauseduproarincommunicationindustry.Thispaperfirstlyintroducedandanalysedcharacteristicsofthisplatformbycomparedwithothers,toexplainthatthisplatformhastheformidableopennessandthecompatibility.ThenitintroducedtheapplicationinterfacesofGoogleMap,andthebasicdevelopmentprocedureofaapplication,whichusedalocationservicetogainthegeographicalpositionofthecurrentequipment,toverifytheformidabletechnicalsupportwhichtheandroidsdkprovides.
Keywords:Android;smartphoneplatform;application;GoogleMap;Geocode
1Android平台的架构
Android平台整体自底向上由以下四个层次组成:Linux内核层、Android运行时库和其他库层、应用框架层、应用程序层。
1)Linux内核层:Android基于Linuxversion2.6.23内核开发的,主要是添加了一个名为Goldfish的虚拟CPU以及Android运行所需的特定驱动代码。该层用来提供系统的底层服务,包括安全机制、内存管理、进程管理、网络堆栈及一系列的驱动模块。作为一虚拟的中间层,该层位于硬件与其它的软件层之间。需要注意的是,这个内核操作系统并非类GNU/Linux的,所以其系统库、系统初始化和编程接口都和标准Linux系统有所不同的。它没有采用虚拟内存文件系统。而是采用YAFFS2文件系统。YAFFS(YetAnotherFlashFileSystem)文件系统是一个开源的,专门为NANDFlash设计的文件系统,具有很好的可移植性,也是一种日志型文件系统,能够在Linux,uCLinux.和WindowsCE上运行。YAFFS目前有YAFFS和YAFFS2两个版本,一般来说,YAFFS对小页面(528字节/页)有很好的支持,而更大的页面(2K+64字节/页)就需要支持超大容量的NANDFlash。所以采用支持大页面的YAFFS2文件系统。
2)Android运行时库和其他库层:Android运行时库包含一组核心库(提供了Java语言核心库内的大部分功能)和Dalvik虚拟机。同时Android提供了丰富的库类支持且大部分为开源代码,如采用的数据库为SQLite。Android选择它作为移动终端的嵌入式数据库有以下优点,它无需安装和管理配置,它是一个存储在单一磁盘文件中的完整的数据库,体积小只有250KB但支持数据库大小至2TB,提供了对事务功能和并发处理的支持,而且比目前流行的大多数数据库运行速度快。
3)应用框架层:在应用框架Android开发人员可以跟那些核心应用一样拥有访问框架APIs的全部权限。应用的系结构化设计简化了各组件之间的重用,任何应用都可以分发自己的足见,任何应用也可以使用这些分发的组件(应用的使用方法需遵循框架的安全性约束)。
4)应用程序层:Android本身会附带一些核心的应用程序,包括e-mail客户端、短信程序、日历、地图、浏览器、通讯录等等,目前所有的应用程序都是由Java语言开发的。
2Android平台与J2ME的区别
可以发现J2ME的应用是建立在JVM(或KVM)之上,而主机操作系统是位于J2ME平台之外.这样的设计一方面提供了跨操作系统的特性,主机操作系统可以是Symbian、WindowsMobile和Linux,另一方面J2ME虽然提供了统一的开发平台,但是JVM的安全机制让J2ME的应用程序不能调用本地系统资源.而Android向下既包括操作系统内核心,向上又拥有通现成的应用软件,加之开源、免费、可以直接使用Java语言为开发人员提供了极大的便利。
另外需要强调的是虽然同样是使用Java语言进行开发,但是Android使用的Dalvik虚拟机和J2ME使用的标准的Java虚拟机(JVM)存在以下区别:
2)运行环境的区别.Dalvik经过优化,允许在有限的内存中同时运行多个虚拟机的实例.
3Android平台应用程序开发例程
开发实例是一个Android平台上地理定位应用程序,该应用是利用Android平台上的GoogleMap中的API来获取当前设备的地理位置,可以定时地请求更新设备当前的地理位置信息。
在详细进入coding之前,我们先介绍下经纬度知识。
经度是地球上一个地点离一根被称为本初子午线的南北方向走线以东或者以西的度数,本初子午线的经度是0度,地球上其它地点的经度是向东到180度或者向西到180度。
纬度是指某点与地球球心的连线赤道面所成的线面角,其数值在0至90度之间,位于迟到以北的点的纬度叫北纬,记为N,位于赤道以南的点的纬度称南纬,记为S。
所谓地图投影,就是在平面上建立与地球曲面上相对应的经纬网的方法。地图投影的拟定和计算,一般均假定地球表面为旋转椭球面或参考椭球面。
3.2GoogleMap中的API
使用geocode,地球上任何一个地点都可以用精度+纬度来代表。在Android中,com.google.android.maps.GeoPoint这个类代表了一个地点的经纬度;GeoPoint(intlatitudeE6,intlongitudeE6),E6是纬度(microdegrees).就是度数再乘以1000000。目前如果要指定地图地点,一定要传递一个Point的类到地图中。
Android中定义了一个名为com.google.android.maps的包,其中包含了一系列用语GoogleMap上显示,控制和层叠信息的功能类,以下是该包中最重要的几个类:
MapActivity:这个类是用语显示GoogleMap的Activity类,它需要连接底层网络。
MapView:MapView是用于显示地图的View组件。它可以获取键盘事件(onKeyDown和onKeyUp)来支持地图移动和缩放功能。它还支持多层Overlay,可以在地图上面画坐标,写地名,画图片等等,MapView必须和MapActivity配合使用。另外,MapView还提供了卫星图、交通图和路况图3种模式功能。
MapCotroller:它是用语控制地图的移动。Overlay:这是一个可显示于地图之上的可绘制的对象。
GeoPoint:这是一个包含经纬度位置的对象。使用GeoPoint对象,地球上的任何一点都可以用精度+维度来代表。这个类对象代表了一个地点的经纬度:GeoPoint(intlatitudeE6,intlongtitudeE6),E6是微度(microdegrees),就是度数再乘以1000000,目前如果要指定地图地点,一定要传递一个GeoPoint的类到地图中,例如:
纽约帝国大厦的经度和纬度
GeoPointp=newGeoPoint(40.74836*1000000,-73.984621*1000000);
//获取当前地图的控制器
MapControllermc=mapview.getController();
//地图中心移动到指定的点上
mc.animateTo(p);
//放大到21级(level),level的范围1-21
mc.zoomTo(21);
以下是几个Android关于定位功能的包中比较重要的类:
LocationManager:本类提供访问定位服务的功能,也提供获取最佳定位提供者的功能。
LocationProvider:该类是定位提供者的抽象类。定位提供者具备周期性报告设备地理位置的功能。
LocationListener:提供定位信息发生改变时的回调功能。必须实现在定位管理器中注册监听器对象。
Criteria:该类使得应用能够通过在LocationProvider中设置的属性来选择合适的定位提供者。
3.3项目源程序开发
3.3.1用户界面的布局
Android:id=”@+id/myGMap”
Android:layout_width=”fill_parent”
Android:layout_height=”fill_parent”
Android:enabled=”true”
Android:clickable=”true”
Android:apiKey=”API_Key_String”/>
3.3.2申请APIkey
要使用GoogleMap服务的话,我们需要一个APIkey。我们可以通过如下方式获取APIkey:
1)找到USER_HOME\LocalSettings\ApplicationData\Android目录下的debug.keystore文件。
2)使用keytool工具来生成认证信息(MD5),使用如下命令行:
KeytoolClistCaliasandroiddebugkeyCkeystorekeystoreCstorepassandroidCkeypassandroid
3)打开‘signupfortheandroidmapsAPI’页面,输入之前生成的认证信息(MD5)后将获取到你的APIkey。
4)替换上面AndroidManifest.xml配置文件中“API_Key_String”为你刚才获取的APIkey。
3.3.3权限设置
另外,要使用定位信息的话,必须设置一些权限,AndroidManifest.xml中的配置如下:
3.3.4程序中的核心代码
3.3.4.1创建主程序
接着创建一个MyGPSActivity,并继承MapActivity的activity类:
classMyGPSActivityextendsMapActivity
{@Override
publicvoidonCreate(BundlesavedInstanceState)
{//创建并初始化地图
gMapView=(MapView)findViewById(R.id.myGMap);
GeoPointp=newGeoPoint((int)(lat*1000000),(int)(long*1000000));
gMapView.setSatellite(true);
mc=gMapView.getController();
mc.setCenter(p);
mc.setZoom(14);
}…}
3.3.4.2使用定位管理器
我们可以通过Context.getSystemService方法并传入Context.LOCATION_SERVICE参数获取定位管理器的实例:
LocationManagerlm=(LocationManager)getSystemService(Context.LOCATION_SERVICE);
之后,我们需要将我们原先的MyGPSActivity作一些修改,让它实现一个LocationListener接口,使其能够监听定位信息的改变:
classMyGPSActivityextendsMapActivityimplementsLocationListener
{…
publicvoidonLocationChanged(Locationlocation){}
publicvoidonProviderDisabled(Stringprovider){}
publicvoidonProviderEnabled(Stringprovider){}
publicvoidonStatusChanged(Stringprovider,intstatus,Bundleextras){}
protectedbooleanisRouteDisplayed()
{returnfalse;
}}
让我们来添加一些代码,对LocationManager进行一些初始化工作,并在它的onCreate()方法中注册定位监听器。
@Override
lm.requestLocationUpdates(LocationManager.GPS_PROVIDER,1000L,500.0f,this);
现在的代码中的onLocationChanged方法就会在用户的位置发生500米距离的改变之
进行调用。这里默认使用的LocationProvider是“gps”(GSP_PROVIDER),不过你可以根据你的需要,使用特定的Criteria对象调用LocationManger类的getBestProvider方法获取其他的LocationProvider。以下代码是onLocationChanged方法的参考实现:
publicvoidonLocationChanged(Locationlocation)
{if(location!=null)
{doublelat=location.getLatitude();
doublelng=location.getLongitude();
p=newGeoPoint((int)lat*1000000,(int)lng*1000000);
上面的代码用于获取当前的新位置并更新地图上的位置显示。
3.3.4.3添加缩放控件
我们还可以为应用程序添加一些诸如缩放效果,地图标注,文本等功能。
//将缩放控件添加到地图上
ZoomControlszoomControls=(ZoomControls)gMapView.getZoomControls();
zoomControls.setLayoutParams(newViewGroup.LayoutParams(LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT));
gMapView.addView(zoomControls);
gMapView.displayZoomControls(true);
3.3.4.4添加MapOverlay
下面的代码是定义一个overlay:
classMyLocationOverlayextendscom.google.android.maps.Overlay
publicbooleandraw(Canvascanvas,MapViewmapView,booleanshadow,longwhen)
{
super.draw(canvas,mapView,shadow);
Paintpaint=newPaint();
//将经纬度转换成实际屏幕坐标
PointmyScreenCoords=newPoint();
mapView.getProjection().toPixels(p,myScreenCoords);
paint.setStrokeWidth(1);
paint.setARGB(255,255,255,255);
paint.setStyle(Paint.Style.STROKE);
Bitmapbmp=BitmapFactory.decodeResource(getResources(),R.drawable.marker);
canvas.drawBitmap(bmp,myScreenCoords.x,myScreenCoords.y,paint);
canvas.drawText(”HereIam…”,myScreenCoords.x,myScreenCoords.y,paint);
returntrue;
上面的这个overlay会在地图上显示一个“Iamhere”的文本。
让我们把这个overlay添加到地图上去:
MyLocationOverlaymyLocationOverlay=newMyLocationOverlay();
Listlist=gMapView.getOverlays();
list.add(myLocationOverlay);
3.4代码的运行
运行模拟器,在Eclipse的DMMS视图的“EmulatorControl”窗口中我们可以输入经度和纬度值发送到模拟器上,之后模拟器的屏幕上就会根据这个经纬度来进行定位。实际效果图如图2。
4结论
Android手机应用程序开发着眼于它的整个体系构架,是一项复杂的工程。本文分析了Android体系的层次架构,并通过一个应用实例开发验证了其平台的可用性。Android平台本身大量使用开源库类,并且为开发人员提供了一个非常便捷的开发环境。相信广大开发者可以借助Android提供的强大的源码开放软件开发包(SDK),开发出丰富多彩、极具个性的移动应用。
参考文献:
[1]高博.基于J2ME的移动通信技术的研究与应用[D].沈阳工业大学硕士学位论文,2006.
[2]李观华,范辉.J2ME在移动通信程序中的应用[J].计算机应用,2003,23(3):124-126.
[3]廖永刚,余冬梅,张秋余.J2ME架构与安全机制的研究[J].计算机工程与设计,2006,27(4):575-577.
[4]张超,王阿川,王智.基于J2ME和J2EE的手机软件的研究[J].黑龙江科技信息,2007(3):21,201.
[5]KeoghJ.J2ME开发大全[M].潘颖,王磊译.北京:清华大学出版社,2004.
[6]刘向辉.基于Java的移动终端中间件的研究与设计[D].华东师范大学硕士学位论文,2005.
[7]叶达峰.Eclipse编程技术与实例[M].北京:人民邮电出版社,2006
1、首先要确定好是做什么类型的小程序商城。比如单商城、多商城
2、其次找一个可靠的软件公司开发
3、最后,小程序系统需要有小程序的功能程序+服务器组成。就好比电脑的组成是有主机+显示屏以及网络组成一样的原理
关键词:二手车;价格评估;网页程序;开发
前言
现阶段,我国二手车市场正处于发展阶段,随着汽车市场发展,新车保有量增加消费者换车需求愈发明显,未来二手车交易量与新车销量之间的距离将会越来越小,二手车交易市场前景广阔。二手车价格评估作为中间环节,连接着交易双方,评估是否准确,不仅影成交率、且对未来二手车市场发展影响深远。基于当前很多网页中二手车价格评估不准确,本文加强对二手车价格评估网页程序开发的研究具有非常重要的现实意义。
1背景介绍
2二手车价格评估网页程序设计
2.1设计需求
根据当前二手车市场发展现状及现有价格评估来看,本文设计的评估网页应满足多功能、全面性需求。本文将以JavaScript为基础,提出一种建立在此基础上的二手车估价网页,用户可以通过此,及时了解和计算出二手车在当前市场上的情况。
2.2网页框架
2.3网页设计
除网站logo以外,将评估程序分为左右两块,左边一块供使用者输入选项并进行计算,右侧一块则显示相应文字说明,如刚打开页面时显示欢迎文字、点击左侧选项时会在右侧显示该选项的说明、以及提交选项时会在右侧显示评估价格等。
2.4软件设计
针对本文设计的价格评估网页程序,核心方法为综合分析法,根据提交的选项计算得出汽车的出售价格[3]。具体计算公式如下:
其中R、N、A分别代表的是重置成本、成新率、调整系数。调整系数根据程序的各选项计算而来,成新率则采用加速折旧法中的双倍余额法进行计算,因为等速折旧法会使新车估价过高,旧车估价过低。
整个评估程序的算法写在一个js文件中,而不采用数据库,使得此网页可以脱离后台,随时随地使用。
2.5网站形象设计
网站采用汽车金属冷色为主基调,颜色层次清晰,界面美观、简洁。金属质感与车辆表面相似,能够给人们一种视觉上的冲击,同时汽车的悦动之感,使得汽车图片样式较为丰富,能够给使用者良好的视觉体验和感受[4]。而对于网站中的字体设计,可以设置为宋体16号字,大标题设计成黑体。汽车二手车网页以汽车为主题,因此对于logo的设计,应选择特殊字体,能够凸显出汽车的时代感。
3结束语
网站完成后,开始对网站进行测试,如每个选项的下拉菜单是否正常使用,价格输入框能否输入,右侧提示文字能否显示等,及时发现错误,并采取相应措施加以处理。还应检查页面代码,删除繁琐代码,给各个图片增加具体属性,便于图片搜索[5]。完成全部检查工作后,对文件夹进行简化处理,删除其中不必要的内容,提高网页运行效率。完成网页程序设计后,笔者对其进行了测试,进入首页,一目了然,看到各个选项的具体设置,排版自然,且非常便利。进行价格评估时,按照各个选项输入车辆具体情况,如图1。提交数据后,系统内部会对数据进行计算,最后得出相应的估价。
结论:根据上文所述,随着我国二手车市场快速发展,二手车价格评估重要性愈发突出,现行网页程序对于二手车价格的评估过于片面,选项较少。本文根据网页现状,坚持科学、合理性原则,采用JavaScript技术进行二手车价格评估网页程序开发,程序共对八个选项进行计算,丰富评估标准,使得对二手车价格的评估更加全面、系统。笔者对于二手车及网页设计知识的学习尚浅,其中存在很多不合理之处,希望能够在日后学习中进一步深入学习,完善二手车价格评估网页程序开发,从而促进二手车市场全面发展。
[1]马晓春.二手车评估实践教学网站的制作[J].黑龙江教育(理论与实践),2015(05):30-32.
[2]高伟,邓召文,余洋.二手车重置成本法改进及评估系统设计[J].拖拉机与农用运输车,2015(03):32-35+38.
[3]冯波.基于PDA的二手车鉴定评估系统可行性研究[J].汽车实用技术,2015(09):154-155+160.
关键词ajax;web应用;异步交互
1ajax与传统web应用
1.1传统的web应用
1.3ajax的概念
1.3ajax的工作原理
ajax的工作原理是在用户和服务器两者之间加了一个中间层ajax引擎(ajaxengine),实现用户操作与服务器响应间异步交互模式。在这种模式下,一部分用户请求如数据验证和简单的数据处理请求去交给ajax引擎完成,确实需要服务器端完成的请求,才由ajax引擎向服务器提交,减少了页面重载次数,使用户感觉所有的操作很快得到了响应,交互性大大增强。ajax应用模型如图2。
ajax引擎接收处理请求的流程为:
1)捕获web浏览器事件,对应不同事件注册一个处理函数。
3)与服务器建立连接,向服务器发送请求。
4)接收服务器响应对处理结果进行分析。
5)使用domapi更新客户端页面内容。
2ajax的关键技术
2.2dom
dom全名为“documentobjectmodel”,是w3c组织的推荐标准。该模型是javaapiforxmlprocessing的组件api。该documentobjectm
odellevel2coreapi允许程序动态访问和更新文档的内容和结构。脚本或程序语言通过dom与网页进行交互沟通。
2.3xml
2.4javascript
javascript,是一种广泛用于客户端web开发的脚本语言。它虽然是一种简单的脚本语言,但功能却十分强大,不同于其它服务器端脚本语言,javascript主要被作为客户端脚本语言在用户的浏览器上运行,不需要将数据交付到服务器上进行处理,减少了服务器的负担,大大提高了系统的效率。在web开发中通过用到javascript以下几种功能:在html页面中嵌入动态文本,接收客户端请求并作出响应,读写html元素,实现表单数据前端校验等。
[1]蒋维.ajax技术在网络b/s架构中的应用研究[j].微计算机应用,2008,29(7):29-33.
[2]scottraymond.ajaxonrails(影印版)初版[m].东南大学,2007:81-130.