地理知识大全范文

时间:2023-08-10 17:34:57

导语:如何才能写好一篇地理知识大全,这就需要搜集整理更多的资料和文献,欢迎阅读由公务员之家整理的十篇范文,供你借鉴。

地理知识大全

篇1

为了回应民众的需求。最近,国务院出台了“国四条”,中央意图通过土地、金融及税收等手段来遏制楼价升势过急。此后,财政部、国土资源部、人民银行、监察部、审计署等联合发文,要求加强政府土地收支的管理,其中最有杀伤力的条款就是,开发商拿地首次付款比例不能低于全部土地出让价款的一半,分期缴纳全部款项的期限上不得超过1年,特殊项目可以在2年内付清。

通知下发不足一周的时间内,上海和广州地王相继出现。资金实力越来越雄厚的开发商之间,完全可能通过联合的方式来增强付款能力,因此,所谓首付款比例提高仅仅可能增加地产商的垄断格式,对房地产调控的力度不大。

2009年12月23日,“中国建筑”子公司“中建地产”。以37.2亿人民币的价格买到上海新江湾城C6的住宅用地。当时起拍价是17亿元。拍卖的溢价高达119%。无独有偶,富力、碧桂园、雅居乐联手以255亿元人民购得广州亚运城项目。这块土地及地上建筑物的拍卖底价是165亿元,拍卖溢价幅度是55%。在内地的房地产市场中,一个地王产生往往意味着整个城市的房地产市场价格更上一层楼。10000元/平方米的房价现在在内地的城市已不少见。但月入万元的家庭却在人口中占有极少的比例。

对内地楼市价格的未来走向,仁者见仁,智者见智。不过,倒是有不少不正常的事情。比如深圳部分地区的楼价已经与香港相差不远。与此同时,深圳市民的平均收入与香港相距甚远。最近《福布斯》了亚洲租金最贵的城市,北京和上海的排名在第3和第5位。而按购买力平价进行计算,香港的人均年收入是北京和上海的7倍有余。但是,三地高档房子的租金却相差不大。也是《福布斯》的全球7大金融泡沫,中国的房地产市场排行在第2位。

从房价上涨来看。经济向上的预期是驱动力之一。中国的生产力在持续上升,而相应的人均收入也在上涨。因此,许多开发商比较有信心:即使是房地产市场正在调整中。大体上只会体现在成交量上,而房价总体上不会大幅下跌。如果人们的收入继续上升,购房欲望也会随之回升,这样房价可以再度上升。这种预期在这几年也被证明是正确的。在深圳等地,虽然房价曾有短暂的下降,但是2009年的上涨远超过下降的幅度。

香港也曾经出现类似的情况。在上世纪六十年代,香港的商人争先恐后地投资于房地产市场。原因就在于当时的香港经济前景非常好。所以许多开发商的思路就是,既然后市很好,为何不多做些超前投资?因此,房地产市场价格上升也很快。不过,香港的房地产市场遇到了七十年代石油危机,很多公司因此倒闭,楼市价格也掉头向下。

不过,今天来看,香港的社会主要矛盾仍然是房地产市场。香港与新加坡等地一样,政府比较明智的做法就是引入了公共房屋制度。一半人口居住在公屋或者居屋中,香港关于房地产市场的矛盾就局限于收入较好的人群中。而这些人群既然有一定的经济基础,发动大规模的社会问题就不大可能。

中国从2003年开始推行廉租房制度,之后,中央更是要求地方政府将土地出让金中的一成用于廉租房建设。但是,廉租房的建设的速度只是“蜗牛”级。截至2006年底,累计总共只有54.7万户家庭取得廉租住房。而中国有3.7亿左右家庭。一些城市将土地出让金的5%投人廉租房却已上到媒体的头条,作为正面典型报道。

我国的公共房屋之所以进展缓慢,原因在于土地财政,也就是地方政府的收入很大程度上靠卖地来维持。而这些收入对地方政府来说极其重要,不仅可以改善当地的基础设施,还可以提高当地的医疗投入和教育投入等等。甚至还可能支援地方政府的各项娱乐开支。

在短期内,土地财政的格局很难改变。因此。有效的房地产调控就直着力于消除一些房地产市场调控相反的政策。这方面的政策有不少。笔者仅举几例。

金融危机下的刺激经济政策就是其一。在刺激经济中,许多可能导致房地产过热的政策在短时间内集中出台,对国内主要城市房地产价格上涨起负面作用。2009年全国9万亿元新增银行贷款中,约有1/6流到房地产市场。而目前11个月进入房产市场的信贷金额达高达1.6万亿元,比去年的同期增加达60%。

此外,近年来为了解决农村问题,我国提出了城镇化建设。城镇化建设有一箭多雕的功能。其中之一就是拉动内需。城市居民的消费水平比农村高出许多,因此,只要能将农民转为城镇人口,内需的拉动就显得轻松许多。问题是。把农民变成城市人就会制造大量的住房需要,城市房地产价格自然就降下来。

篇2

论文关键词 知识产权保护 加大惩罚力度 降低维权成本

一、我国知识产权保护的现状

随着知识经济的迅猛发展和全球化浪潮的到来,知识产权保护已经上升到了国家战略的高度,知识产权保护工作越来越受到国家和社会的重视。2008年国务院颁布了《国家知识产权战略纲要》,把知识产权纳入到国家战略范畴,使知识产权保护成为一个根本性的、战略性的措施。当然,我国知识产权仍处于初步发展阶段,知识产权意识薄弱,知识产权工作与科技、经济和外贸等工作脱节严重;知识产权保护力度不够,维权成本高昂,知识产权保护的手段有待进一步完善,特别是知识产权保护的司法途径需要特别重视。2008年国务院的《国家知识产权战略纲要》中明确提出,“健全知识产权执法和管理体制。加强司法保护体系和行政执法体系建设,发挥司法保护知识产权的主导作用,提高执法效率和水平,强化公共服务。”明确要求发挥司法保护的主导作用,这进一步凸显了人民法院在知识产权保护体系中的重要地位和作用。其中的一个重要方面就是要加大知识产权司法保护的力度,严厉打击知识产权犯罪,发挥司法保护救济渠道多样化和裁判的终局性和权威性,保证知识产权体系的良好运行,在加大惩罚力度的同时要运用多方面的措施,从制度、政策、实践等诸方面考虑,切实降低当事人的维权成本,使当事人的合法权益得到有效地保护。

二、在知识产权保护中加大惩罚力度和降低维权成本的必要性

我国的知识产权司法保护存在着诉讼启动困难、维权成本高昂、证据收集困难、犯罪惩罚力度低等一系列问题,这其中犯罪惩罚力度不够和维权成本高昂是两个很重要的方面。在知识产权保护中加大惩罚力度和降低维权成本有其现实的必要性,主要体现在以下几点

(一)这是由知识产权犯罪的特点所决定

知识产权犯罪的主要特点是犯罪数量逐年增多;犯罪成本和风险小、获利大;知识性、技术性、专业性程度高;惩罚力度小、重复犯罪率高。这些特点决定了对知识产权犯罪就必须加大打击和惩罚力度,通过加大惩罚力度提升该种行为的犯罪风险,使其犯罪成本进一步增大,对犯罪行为的处罚更加严厉,从而达到最大限度的惩罚犯罪和保护当事人利益的目的。

(二)这是由现阶段我国知识产权保护的现状所决定

我国现阶段知识产权保护现状不容乐观,公民知识产权保护意识淡薄,假冒伪劣商品横行,大家对制假售假行为熟视无睹,这与我国知识产权保护的国家战略要求相去甚远,同时由于知识产权案件审理过程复杂、案件久拖不决,执判决难以及时执行到位等原因,导致当事人经济负担过重,维权成本过高,使得当事人产生“怕讼”、“累讼”等情况,因此就必须强调在知识产权保护中加大惩罚力度和降低维权成本。通过处理一批典型的知识产权案件,以此来警醒公民的知识产权保护意识,进而为我国知识产权保护制度的完善贡献力量。

(三)这是由建设社会主义科技强国的内在要求所决定

我国把建设社会主义科技强国作为国家的一项战略目标,而这一目标的实现,就必须要求我们有自主创新意识。通过知识产权保护制度的完善,进一步保护我国自主创新能力,是建设社会主义科技强国的必然要求,而为了更好的保护知识产权,就必须要进一步加大知识产权犯罪的惩罚力度和降低维权成本,激发当事人保护知识产权权益的积极性,进而鼓励和保护自主创新,提升我国的科技创新水平和国际竞争力。

三、在知识产权保护中加大惩罚力度和降低维权成本的措施

(一)保障诉权行使

诉权是当事人对国家所享有的司法保护的请求权,即当事人请求法院依法保护其民事权益的权利。为了保障当事人权益,法院应当依法受理当事人提起的诉讼。

对于侵犯知识产权罪的追究,我国采取的是公诉与自诉相结合、以自诉为主的追诉模式。这种追诉模式,集中了公诉和自诉两种模式的优点,有利于对犯罪分子刑事责任的追究。但是我们应当看到这一诉权设置模式的不足,作为侵犯知识产权犯罪来说,自诉模式有着较大的局限性,特别是在调查取证方面,因为被侵权人天然的弱势地位和侵权行为的复杂性、隐蔽性和地域跨度大等特点,使得当事人很难全面掌握有力的自诉证据,从而影响当事人诉权的行使,因此有必要加大公权力机关的介入力度,使诉权的行使更多的向公诉权倾斜,对于其中社会影响较大或者对企业造成较大影响的案件,在当事人证据不足时,可由公安机关受理,由公安机关立案侦查。

保护当事人的诉权,也应当包括保护当事人的申诉权,申诉权是当事人不服法院生效判决之后的救济程序,是切实保护当事人合法利益不可或缺的制度保障。随着2008年最高法院《关于适用〈中华人民共和国民事诉讼法〉审判监督程序若干问题的解释》的出台,申诉权行使有了更多的程序保障,如明确了受理条件和法定事由、规定了受理和审查期限、提高管辖法院的审级等,使得当事人申诉渠道更为通畅,切实保护了当事人利益。

(二)完善证据制度

完善证据制度主要是要细化举证责任。关于侵害知识产权的举证责任和归责原则,理论界观点不尽一致,笔者认为在侵犯知识产权案件证据制度中采用过错责任为主、推定过错责任为辅的观点、科学合理地分配举证责任和举证内容。一方面,由自诉人或公诉方承担主要证明责任。只有在有确切证据证明有侵权犯罪事实存在,但却因为客观原因所限使自诉人或公诉方举证不能的情况下,才由法院决定举证责任倒置或转移。另一方面,适用举证责任倒置和转移的制度必须受到严格的限制,需要满足民事诉讼法或知识产权法规定的被告人的举证责任倒置和转移制度并通过严格的程序性规定来启动。并且必须建立严格的举证时限制度和合理的证据保全制度。

(三)运用诉前临时措施

诉前临时措施是打击知识产权犯罪、保护当事人合法权益的有力武器,是权利人通过司法救济最终实现自己合法权益的有力手段。包括诉前禁令、诉前财产保全和证据保全制度。诉前禁令因为起于诉前而对当事人利益的保护具有时间优势,而且因为未进入诉讼程序因此也具有成本优势。在知识产权保护中诉前禁令因其时效性和低成本的优势而成为加大惩罚力度降低维权成本的重要选择。法院要加强对该制度的学习、研究和运用,充分发挥其在知识产权民事诉讼中的独特作用。

考虑到知识产权侵权诉讼取证难和执行难的状况,对符合法律和司法解释规定的证据保全申请和财产保全申请也要积极受理,依法及时采取证据保全和财产保全措施,对可能灭失或者以后难以获得的证据可以采取紧急措施予以固定和保存,对侵权人可能转移的财产进行查封、扣押、强制提供担保等措施,以保证知识产权诉讼和执行活动的顺利进行。当然采取诉前措施必须遵循严格的程序性规定,对当事人的申请进行细致全面的审查,对具体情况进行准确的判断,在保护当事人利益的同时也要考虑侵权的发生可能性,防止当事人滥用权利。

(四)提高司法效率

提高司法效率,主要有两个方面的要求:第一,提高审判效率,缩短维权时间。对于知识产权侵权案件要及时受理、及时调查、按期审结、督促执行。充分考量时间因素给当事人造成的损失,在力所能及的范围内及时、高效的完成审判工作。第二,必须建立高效的司法审判模式,提倡“三审合一”审判模式。即根据知识产权案件的特性,将有关知识产权的民事、刑事、行政案件集中交由专门设立的知识产权法庭统一受理和审理,在法院内单设知识产权审判庭统一审理辖区内的所有知识产权民事、刑事和行政案件。设立“三审合一”审判模式,可以有效地统一案件的评判尺度,确保执法统一,有效地避免目前由于多头办案,造成重复审理,甚至同案不同判的弊端。采用同一法庭审理知产权案件的做法,还可以有效地节约诉讼成本,降低当事人的维权成本,提高审判效率,充分发挥知识产权法在审理案件上的专业优势,及时查明案件事实,准确适用法律,有效制裁侵权,打击犯罪。

(五)加大赔偿力度

判决赔偿额偏低、标准不统一是当前知识产权审判工作中存在的一个较为普遍的问题,加大赔偿力度不仅有助于最大限度的弥补被侵权人的损失,降低当事人的维权成本,是当事人的维权成本得到有效地补偿,而且也会使侵权人因侵权成本太高而放弃侵权行为的实施或防止侵权行为死灰复燃。当然加大赔偿力度并不是无原则的“多赔”或“包赔”,而是有其合理的法律依据。在确定赔偿额时,要充分体现知识产权侵权损害的全面赔偿原则,给予权利人充分的救济。对于情节严重的侵权行为,除依法判决其承担相应的民事责任外,还可以依法采取收缴侵权物品、罚款等民事制裁措施,充分发挥司法的威慑力。

(六)加强审判监督

审判监督是我国司法制度中极为重要的一环,在知识产权保护中加大惩罚力度和降低维权成本必须强调加强审判监督,这是因为一方面加大惩罚力度并不是一味无原则的适用重刑重罚,因此必须加强审判监督,保证惩罚是在合法合理的限度内实施,另一方面降低维权成本必然要求在知识产权保护工作中更应该尽量避免或杜绝错案错判的发生。而加强审判监督可以构建顺畅的申诉和监督渠道,进而对错案错判进行及时的纠正,保护当事人利益。因此可以说加强审判监督是在知识产权保护中加大打击力度和降低维权成本的“保险绳”。在审判监督的过程中还要全面贯彻司法公开原则,人民法院知识产权司法公开工作要实现了从单纯的裁判文书公开向审判工作全面公开的转变,在立案、庭审、执行、听证、文书、审务等环节都应该向社会公开,在公开的内容、程序和方法上探索建立比较完善的制度,使审判工作在“阳光”下得到监督。

(七)加大执行力度

所有的判决只有通过执行才能落到实处,加大执行力度是加大惩罚力度的题中之意。也是降低维权成本的重要保障。知识产权案件普遍存在执行不力的问题,很多知识产权案件一拖好几年,面临“易判难执行”的问题,执行难不仅损害了被侵权人的经济利益,对知识产权保护的热情打击也很大,一些生效判决久拖不决,使得一些侵权人得不到应有的制裁,在某种程度上还会助长侵权行为的气焰,因此在强调加大惩罚力度降低维权成本的同时就必须要求加大执行力度。

加大执行力度首先要求执行必须及时,执行措施必须迅速、及时、连续进行,非依法定事由不得停止。在执行中对于拒不配合执行或者阻挠、破坏执行活动的人或单位,必须依法采取拘留、罚款等强制措施,以保证执行活动的顺利进行。

其次,加大执行力度还要求构建有效地执行协助体系,特别是强调金融、行政、司法机关之间的协助,各相关机关和单位应当在法院的统一协调下积极响应,及时、高效的完成所应协助的执行款项和事务,保证经济社会的良好运行。

篇3

原告:哈达,男,35岁,住呼和浩特市爱民路二五三医院宿舍100栋四号。

被告:解放军第二五三医院。

原告哈达系被告单位麻醉科主治医师,长期从事麻醉工作。在其给口腔病人做手术时,看到由于喉镜上没有麻醉配件,病人非常痛苦,因此设想把喉镜与麻醉系统联在一起。1988年1月,原告完成了“多功能喉镜”的构思,并于同年3月2日用草图向国家专利局申请“多功能喉镜”实用新型专利。1989年3月21日取得专利权,专利证书号为88203809.5.同年4月,原告与航天工业部青云仪器厂试制出五台样机。1991年初,原告欲将该专利转让给北京龙华医疗器械厂(下称龙华厂),被告得知后即派员去龙华厂,说明此项专利为职务发明,专利权不归原告所有。龙华厂因此终止与原告达成的转让协议。1991年被告开会并下文令原告将专利证书交出,由被告进一步开发利用此项专利,否则,对原告立功、晋升级别不予申报。原告在此压力下,于同年4月19日函告国家专利局,其原申请的“多功能喉镜”,因属职务发明,经协商将该专利权转归被告所有,并填写了“权利转让登记请求书”、“著录项目变更申请书”备案。同年10月17日,原告又致函国家专利局,申明前述行为非其真实意思表示,应为无效。1992年5月,被告从龙华厂拿走原告的专利证书。原告遂向呼和浩特市中级人民法院起诉,诉称:1988年3月2日其向国家专利局申请“多功能喉镜”实用新型专利,1989年3月21日取得专利权。后被告以不予立功和晋升级别相胁迫,迫使我违背本意变更专利权属;1992年5月,被告又从龙华厂拿走我的专利证书,被告的行为是严重的侵权行为。请求法院确认“多功能喉镜”发明为非职务发明,并追究被告扣押专利证书的法律责任。

被告在答辩期间,以其与原告专利权属纠纷已经军队专利管理机关依法裁决,且已发生法律效力为理由提出本案管辖权异议。

被告答辩称:原告为麻醉医师,对麻醉器具的革新,属于本职工作,且“多功能喉镜”已列入本院1987—1991科研规划;据《专利法实施细则》第十条规定,原告的发明与其从事的工作有关;原告在发明过程中借用了单位的“新喉镜、手柄、窥视片”等物品,被告还提供了科研经费553.8元及工作时间;原告于1991年4月致函国家专利局,称“多功能喉镜”专利属职务发明,并签署了《权利转让登记请求书》、《著录项目变更申请书》,说明原告本人也认为该项发明为职务发明,请求驳回原告诉讼请求。

「审判

呼和浩特市中级人民法院经对被告提出的管辖权异议进行审查,认为:根据《中华人民共和国专利法实施细则》第七十六条规定,专利管理机关不包括军队的专利管理机关。据此,裁定驳回了被告的管辖权异议。被告不服,向内蒙古高级人民法院提起上诉。内蒙古高级人民法院经审查,认为呼和浩特市中级人民法院有管辖权,裁定驳回上诉。

呼和浩特市中级人民法院经审理查明:被告提交的1987年12月所制订的“1987—1991医学科研规划项目表”及“1988年3月8日的科委会记录”,将原告发明的“硬膜外穿刺定位器”、“多功能喉镜”列入计划项目,但原告于1988年7月1日申请专利,1989年12月8日取得专利证书的“硬膜外穿刺自动阻力消失器”,是1988年5月更名为“硬膜外穿刺定位器”的,它不可能出现在更名前的1987年12月的“科研规划项目表”及1988年3月8日的“科委会”记录上,故被告所提供的上述证据缺乏真实性。1988年2月29日,原告以“新喉镜研制费”名义向被告借款300元,此属借款不是拨款,不能据此认定原告的发明使用了被告的科研经费。1989年10月16日,原告以“多功能喉镜申请费”及“专利的年、证、印费”名义向被告报销费用205元属实,但报销时间在该专利的申请日之后,故以上二项费用与“多功能喉镜”的发明无关。1988年2月2日,原告借被告新喉镜一付,手柄、窥视片各一件,作为构思发明草图的参考,并未用其做“多功能喉镜”的零部件,且已归还,不能认定为原告利用了被告的设备。

根据以上事实,呼和浩特市中级人民法院认为:原告作为麻醉师,其本职工作是在病人手术前利用现有药物及器械为病人实施麻醉。其在长期的临床实践中发现普通喉镜在临床使用时的诸多不便,因此,产生了对普通喉镜的革新构思。“多功能喉镜”的发明,从构思开始到申请专利之前,被告从未对原告下达过此项科研任务,原告亦未利用过被告的设备和经费,且按时按量完成了本职工作。故原告为实用新型“多功能喉镜”的发明人。依据《中华人民共和国专利法》第六条第一款、《中华人民共和国民事诉讼法》第一百三十八条之规定,于1993年10月30日判决如下:

确认实用新型“多功能喉镜”发明为非职务发明,专利权归原告所有。

被告不服一审判决,向高级人民法院上诉,称:一审判决认定“多功能喉镜”的发明不是职务发明,不符合法律和事实,对专利权的归属适用法律不当。卫生部颁发的《医院工作人员职责》中规定,麻醉科医师有日常麻醉教学、科研的任务,故哈达改进麻醉器械,发明“多功能喉镜”是本职工作。哈达1988年2月29日所借“新喉镜研制费”300元是预支科研经费,最后凭单据报销。我院在哈达构思阶段报销了其购置零配件费用,借给了有关用具,以后还出了年费。一审判决对“多功能喉镜”技术特点与用途的描述存在缺陷。本案应适用《专利法实施细则》第十条的规定,一审判决适用法律不当。

被上诉人哈达答辩称:①卫生部颁发《医院工作人员职责》所规定的麻醉医生职责,在一般情况下,只是一种授权性规范,而不是义务性规范。医生在日常工作中不从事科研和教学,并不因此承担法律责任。本职工作是指必须做,不做即为失职,其发明不在本职工作范围。②借上诉人300元为申请专利之用;借用具只作绘图参考,是工具性利用,构不成主要利用。③一审判决对“多功能喉镜”专利技术特征描述与本案无关。④《专利法实施细则》是对专利法的解释,前者不能超越后者创制的权利、义务规定,原审法院适用法律正确。

高级人民法院经审理认为:《医院工作人员职责》中规定的麻醉科医师的职责是授权性规范,而不是义务性规范。义务性规范是要求人们作为,若不作为即违反法定义务,要承担法律责任。麻醉师的本职工作是利用现有药物及器械在病人手术前为其实施麻醉。所以,在上诉人未给被上诉人下达科研任务的情况下,从事“多功能喉镜”的研究,是被上诉人的权利而不是义务。另外,从“多功能喉镜”的专利权内容来看,其技术领域属机械设计,本质上与医疗业务无关。而医生的本职工作是以人体为对象,治病救人,医生没有发明医疗器械与生产医疗器械的义务。故被上诉人的发明不属本职工作。被上诉人在申请“多功能喉镜”专利前一天向上诉人借“新喉镜研制费”300元,系申请专利之用,是正常的借贷关系,并非拨款,不能以此证明被上诉人使用过上诉人的科研经费。1988年2月2日,被上诉人借上诉人的喉镜、手柄、窥视片是为绘图参考使用,构不成主要利用单位的物质条件。上诉人提交的“1987—1991科研规划项目表”所列的被上诉人的另一项发明“硬膜外穿刺自动阻力消失器”,当时还未取名为“硬膜外穿刺定位器”,却出现在表中,并且把“多功能喉镜”也列入表中,又无明确科研安排。该科研规划项目表为复制件,经合议庭提示,上诉人拒不提供原件;被上诉人对该项目表亦不予承认。根据最高人民法院《关于适用〈中华人民共和国民事诉讼法〉若干问题的意见》第78条之规定,对此不予采信。1988年3月8日科委会记录,因在“多功能喉镜”专利申请日之后,与本案无关。综上,被上诉人发明实用新型“多功能喉镜”不是上诉人下达的科研任务,不属本职工作,也没有主要利用上诉人的物质条件,应确定为非职务发明。原审法院认定事实清楚,适用法律正确。上诉人的理由不能成立。根据《中华人民共和国民事诉讼法》第一百五十三条第一款第(一)项之规定,于1994年4月4日判决如下:

驳回上诉,维持原判。

「评析

本案是一起专利权属纠纷案件。争议的焦点是“多功能喉镜”究竟是职务发明,还是非职务发明?《中华人民共和国专利法实施细则》第十条规定:“专利法第六条所称执行本单位的任务所完成的职务发明创造是指:(一)在本职工作中作出的发明创造;(二)履行本单位交付的本职工作之外的任务所作出的发明创造;(三)退职、退休或者调动工作后一年内作出的,与其在原单位承担的本职工作或者分配的任务有关的发明创造。专利法第六条所称本单位的物质条件是指本单位的资金、设备、零部件、原材料或者不对外公开的技术资料等。”

篇4

摘要:由Google倡导发起的开放手机联盟及其推出的Android平台,一经便在业内引起轩然大波。首先介绍了android平台中的内部结构,并通过和现有的智能手机开发平台进行比较研究分析了该平台的结构特点,以此来说明android平台具有强大的开放性和兼容性。然后重点介绍了该平台强大的功能之一――Google Map,通过开发一个利用地理定位服务来获取当前设备地理位置的应用实例,并详细地介绍了Google Map中丰富的API功能以及应用程序的基本开发流程,来验证Android SDK提供的强大的技术支持。

关键词:Android;智能手机平台;应用程序;Google Map;Geocode

中图分类号:TP18文献标识码:A文章编号:1009-3044(2009)28-7959-04

Development and Research of Application Based on Google Android

ZHANG Shi-Cheng

(Software College, Tongji University, Shanghai 201804, China)

Abstract: The establishment of OHA(Open Handset Alliance) and the publication of Android platform by Google have caused uproar in communication industry.This paper firstly introduced and analysed characteristics of this platform by compared with others,to explain that this platform has the formidable openness and the compatibility.Then it introduced the applicationinterfaces of Google Map,and the basic development procedure of a application,which used a location service to gain the geographical position of the current equipment,to verify the formidable technical support which the android sdk provides.

Key words: Android; smart phone platform; application; Google Map; Geocode

2007年11月由Google牵头有30多家移动技术和无线应用领域领先企业组成的开放手机联盟(Open Handset Alliance)了其智能手机平台--Android。Android是一个开放、自由的移动终端平台,它是由操作系统、中间件、用户界面、应用软件组成,同时其开放性保证该平台不存在任何阻碍移动产业创新的专有权障碍。开发人员在该平台开发的应用程序,是使用Java语言编写的、在Dalvik虚拟机上运行的。Android的底层是以开放性的Linux kernel为其架构,也可以理解为Google推出的手机操作系统和相关软件的总称。

1 Android平台的架构

Android平台整体自底向上由以下四个层次组成:Linux内核层、Android运行时库和其他库层、应用框架层、应用程序层。

1) Linux内核层:Android基于Linux version2.6.23内核开发的,主要是添加了一个名为Goldfish的虚拟CPU以及Android运行所需的特定驱动代码。该层用来提供系统的底层服务,包括安全机制、内存管理、进程管理、网络堆栈及一系列的驱动模块。作为一虚拟的中间层,该层位于硬件与其它的软件层之间。需要注意的是,这个内核操作系统并非类GNU/Linux的,所以其系统库、系统初始化和编程接口都和标准Linux系统有所不同的。它没有采用虚拟内存文件系统。而是采用YAFFS2文件系统。YAFFS(Yet Another Flash File System)文件系统是一个开源的,专门为NAND Flash设计的文件系统,具有很好的可移植性,也是一种日志型文件系统,能够在Linux,uCLinux.和Windows CE上运行。YAFFS目前有YAFFS和YAFFS2两个版本,一般来说,YAFFS对小页面(528字节/页)有很好的支持,而更大的页面(2K+64字节/页)就需要支持超大容量的NAND Flash。所以采用支持大页面的YAFFS2文件系统。

2) Android运行时库和其他库层:Android 运行时库包含一组核心库(提供了Java语言核心库内的大部分功能)和Dalvik虚拟机。同时Android提供了丰富的库类支持且大部分为开源代码,如采用的数据库为SQLite。Android选择它作为移动终端的嵌入式数据库有以下优点,它无需安装和管理配置,它是一个存储在单一磁盘文件中的完整的数据库,体积小只有250KB但支持数据库大小至2TB,提供了对事务功能和并发处理的支持,而且比目前流行的大多数数据库运行速度快。

3) 应用框架层:在应用框架Android开发人员可以跟那些核心应用一样拥有访问框架APIs的全部权限。应用的系结构化设计简化了各组件之间的重用,任何应用都可以分发自己的足见,任何应用也可以使用这些分发的组件(应用的使用方法需遵循框架的安全性约束)。

4) 应用程序层:Android本身会附带一些核心的应用程序,包括e-mail客户端、短信程序、日历、地图、浏览器、通讯录等等,目前所有的应用程序都是由Java语言开发的。

2 Android平台与J2ME的区别

J2ME是Java语言专门针对嵌入式电子产品开发的版本,应用在移动电话、PDA、电视机机顶盒以及其它资源受限的设备上,J2ME是目前移动设备上使用最广泛的开发平台.J2ME平台由多种配置、简表和可选包组成.

可以发现J2ME的应用是建立在JVM(或KVM)之上,而主机操作系统是位于J2ME平台之外.这样的设计一方面提供了跨操作系统的特性,主机操作系统可以是Symbian、Windows Mobile和Linux,另一方面J2ME虽然提供了统一的开发平台,但是JVM的安全机制让J2ME的应用程序不能调用本地系统资源.而Android向下既包括操作系统内核心,向上又拥有通现成的应用软件,加之开源、免费、可以直接使用Java语言为开发人员提供了极大的便利。

另外需要强调的是虽然同样是使用Java语言进行开发,但是Android使用的Dalvik虚拟机和J2ME使用的标准的Java虚拟机(JVM)存在以下区别:

1) Dalvik是基于寄存器,而JVM是基于堆栈的.Android选择采用寄存器的方式是因为它对提前优化(ahead-of-time optimization)提供了更好的支持,而这对类似于移动电话这样的受限环境是颇有裨益的.针对基于寄存器虚拟机和基于堆栈的虚拟机更深入的比较分析指出,基于寄存器的虚拟机对于更大的程序来说,在它们编译时花费的时间更短.

2) 运行环境的区别.Dalvik经过优化,允许在有限的内存中同时运行多个虚拟机的实例.

3 Android平台应用程序开发例程

开发实例是一个Android平台上地理定位应用程序,该应用是利用Android平台上的Google Map中的API来获取当前设备的地理位置,可以定时地请求更新设备当前的地理位置信息。

Android提供的地图(Map)功能可能是广大开发者非常关心的一部分。到目前为止,开发内嵌式地图应用的软件相当的困难,而且往往还需要支付很高的地图厂商的版权费用,加之手机上GPS功能还不完善,导致很多可以基于当前位置来开发功能的软件少之又少,就算是几个比较著名的LBS(Location-Based Service)软件,使用者也是寥寥无几。Android的出现打破这一格局,提供给普通开发者非常灵活的地图展示与控制功能。

3.1 相关地理知识的简介

在详细进入coding之前,我们先介绍下经纬度知识。

经度是地球上一个地点离一根被称为本初子午线的南北方向走线以东或者以西的度数,本初子午线的经度是0度,地球上其它地点的经度是向东到180度或者向西到180度。

纬度是指某点与地球球心的连线赤道面所成的线面角,其数值在0至90度之间,位于迟到以北的点的纬度叫北纬,记为N,位于赤道以南的点的纬度称南纬,记为S。

所谓地图投影,就是在平面上建立与地球曲面上相对应的经纬网的方法。地图投影的拟定和计算,一般均假定地球表面为旋转椭球面或参考椭球面。

3.2Google Map中的API

使用geocode,地球上任何一个地点都可以用精度+纬度来代表。在Android中,com.google.android.maps.GeoPoint这个类代表了一个地点的经纬度;GeoPoint(int latitudeE6,int longitudeE6),E6是纬度(microdegrees).就是度数再乘以1000000。目前如果要指定地图地点,一定要传递一个Point的类到地图中。

Android中定义了一个名为com.google.android.maps的包,其中包含了一系列用语Google Map上显示,控制和层叠信息的功能类,以下是该包中最重要的几个类:

MapActivity:这个类是用语显示Google Map的Activity类,它需要连接底层网络。

MapView: MapView是用于显示地图的View组件。它可以获取键盘事件(onKeyDown和onKeyUp)来支持地图移动和缩放功能。它还支持多层Overlay,可以在地图上面画坐标,写地名,画图片等等,MapView 必须和MapActivity配合使用。另外,MapView还提供了卫星图、交通图和路况图3种模式功能。

MapCotroller:它是用语控制地图的移动。Overlay:这是一个可显示于地图之上的可绘制的对象。

GeoPoint:这是一个包含经纬度位置的对象。使用GeoPoint对象,地球上的任何一点都可以用精度+维度来代表。这个类对象代表了一个地点的经纬度:GeoPoint(int latitudeE6, int longtitudeE6),E6是微度(microdegrees),就是度数再乘以1000000,目前如果要指定地图地点,一定要传递一个GeoPoint的类到地图中,例如:

纽约帝国大厦的经度和纬度

GeoPointp=new GeoPoint(40.74836*1000000,-73.984621*1000000);

//获取当前地图的控制器

MapController mc=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是通过布局(Layout)来定义UI(用户界面)的。一般视图(View)可以直接在布局的xml里声明。但是MapView只能通过自定义类来声明来实现:

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

要使用Google Map服务的话,我们需要一个APIkey。我们可以通过如下方式获取APIkey:

1) 找到USER_HOME\Local Settings\Application Data\Android目录下的debug.keystore文件。

2) 使用keytool工具来生成认证信息(MD5),使用如下命令行:

Keytool Clist Calias androiddebugkey Ckeystore keystore Cstorepass android Ckeypass android

3) 打开‘sign up for the android maps API’页面,输入之前生成的认证信息(MD5)后将获取到你的APIkey。

4) 替换上面AndroidManifest.xml配置文件中“API?_Key_String”为你刚才获取的APIkey。

3.3.3 权限设置

另外,要使用定位信息的话,必须设置一些权限,AndroidManifest.xml中的配置如下:

3.3.4 程序中的核心代码

3.3.4.1 创建主程序

接着创建一个MyGPSActivity,并继承MapActivity的activity类:

class MyGPSActivity extends MapActivity

{ @Override

public void onCreate(Bundle savedInstanceState)

{ //创建并初始化地图

gMapView = (MapView) findViewById(R.id.myGMap);

GeoPoint p = new GeoPoint((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参数获取定位管理器的实例:

LocationManager lm=(LocationManager)getSystemService(Context.LOCATION_SERVICE);

之后,我们需要将我们原先的MyGPSActivity作一些修改,让它实现一个LocationListener接口,使其能够监听定位信息的改变:

class MyGPSActivity extends MapActivity implements LocationListener

{…

public void onLocationChanged(Location location) {}

public void onProviderDisabled(String provider) {}

public void onProviderEnabled(String provider) {}

public void onStatusChanged(String provider, int status, Bundle extras) {}

protected boolean isRouteDisplayed()

{return false;

}}

让我们来添加一些代码,对LocationManager进行一些初始化工作,并在它的onCreate()方法中注册定位监听器。

@Override

public void onCreate(Bundle savedInstanceState)

{…

LocationManager lm = (LocationManager)getSystemService(Context.LOCATION_SERVICE);

lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 1000L, 500.0f, this);

}

现在的代码中的onLocationChanged方法就会在用户的位置发生500米距离的改变之

进行调用。这里默认使用的LocationProvider是“gps” (GSP_PROVIDER) ,不过你可以根据你的需要,使用特定的Criteria对象调用LocationManger类的getBestProvider方法获取其他的LocationProvider。以下代码是onLocationChanged方法的参考实现:

public void onLocationChanged(Location location)

{if (location != null)

{double lat = location.getLatitude();

double lng = location.getLongitude();

p = new GeoPoint((int) lat * 1000000, (int) lng * 1000000);

mc.animateTo(p);

} }

上面的代码用于获取当前的新位置并更新地图上的位置显示。

3.3.4.3 添加缩放控件

我们还可以为应用程序添加一些诸如缩放效果,地图标注,文本等功能。

// 将缩放控件添加到地图上

ZoomControls zoomControls =(ZoomControls) gMapView.getZoomControls();

zoomControls.setLayoutParams(new ViewGroup.LayoutParams(LayoutParams.WRAP_CONTENT,

LayoutParams.WRAP_CONTENT));

gMapView.addView(zoomControls);

gMapView.displayZoomControls(true);

3.3.4.4 添加Map Overlay

下面的代码是定义一个overlay:

class MyLocationOverlay extends com.google.android.maps.Overlay

{ @Override

public boolean draw(Canvas canvas, MapView mapView, boolean shadow, long when)

{

super.draw(canvas, mapView, shadow);

Paint paint = new Paint();

// 将经纬度转换成实际屏幕坐标

Point myScreenCoords = new Point();

mapView.getProjection().toPixels(p, myScreenCoords);

paint.setStrokeWidth(1);

paint.setARGB(255, 255, 255, 255);

paint.setStyle(Paint.Style.STROKE);

Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.drawable.marker);

canvas.drawBitmap(bmp, myScreenCoords.x, myScreenCoords.y, paint);

canvas.drawText(”Here I am…”, myScreenCoords.x, myScreenCoords.y, paint);

return true;

}}

上面的这个overlay会在地图上显示一个“I am here”的文本。

让我们把这个overlay添加到地图上去:

MyLocationOverlay myLocationOverlay = new MyLocationOverlay();

List list = gMapView.getOverlays();

list.add(myLocationOverlay);

3.4 代码的运行

运行模拟器,在Eclipse的DMMS视图的“Emulator Control”窗口中我们可以输入经度和纬度值发送到模拟器上,之后模拟器的屏幕上就会根据这个经纬度来进行定位。实际效果图如图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] Keogh J.J2ME开发大全[M].潘颖,王磊译.北京:清华大学出版社,2004.

[6] 刘向辉.基于Java的移动终端中间件的研究与设计[D].华东师范大学硕士学位论文,2005.

[7] 叶达峰.Eclipse编程技术与实例[M].北京:人民邮电出版社,2006