程序開發(fā)范文

時間:2023-04-07 00:29:00

導語:如何才能寫好一篇程序開發(fā),這就需要搜集整理更多的資料和文獻,歡迎閱讀由公務員之家整理的十篇范文,供你借鑒。

篇1

2、微信小程序開發(fā)工具的下載

3、微信小程序開發(fā)工具的打開

4、選擇本地小程序項目

5、創(chuàng)建一個新的小程序項目,選擇無appid即可快速創(chuàng)建本地小程序項目

篇2

乙方:

甲方據本合同相關條款的約定委托乙方進行客戶管理軟件(crm)程序(以下簡稱crm程序)的開發(fā)及維護。為明確雙方責任,維護雙方利益,雙方達成以下協議:

第一條crm程序的開發(fā)周期及相關事宜

甲方在年月日之前,將crm程序開發(fā)的相關資料交予乙方。

乙方在年月日之前,完成對crm程序的開發(fā)及維護。

甲方在年月日之前,完成對crm程序進行驗收。

第二條:甲方的權利和義務

1.提供專人與乙方聯絡。

2.提供所有需要寫進crm程序上的資料給乙方,并保證資料的合法性。

3.甲方將在著作權法的范圍內使用本合同標的及相關作品、程序、文件源碼,不得將其復制、傳播、出售或許可給第三方。

4.甲方如要向第三方出售該程序、文件源碼,必須向乙方告知并征求乙方的同意。

第三條:乙方的權力和義務

1.按第一條的規(guī)定,使用甲方所提供的資料,進行crm程序的開發(fā)。

2.按第一條規(guī)定的期限內,完成crm程序的開發(fā),并通知甲方進行驗收。

3.在驗收期內按照甲方的要求對crm程不合格的地方進行修改。

4.本合同標的及相關作品、程序、文件源碼的版權屬乙方所有。

第五條:違約責任

1.任何一方有證據表明對方已經、正在或者將要違約,可以終止履行本合同,但應及時通知對方。若對方繼續(xù)不履行、履行不當或者違反本合同,該方可以解除本合同并要求對方按本合同簽約金額的十倍賠償對方損失。

2.鑒于計算機能互聯網的特殊性,包括但不僅限于黑客、病毒、電信部門技術或政策調整等引起的事件,或由于internet上通路的阻塞造成服務延遲或中斷,不屬于乙方違約,乙方對此產生的一切后果,不承擔責任;

3.如果本合同某一條款根據現行法律被確定為無效或無法實施時,本合同的其他所有條款將繼續(xù)有效。此種情況下,雙方將以有效的約定替換該約定,且該有效約定盡可能接近原約定和本合同相應的精神和宗旨。

4.因不可抗力而無法承當責任一方,應在不可抗力發(fā)生的三天內,及時通知另一方。且因此造成的損失,不付賠償責任。(本合同所稱不可抗力是指不能預見、不可克服并無法避免且對一方當事人造成重大影響的客觀事件,包括但不僅限于自然災害如洪水、地震、火災和風暴等以及社會事件如戰(zhàn)爭、動亂、政府行為等。)

5.甲乙雙方應嚴格保守在合作過程中涉及到的對方的商業(yè)和技術機密,否則因此造成的損失須承擔本合同簽約金額的十倍賠償金。

第六條:甲乙雙方的其他權力和義務

1.crm程序免費服務時間以乙方為甲方安裝調試成功之日算起15天之內,在此期間甲方有權要求乙方對crm程序細部功能進行調試。若需更新crm程序的參數及功能,甲方應按雙方協商約定的費用支付給乙方作為軟件升級費用。

2.乙方承諾為甲方提供在莆田市區(qū)內三次以內(含三次)的上門服務并承諾×××個工作日內受理,在非工作日內依乙方工作安排的具體情況而定。

3.超過約定服務次數的上門服務,甲方應按雙方協商約定的確良費用向乙方支付服務費用,乙方不得擅自提高服務價格。

4.乙方在法定工作時間內,以電話、電子郵件、在線洽談等方式免費提供技術支持服務。

5.自簽約之日起,甲方應向乙方一次性支付人民幣貳仟伍佰圓(×××元)作為乙方開發(fā)crm程序的報酬。

6.如若乙方通過甲方的介紹與第三方達成合作并收取全部費用時,乙方須向甲方支付成交額的×××作為甲方的報酬,但簽約金額不得低于叁仟圓人民幣(300×××元)。

7.本合同一式兩份,雙方當事人各執(zhí)一份,具有同等法律效力。

8.本合同未盡事宜,依照中華人民共和國相關法律規(guī)定,自簽訂日起生效。

9.因本協會產生的任何爭議,雙方應協商解決,若雙方協商十五天后仍未解決,雙方同意將糾紛提交乙方所屬管轄區(qū)的人民法院訴訟。

第七條:以上條款如有未盡事宜,經甲、乙雙方協商后加以補充(具有同等法律效力):

補充內容:

甲方:(蓋章)乙方:(蓋章)

篇3

1 作品: Eco2Go

作者: Taneem Talukdar,Gary Pong, Jeff Kao和Robert Lam

入選分析:

有鑒于全球暖化日益嚴重,因此解決全球暖化最直接的做法就是“節(jié)能減碳”。5名加拿大的學生參加Android程序開發(fā)競賽以手機計算個人日常行動所產生的碳使用量,以期能夠達到在不影響正常的生活下,盡可能以大眾運輸工具取代自行開車。 這個應用也可以記錄你旅游后的碳使用總量。 它盡可能的提供用戶參與Eco2go的社群, 該社群活動的重點在于交換節(jié)能減碳的故事與想法,并鼓勵社群成員承諾節(jié)能減碳的目標。

2 作品: CallACab

作者: Konrad Huebner and Henning Boeger

入選分析:

只要按手機一個鍵就可以叫出租車,無論你身在何處,甚至于不知道車行的名稱,只要按鍵出租車就自動上路。 還可以透過地圖的數據顯示最近的出租車的位置。

這個應用對于不熟悉科技的使用者來說的確符合他們的需求,只要按個鍵就可以知道出租車的位置,并且立u叫車而沒有繁瑣無用的人機接口,對于幅員廣大的國家相當實用。

3 作品: PocketJourney

作者: Anthony Stevens and Rosie Pongracz

入選分析:

用戶每到一個新的地點,都會想對當地作一個認識,諸如建筑、藝術、運動、歷史、地理環(huán)境、音樂、科學等的信息均有助于幫助人們去了解,熟悉新地方的風土人情。 不僅如此,這個程序還可以幫助人們以語音或影像將這些信息呈現出來。 當手持Android 手機到一個陌生的地點,它不僅會提供當地的重要的信息,如果用戶要順道觀光,它還會推薦附近著名景點。并用語音介紹其特色。

關于這個應用其實未必有用,試想我們到一個陌生的地點例如美國的舊金山或大英博物館,可以用購買的方式向當地旅游單位購買這類中文旅游電子書下載到手機,一樣的效果,而且實現的機率更高。因為不見得所有的地方無線的覆蓋率都是100%。

4 作品: ANDROID SCAN

作者: Jeffrey Sharkey

入選分析:

Android Scan 可以用手機的照相機去掃描CD 或 書本的bar code,而且能實時到因特網尋找相同的CD產品的價格,并依找到的賣方的名稱、位置、價格排列、用戶可依最近的位置找到最便宜的價格。

這是相當有創(chuàng)意而且擴展性極高的應用,一旦GooGle 愿意將所有物品條形碼數據價格、地點等全部上網,對我們的生活購物行為將產生更重大的影響。

掃描BAR Code 之后, Android Scan 會尋找標的物的介紹以及賣方的信息,價格等,必列出附近的可以買到的地點。

Android SCAN 找到CD 之后可以進行比價,如果在當地附近有價格合理的商店,點選后它會顯示距離以及位置。

這個應用相當有趣而且具有更大的發(fā)展性,試想如果Google 將所有的東西的條形碼都提供上網,利用Android 手機作為掃描儀并以此應用做為比價搜尋系統。對多數人的生活將起很大的改變。

5 作品: SPLASHPLAY

作者:

入選分析:

歌曲在Android 手機播放之后透過USB 或藍芽接口將歌由以及旋律送到各種樂器的光板,光板會產生對應的亮點,想學歌或樂器的人可以用這種方式學習音樂。 由于這種方式很有機動性,車上,在帳蓬中都可以利用。只需包括一個吉他調音器,吉他節(jié)拍器和免持聽筒,藍牙足踏板。該產品將提供一種簡單,便利和有趣的方法學習音樂。

關于這個應用實在看不出有何特點,直接在Android 手機播放音樂和仿真光板不就好了,況且學音樂和唱歌真的只用這種方式學習,那就沒什么樂趣了。

6 作品: COMMANDRO

作者: Alex Pisarev, Andrey Tapekha

入選分析:

提供多重的方法達到人和人溝通的目的

以地理位置為中心的社群網絡和人際互動的通訊應用軟件將Android 平臺的功能發(fā)揮漓漓盡致。

實際人際互動通信的革新。

多維的工具可用在娛樂以及通信實務。

提供多重的方法達到人和人溝通的目的。

Commandro 顯示出你的朋友目前在那里正在做什么,它利用GPS定位系統確認你和你的朋友已經抵達事先約好的地點。

Commandro 允許你建立多維的活動計劃并可以互相重復,根據它的算法,基于GPS的位置信息和用戶配置的活動半徑。以決定那些活動是最相關的。它也提供設定特定活動和特定個人的警示(例如個人進入了預先約定地點的半徑就發(fā)出警示,你可以知道你的朋友已經快到了)。

Commandro 讓你邀請你的朋友加入你的活動,當你的朋友確認之后,相關的活動就產生并加入計劃中。并使用Notification 告知你的朋友是否按照你的計劃。

Commandro 也可以幫助別的Commandro 的用戶估計所經過的路徑的時間。 它也提供 Instant Message 交換信息,并可以上傳個人相片生日等信息到服務器供其他Commandro 用戶瀏覽。既使不使用它的人機界面,依然能夠在背景執(zhí)行搜尋等工作。

7 作品: GolfPlay

作者: Inizziativa Networks

篇4

[關鍵詞] Frameworkbin

[中圖分類號]TN79[文獻標識碼]A[文章編號]1007-9416(2010)03-0104-01

1 引言

不僅僅只是ASP的一個簡單升級,它更為我們提供了一個全新而強大的服務器控件結構。從外觀上看,和ASP是相近的,但是本質上完全不同。幾乎全是基于組件和模塊化,每一個頁,每一個對象和HTML元素都是運行的組件對象。在開發(fā)語言上,ASP.省略 Framework所支持的,C#.NET等語言作為其開發(fā)語言,這些語言生成的網頁在后臺被轉換成了類,并編譯成了一個DLL。由于是編譯執(zhí)行的,所以它比ASP擁有了更高的效率。

2 安裝的執(zhí)行環(huán)境

有許多ASP愛好者想轉學,要學習 即ASP+,就必須先配置的調試環(huán)境。

2.1 安裝Internet Information Service

操作系統可以是:Windows 2000 Professional,Windows 2000 Server ,Windows 2000 Advanced Server ,Window XP,Windows 2003。

瀏覽器要是5.5以上,最好是IE6.0版本,建議使用IE6SP1。

IE6SP1的下載地址是:

download.省略/download/ie6sp1/finrel/6_sp1/W98NT42 KMeXP/CN/ie6setup.exe

以上我們提出了三種操作系統都可以安裝IIS,下面我們選擇一種進行介紹,以Windows 2003中IIS的安裝為例進行介紹。

在Windows 2003 Server安裝IIS 6.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組件,要求至少是Microsoft Data Access Components 2.7。安裝Microsoft Data Access Components2.7的步驟如下所述:

①找到Microsoft Data Access Components2.7的安裝文件夾。

②雙擊Microsoft Data Access Components 2.7的安裝程序,即可啟動該安裝程序。

③選擇“是,我接受上面許可協議中的所有條款”,然后單擊“下一步”即可完成安裝。

2.3 安裝.NET Framework

的運行環(huán)境還需要安裝.NET Framework如果操作系統是Windows 2003 則可以不需要安裝.NET Framework,因為系統已經集成。以下的安裝方法針對Windows 2000和Windows XP操作系統。

①下載.NET Framework1.1.exe安裝文件。

從微軟中國網站可以下載NET Framework1.1.exe安裝文件。

②下載.NET Framework1.1簡體中文版語言包。因為頁面的調試報錯信息比較詳細,安裝中文語言包便于查找錯誤代碼。

③安裝.NET框架。首先確保IIS服務器能正常運行,接著安裝.NET Framework1.1。雙擊NET Framework1.1.exe啟動安裝程序,彈出詢問是否安裝的對話框。

④單擊“是”,進入下一步就進入安裝狀態(tài),碰到對話框按“回車”就行了。安裝程序自動完成所有的工作。安裝完畢后,IIS不用作任何設置。然后再安裝簡體中文語言包。直到完成安裝為止。

3 環(huán)境搭建后的測試

打開瀏覽器,輸入以下地址:localhost/2.aspx,這個地址中,2.aspx這個文件是不存在的,可以是任意名稱。如果.NET Framework1.1和語言包安裝正確,服務器將報錯,提示找不到資源。因為2.aspx這個文件是不存在的。

要引起重視的是:必須是后綴名為.aspx才能出現上述信息,對于ASP頁面,仍然由ASP引擎處理,不會出現上圖這么詳細的提示。

4 開發(fā)環(huán)境的補充說明

篇5

關鍵詞 Java;桌面程序;事件處理

中圖分類號:TP311 文獻標識碼:A 文章編號:1671—7597(2013)041-068-02

使用Java語言進行桌面程序開發(fā)包含兩個關鍵步驟:一是實現圖形用戶界面;二是實現界面與用戶的交互功能。桌面程序如果空有界面,但用戶做什么都沒有反應,程序不能與用戶互動,那這個程序就沒有實際意義了。為了讓圖形用戶界面能“動”起來,能對用戶的操作比如點擊按鈕、選擇菜單命令等做出響應,就需要為圖形用戶界面添加事件處理編碼。

2 Java的授權事件處理模型

Java采用授權事件模型(Delegation Event Model,也稱為委托事件模型)的事件處理機制來實現圖形用戶界面與用戶交互的功能。授權事件處理模型是指當用戶與界面上的組件發(fā)生交互操作觸發(fā)事件時,組件本身并不直接處理事件,而是將事件的處理工作委托給事件監(jiān)聽器對象,由監(jiān)聽器對象實現具體的功能。授權事件處理模型的示意圖如圖1所示。

采用授權事件模型進行事件處理編碼,實現界面與用戶的交互功能主要包含三個要點:

1)確定事件源和事件,即確定界面上的什么組件是有必要監(jiān)聽它與用戶的交互動作的,該組件與用戶交互產生的哪種事件是需要程序作出響應的。

2)根據事件源和事件編寫事件處理代碼。在授權事件模型中,事件監(jiān)聽器負責監(jiān)聽事件源上的事件,并能在事件產生后調用特定方法、執(zhí)行功能代碼。Java提供了一些事件監(jiān)聽器接口,能監(jiān)聽不同類型的事件,程序員需要實現監(jiān)聽器接口來創(chuàng)建用于自己程序的監(jiān)聽器類,重寫接口中的方法,這些方法在事件發(fā)生時將自動被調用。

3)為事件源注冊監(jiān)聽器對象。只有將事件源與監(jiān)聽器對象這樣綁定之后,事件源上發(fā)生與用戶的交互事件時,才會觸發(fā)監(jiān)聽器對象中相應方法的執(zhí)行,即調用具體的功能代碼,亦即程序對用戶的交互動作作出了響應。

3 事件處理編碼的兩種常見方式

由授權事件處理模型可知,事件處理編碼的主要工作包含兩個:1)創(chuàng)建監(jiān)聽事件的監(jiān)聽器類,重寫其中的功能方法。2)給需要監(jiān)聽的組件(事件源)注冊監(jiān)聽器類的對象。接下來,以一個典型的桌面程序模塊——登錄驗證為例,介紹兩種常見的事件處理編碼方式。登錄驗證模塊功能如圖2、圖3所示。用戶點擊“登陸”按鈕即進行賬號、密碼驗證并反饋驗證結果,用戶點擊“重置”按鈕則清空賬號和密碼框。

為方便演示,此示例中假定合法賬號、密碼為admin和1234,實際應用中賬號、密碼應存于數據庫。賬號文本框名為t_name,密碼框名為p_pwd,登陸按鈕名為b_login,重置按鈕名為b_reset,均使用javax.swing包中的組件類型創(chuàng)建。

3.1 界面類同時作為監(jiān)聽器類方式

實現界面的類同時實現監(jiān)聽器接口成為監(jiān)聽器類,因此,事件源注冊的監(jiān)聽器對象即為本類對象。兩個按鈕可以注冊同一個監(jiān)聽器對象,在實現具體功能之前應先區(qū)分事件源是“登陸”還是“重置”按鈕,然后再實現各自對應的功能。核心代碼如下:

public class LoginFrame extends JFrame implements ActionListener{

……

// 兩按鈕注冊監(jiān)聽器

b_login.addActionListener(this);

b_reset.addActionListener(this);

……

//ActionListner接口必須實現的方法,此方法在ActionEvent事件發(fā)生時自動被調用

public void actionPerformed(ActionEvent e) {

// 事件源是“登陸”按鈕

if (e.getSource() == b_login) {

//驗證賬號、密碼合法性并反饋結果

String pwd = new String(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 匿名內部類方式

以匿名內部類的方式實現監(jiān)聽器類,并實例化一個匿名對象直接注冊給事件源。這種方式是所見即所得的圖形用戶界面開發(fā)工具中較常使用的方式。“登陸”按鈕和“重置”按鈕各自注冊自己的監(jiān)聽器對象實現對應的功能,核心代碼如下:

// "登陸"按鈕注冊監(jiān)聽器

b_login.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e) {

//驗證賬號、密碼合法性并反饋結果

……

}

});

// "重置"按鈕注冊監(jiān)聽器

b_reset.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e) {

//清空賬號、密碼框

……

}

});

4 小結

事件處理編碼的方式雖然是多樣的,但中心思想是一致的,那就是:創(chuàng)建監(jiān)聽某種類型事件的監(jiān)聽器類,將監(jiān)聽器對象注冊給事件源。理解了這個中心思想,那不同的編碼方式就都容易理解和掌握了。

參考文獻

[1]曹靜,Java桌面程序開發(fā)[M].大連理工大學出版社,2011.

篇6

關鍵詞:windows CEbasic4ppc程序開發(fā)

中圖分類號:P2文獻標識碼: A

測繪工作的性質決定了在測繪工作中需要實時記錄和現場計算,起初這些記錄和計算的工作都由手工完成。手工記錄和計算有不少缺點,例如工作效率差,數據錯誤率高,內業(yè)處理繁瑣等。后來隨著科技的發(fā)展,出現PC-1500、PC-E500和帶編程和存儲功能的計算器,這給測繪工作帶來了很大的便利。這些袖珍型計算機的出現確實方便了測繪人員但是這些設備也有一些無法回避的問題,這些計算機的程序雖然都基于BASIC語言,方便了測繪人員的二次開發(fā)但是它們的調試和代碼的輸入十分的繁瑣,并且交換界面也不太友好,顯示屏幕為單行或者幾行。這些袖珍計算機多依賴進口,國內無法仿制,隨著國外生產線的停產,以及國內可更換零件的減少,這些計算機在國內已接近絕跡。后來出現了casio系列計算器,它們也可以編程和少量記錄數據,這一系列計算器的出現在一定程度上替代了上述的那些袖珍計算機,在工程測量中仍發(fā)揮不小作用。但是那些袖珍計算機的缺點,在它們身上依然可以找到。隨著時代的發(fā)展測繪人員迫切需要一種編程更為簡便,調試方便,存儲量大,并且交互界面友好的輔助工具的出現。WindowsCE這種嵌入式系統的出現給廣大測繪工作者帶來了福音。

一、Windows CE的發(fā)展和應用

WindowsCE是微軟公司開發(fā)的一種基于移動計算平臺的開放式可升級的嵌入式操作平臺。它具有良好的圖形用戶界面和良好的可擴展性。且編程語言和windows桌面平臺的開放語言(visual Basic、visual C++)十分類似,為程序的移植提供了便利。

WindowsCE系統相當于最基礎的框架系統,WindowsCE的版本也經過了不斷的更新和完善。WindowsCE系統經過7個階段的發(fā)展已經日臻完善。從WindowsCE 3.0開始微軟開始把它改成為windows for Pocket PC簡稱PPC,從此world和excel被裝進了口袋,windowsce 5.0以后微軟開放了該系統的源代碼,使得基于WindowsCE開放的系統越來越多。

WindowsCE也滲透到了測繪領域,很多工具的系統基于WindowsCE開發(fā)或者本身就是windowsCE系統。攜帶windowsCE系統的GPS手薄(華測、中海達、南方等)已經成為主流配置。另外不少全站儀也舍棄了老、舊、復雜的黑白顯示換成了基于WindowsCE內核的圖形交互界面。這些經過移植的系統使得測繪儀器的操作更加簡便,使得這些工具和PC處理系統實現了無縫連接,數據傳輸更加順暢。很大程度的提高了測繪工作的效率。即使一些儀器沒有搭載該系統,也可以通過一些搭載了該系統的輔助工具完成計算和存儲數據的工作例如PDA或者智能手機。這些工具只要加載為WindowsCE系統開發(fā)的測繪軟件就可以。

二、WindowsCE軟件的開發(fā)

WindowsCE繼承了windows平臺的易用性和良好的擴展性,其開發(fā)工具也很多

微軟提供的開發(fā)工具有Embedded Visual Tools 3.0,其中包括Embedded Visual C++ 3.0和Embedded Visual Basic 3.0;Embedded Visual C++ 4.0和Visual 開發(fā)工具的版本號是與Windows CE的版本號對應的。EVC3.0和EVB3.0是用來開發(fā)基于Windows CE 3.0平臺的應用程序的。而EVC4.0是用來開發(fā)Windows 平臺的程序。Visual 則支持目前主流的windowsCE平臺(windows CE 6.0、windows mobile6.0、windows6.5等等)。除了官方給的開發(fā)工具外也出現了一些第三方的開發(fā)工具例如basic4ppc等等

在開發(fā)工具選擇方面,由于之前在測繪行業(yè)中廣泛應用的PC-1500、PC-E500和有編程功能的計算器大多都基于BASIC語言開發(fā),前輩們基于這些設備開發(fā)的程序經過簡單的移植之后就可以應用到新的平臺例如PDA或者其他搭載windowCE系統的平臺。所以BASIC語言系列更具優(yōu)勢。

三、開發(fā)實例

本文以開發(fā)中小程序見長的Basic4ppc舉例說明。Basic4ppc具有安裝簡便,代碼編寫環(huán)境多樣,代碼調試方便不需虛擬機支持以及提供更加簡便快捷的程序封裝等特點。另外

系統本身提供了大量的可視化控件,可以很方便的使用可視化方式直接繪制用戶的圖形界面,直觀動態(tài)的調整位置,直到用戶滿意為止,不必用大量的代碼來描述界面控件的外觀和位置。

Basic4ppc的開發(fā)界面

在工程測量中很多時候會出現臨時增加放樣點的情況,例如在建筑方格網的放樣中,如果放樣坐標系為獨立施工坐標系,建筑物的軸線平行于坐標軸方向,那么坐標非常容易計算。但是也會有例外,出現軸線與坐標軸方向不平行的情況,這就給坐標計算帶了困難。本文以解決此問題的程序開發(fā)為實例來講解一下具體的開發(fā)過程

首先大概的編程思路:是利用坐標正反算原理通過輸入方格網中兩個相鄰已知點坐標、待定點到已知坐標點軸線的垂直距離、垂足到任意一個已知點的距離等參數即可求出待定點坐標。

其次根據自己的個人習慣繪制圖形控件包括TextBox、Button以及Label控件

控件繪制界面

再次根據這些控件的觸發(fā)機制編寫代碼

Sub App_Start

Form1.Show

TextBox5.Text = ""

TextBox6.Text = ""

TextBox7.Text = ""

TextBox8.Text = ""

End Sub

Sub Button2_Click

AppClose

End Sub

Sub Button1_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)

If TextBox7.Text = 0 Then

s1 = 0.00000000001

Else: s1 = TextBox7.Text

End If

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

End Sub

為了是代碼盡量簡潔可以向VB一樣創(chuàng)建模塊加以引用

雖然basic4ppc也是基于BASIC語言但是和VB的語法還是略有差別值得大家注意

控件名稱由text.Text變?yōu)門extBox.text,還有該軟件不識別iif函數只能通過其他判斷語句來實現。在模塊編寫時需要用return來返回過程名的值 ,在調用時需要采用模塊名.過程名(參數)的模式。

編寫完成后只要通便生成終端版的可執(zhí)行文件即可完成封裝,再通過windowsce的同步軟件傳輸到終端中即可在終端中使用。

最終應用效果

篇7

摘要:由Google倡導發(fā)起的開放手機聯盟及其推出的Android平臺,一經便在業(yè)內引起軒然大波。首先介紹了android平臺中的內部結構,并通過和現有的智能手機開發(fā)平臺進行比較研究分析了該平臺的結構特點,以此來說明android平臺具有強大的開放性和兼容性。然后重點介紹了該平臺強大的功能之一――Google Map,通過開發(fā)一個利用地理定位服務來獲取當前設備地理位置的應用實例,并詳細地介紹了Google Map中豐富的API功能以及應用程序的基本開發(fā)流程,來驗證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多家移動技術和無線應用領域領先企業(yè)組成的開放手機聯盟(Open Handset Alliance)了其智能手機平臺--Android。Android是一個開放、自由的移動終端平臺,它是由操作系統、中間件、用戶界面、應用軟件組成,同時其開放性保證該平臺不存在任何阻礙移動產業(yè)創(chuàng)新的專有權障礙。開發(fā)人員在該平臺開發(fā)的應用程序,是使用Java語言編寫的、在Dalvik虛擬機上運行的。Android的底層是以開放性的Linux kernel為其架構,也可以理解為Google推出的手機操作系統和相關軟件的總稱。

1 Android平臺的架構

Android平臺整體自底向上由以下四個層次組成:Linux內核層、Android運行時庫和其他庫層、應用框架層、應用程序層。

1) Linux內核層:Android基于Linux version2.6.23內核開發(fā)的,主要是添加了一個名為Goldfish的虛擬CPU以及Android運行所需的特定驅動代碼。該層用來提供系統的底層服務,包括安全機制、內存管理、進程管理、網絡堆棧及一系列的驅動模塊。作為一虛擬的中間層,該層位于硬件與其它的軟件層之間。需要注意的是,這個內核操作系統并非類GNU/Linux的,所以其系統庫、系統初始化和編程接口都和標準Linux系統有所不同的。它沒有采用虛擬內存文件系統。而是采用YAFFS2文件系統。YAFFS(Yet Another Flash File System)文件系統是一個開源的,專門為NAND Flash設計的文件系統,具有很好的可移植性,也是一種日志型文件系統,能夠在Linux,uCLinux.和Windows CE上運行。YAFFS目前有YAFFS和YAFFS2兩個版本,一般來說,YAFFS對小頁面(528字節(jié)/頁)有很好的支持,而更大的頁面(2K+64字節(jié)/頁)就需要支持超大容量的NAND Flash。所以采用支持大頁面的YAFFS2文件系統。

2) Android運行時庫和其他庫層:Android 運行時庫包含一組核心庫(提供了Java語言核心庫內的大部分功能)和Dalvik虛擬機。同時Android提供了豐富的庫類支持且大部分為開源代碼,如采用的數據庫為SQLite。Android選擇它作為移動終端的嵌入式數據庫有以下優(yōu)點,它無需安裝和管理配置,它是一個存儲在單一磁盤文件中的完整的數據庫,體積小只有250KB但支持數據庫大小至2TB,提供了對事務功能和并發(fā)處理的支持,而且比目前流行的大多數數據庫運行速度快。

3) 應用框架層:在應用框架Android開發(fā)人員可以跟那些核心應用一樣擁有訪問框架APIs的全部權限。應用的系結構化設計簡化了各組件之間的重用,任何應用都可以分發(fā)自己的足見,任何應用也可以使用這些分發(fā)的組件(應用的使用方法需遵循框架的安全性約束)。

4) 應用程序層:Android本身會附帶一些核心的應用程序,包括e-mail客戶端、短信程序、日歷、地圖、瀏覽器、通訊錄等等,目前所有的應用程序都是由Java語言開發(fā)的。

2 Android平臺與J2ME的區(qū)別

J2ME是Java語言專門針對嵌入式電子產品開發(fā)的版本,應用在移動電話、PDA、電視機機頂盒以及其它資源受限的設備上,J2ME是目前移動設備上使用最廣泛的開發(fā)平臺.J2ME平臺由多種配置、簡表和可選包組成.

可以發(fā)現J2ME的應用是建立在JVM(或KVM)之上,而主機操作系統是位于J2ME平臺之外.這樣的設計一方面提供了跨操作系統的特性,主機操作系統可以是Symbian、Windows Mobile和Linux,另一方面J2ME雖然提供了統一的開發(fā)平臺,但是JVM的安全機制讓J2ME的應用程序不能調用本地系統資源.而Android向下既包括操作系統內核心,向上又擁有通現成的應用軟件,加之開源、免費、可以直接使用Java語言為開發(fā)人員提供了極大的便利。

另外需要強調的是雖然同樣是使用Java語言進行開發(fā),但是Android使用的Dalvik虛擬機和J2ME使用的標準的Java虛擬機(JVM)存在以下區(qū)別:

1) Dalvik是基于寄存器,而JVM是基于堆棧的.Android選擇采用寄存器的方式是因為它對提前優(yōu)化(ahead-of-time optimization)提供了更好的支持,而這對類似于移動電話這樣的受限環(huán)境是頗有裨益的.針對基于寄存器虛擬機和基于堆棧的虛擬機更深入的比較分析指出,基于寄存器的虛擬機對于更大的程序來說,在它們編譯時花費的時間更短.

2) 運行環(huán)境的區(qū)別.Dalvik經過優(yōu)化,允許在有限的內存中同時運行多個虛擬機的實例.

3 Android平臺應用程序開發(fā)例程

開發(fā)實例是一個Android平臺上地理定位應用程序,該應用是利用Android平臺上的Google Map中的API來獲取當前設備的地理位置,可以定時地請求更新設備當前的地理位置信息。

Android提供的地圖(Map)功能可能是廣大開發(fā)者非常關心的一部分。到目前為止,開發(fā)內嵌式地圖應用的軟件相當的困難,而且往往還需要支付很高的地圖廠商的版權費用,加之手機上GPS功能還不完善,導致很多可以基于當前位置來開發(fā)功能的軟件少之又少,就算是幾個比較著名的LBS(Location-Based Service)軟件,使用者也是寥寥無幾。Android的出現打破這一格局,提供給普通開發(fā)者非常靈活的地圖展示與控制功能。

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還提供了衛(wèi)星圖、交通圖和路況圖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:提供定位信息發(fā)生改變時的回調功能。必須實現在定位管理器中注冊監(jiān)聽器對象。

Criteria:該類使得應用能夠通過在LocationProvider中設置的屬性來選擇合適的定位提供者。

3.3 項目源程序開發(fā)

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 創(chuàng)建主程序

接著創(chuàng)建一個MyGPSActivity,并繼承MapActivity的activity類:

class MyGPSActivity extends MapActivity

{ @Override

public void onCreate(Bundle savedInstanceState)

{ //創(chuàng)建并初始化地圖

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接口,使其能夠監(jiān)聽定位信息的改變:

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()方法中注冊定位監(jiān)聽器。

@Override

public void onCreate(Bundle savedInstanceState)

{…

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

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

}

現在的代碼中的onLocationChanged方法就會在用戶的位置發(fā)生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”窗口中我們可以輸入經度和緯度值發(fā)送到模擬器上,之后模擬器的屏幕上就會根據這個經緯度來進行定位。實際效果圖如圖2。

4 結論

Android手機應用程序開發(fā)著眼于它的整個體系構架,是一項復雜的工程。本文分析了Android體系的層次架構,并通過一個應用實例開發(fā)驗證了其平臺的可用性。Android平臺本身大量使用開源庫類,并且為開發(fā)人員提供了一個非常便捷的開發(fā)環(huán)境。相信廣大開發(fā)者可以借助Android 提供的強大的源碼開放軟件開發(fā)包(SDK),開發(fā)出豐富多彩、極具個性的移動應用。

參考文獻:

[1] 高博.基于J2ME的移動通信技術的研究與應用[D].沈陽工業(yè)大學碩士學位論文,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開發(fā)大全[M].潘穎,王磊譯.北京:清華大學出版社,2004.

[6] 劉向輝.基于Java的移動終端中間件的研究與設計[D].華東師范大學碩士學位論文,2005.

[7] 葉達峰.Eclipse編程技術與實例[M].北京:人民郵電出版社,2006

篇8

1、首先要確定好是做什么類型的小程序商城。比如單商城、多商城

2、其次找一個可靠的軟件公司開發(fā)

3、最后,小程序系統需要有小程序的功能程序+服務器組成。就好比電腦的組成是有主機+顯示屏以及網絡組成一樣的原理

(來源:文章屋網 )

篇9

關鍵詞:二手車;價格評估;網頁程序;開發(fā)

前言

現階段,我國二手車市場正處于發(fā)展階段,隨著汽車市場發(fā)展,新車保有量增加消費者換車需求愈發(fā)明顯,未來二手車交易量與新車銷量之間的距離將會越來越小,二手車交易市場前景廣闊。二手車價格評估作為中間環(huán)節(jié),連接著交易雙方,評估是否準確,不僅影成交率、且對未來二手車市場發(fā)展影響深遠。基于當前很多網頁中二手車價格評估不準確,本文加強對二手車價格評估網頁程序開發(fā)的研究具有非常重要的現實意義。

1 背景介紹

二手車交易能夠為新車銷售注入更多活力,在拓展業(yè)務范圍等方面發(fā)揮著積極作用。目前,我國二手車交易量較少,尚未形成規(guī)模化,有待進一步挖掘。二手車市場發(fā)展表明我國汽車市場趨于成熟,其中政策帶動效果突出,如車輛購置稅過戶、轉籍等業(yè)務的取消等,為二手車市場發(fā)展提供了極大的支持。據相關數據顯示,國內汽車保有量高達1億輛,其中很多私人車輛進入換購期,二手車資源豐富[1]。但當前,現行法律制度對于二手車市場的規(guī)范力度不夠,導致二手車估價存在主觀因素,缺乏統一的標準,量化難度較大,不利于二手車市場健康發(fā)展。

國內外專家和學者對二手車估價算法達成一致,基本形成較為完善的理論體系,雖然一些網站設計了估價計算器,但功能不夠完善,主要集中在品牌、使用時間等標準上,使得估價存在片面性。因此本文將以不同的視角對二手車價格評估進行網頁設計。

2 二手車價格評估網頁程序設計

2.1 設計需求

根據當前二手車市場發(fā)展現狀及現有價格評估來看,本文設計的評估網頁應滿足多功能、全面性需求。本文將以JavaScript為基礎,提出一種建立在此基礎上的二手車估價網頁,用戶可以通過此,及時了解和計算出二手車在當前市場上的情況。

2.2 網頁框架

為了實現二手車準確估價目標,本文設計的程序主要有八個選項,同時為便于使用,還應有相關說明文字。對于網頁程序的編寫,主要采用JavaScript進行編寫。JavaScript是一種程序語言,具有生動、活潑特點,是網頁設計常用方式之一,對于網頁設計人員專業(yè)要求并不高。因此在設計中,主要利用該項技術,對網頁進行設計,增強人機交互效果。

2.3 網頁設計

除網站logo以外,將評估程序分為左右兩塊,左邊一塊供使用者輸入選項并進行計算,右側一塊則顯示相應文字說明,如剛打開頁面時顯示歡迎文字、點擊左側選項時會在右側顯示該選項的說明、以及提交選項時會在右側顯示評估價格等。

八個選項的設計思路如下:第一,新車現價,是該款車的價格,需要手動輸入,如果此車已經停產則可以根據相似的車型確定一個價格,價格單位設置為“萬元”,如果忘記輸入,網頁會自動提醒。第二,使用年限,不同的車輛使用年限有所差別,出租車的使用年限為8年,9座以上非營運車及營運客車的使用年限為10年,9座以下非營運車的使用年限無上限,按15年計算。第三,已用年限,即車輛當前使用時間,按整年進行計算。第四,技術狀況,分為四個等級,其中一級車技術狀況最佳,車輛各項技術指標滿足要求,且在大修里程范圍以內[2]。二級車、三級車次之,四級車不參與評估,整體性能基本不符合使用要求。第五,重大事故,是否發(fā)生過重大事故,設置選項為是和否。第六,維修費用,根據所需維修費用占重置成本的比例進行劃分。第七,品牌類型,現階段車輛品牌類型呈現多元化特點,如合資品牌、國產品牌及走私罰沒等,每個品牌在市場的價格有所不同。第八,使用強度,車輛平均年行駛里程,主要設置區(qū)間范圍,如4萬公里以內、4~8萬公里之間及8萬公里以上。

2.4 軟件設計

針對本文設計的價格評估網頁程序,核心方法為綜合分析法,根據提交的選項計算得出汽車的出售價格[3]。具體計算公式如下:

其中R、N、A分別代表的是重置成本、成新率、調整系數。調整系數根據程序的各選項計算而來,成新率則采用加速折舊法中的雙倍余額法進行計算,因為等速折舊法會使新車估價過高,舊車估價過低。

整個評估程序的算法寫在一個js文件中,而不采用數據庫,使得此網頁可以脫離后臺,隨時隨地使用。

2.5 網站形象設計

網站采用汽車金屬冷色為主基調,顏色層次清晰,界面美觀、簡潔。金屬質感與車輛表面相似,能夠給人們一種視覺上的沖擊,同時汽車的悅動之感,使得汽車圖片樣式較為豐富,能夠給使用者良好的視覺體驗和感受[4]。而對于網站中的字體設計,可以設置為宋體16號字,大標題設計成黑體。汽車二手車網頁以汽車為主題,因此對于logo的設計,應選擇特殊字體,能夠凸顯出汽車的時代感。

3 結束語

網站完成后,開始對網站進行測試,如每個選項的下拉菜單是否正常使用,價格輸入框能否輸入,右側提示文字能否顯示等,及時發(fā)現錯誤,并采取相應措施加以處理。還應檢查頁面代碼,刪除繁瑣代碼,給各個圖片增加具體屬性,便于圖片搜索[5]。完成全部檢查工作后,對文件夾進行簡化處理,刪除其中不必要的內容,提高網頁運行效率。完成網頁程序設計后,筆者對其進行了測試,進入首頁,一目了然,看到各個選項的具體設置,排版自然,且非常便利。進行價格評估時,按照各個選項輸入車輛具體情況,如圖1。提交數據后,系統內部會對數據進行計算,最后得出相應的估價。

結論:根據上文所述,隨著我國二手車市場快速發(fā)展,二手車價格評估重要性愈發(fā)突出,現行網頁程序對于二手車價格的評估過于片面,選項較少。本文根據網頁現狀,堅持科學、合理性原則,采用JavaScript技術進行二手車價格評估網頁程序開發(fā),程序共對八個選項進行計算,豐富評估標準,使得對二手車價格的評估更加全面、系統。筆者對于二手車及網頁設計知識的學習尚淺,其中存在很多不合理之處,希望能夠在日后學習中進一步深入學習,完善二手車價格評估網頁程序開發(fā),從而促進二手車市場全面發(fā)展。

參考文獻

[1]馬曉春.二手車評估實踐教學網站的制作[J].黑龍江教育(理論與實踐),2015(05):30-32.

[2]高偉,鄧召文,余洋.二手車重置成本法改進及評估系統設計[J].拖拉機與農用運輸車,2015(03):32-35+38.

[3]馮波.基于PDA的二手車鑒定評估系統可行性研究[J].汽車實用技術,2015(09):154-155+160.

篇10

關鍵詞 ajax;web應用;異步交互

中圖分類號:tp3 文獻標識碼:a 文章編號:1671—7597(2013)051-077-02

在傳統的web應用程序中,用戶和服務器之間是一個同步交互的過程,用戶在客戶端向服務器提出請求,服務器端收到請求后進行處理,然后再將處理結果以全新的頁面發(fā)送回客戶端。用戶提交請求后,不能進行其它操作,服務器需要一定時間對請求進行處理,使得用戶得不到立即反饋。ajax引入了異步請求的技術,在用戶和服務器之間增加了一個中間層,使得用戶在提交請求后不用等待服務器的響應,可以繼續(xù)操作使用應用程序,web站點看起來是即時響應的。現在ajax技術已經在面向消費者的web應用開發(fā)中得到廣泛的應用,如amazon的a9搜索引擎、google的gmail和googlemaps。

1 ajax與傳統web應用

1.1 傳統的web應用

傳統的web應用程序大多采用b/s結構,系統與用戶之間同步交互。用戶對瀏覽器操作向服務器端發(fā)送一個http窗體請求,服務器端接收到請求后,判斷用戶的請求行為,處理來自各種數據源的數據信息,設置相關屬性值后加入到服務器返回給用戶的信息內容中,即一個html頁面。這個過程不是連貫的用戶體驗,用戶提交請求后,不能進行其它操作,服務器需要一定時間對請求進行處理,用戶處于等待狀態(tài),瀏覽器上大部分顯示空白。在服務器負載比較小時,這種同步交互方式工作沒有任何問題。但是當服務器負載較大時,服務器需要更多的時間進行處理運算來響應用戶的請求,過長的等待服務器響應時間對于用戶來講是不能接受的,有時用戶經過長時間等待收到的可能是服務超時的錯誤消息。還有一種情況,當用戶只是想對頁面中一小部分的內容進行修改時,瀏覽器卻仍然需要對整個頁面的數據進行加載刷新,這樣即浪費上網流量,又占用大量時間,工作方式缺乏人性化。傳統web應用請求響應過程如圖1所示。

1.3 ajax的概念

ajax全稱為“asynchronous javascript and xml”,是一種創(chuàng)建交互式web應用的手段,它采用客戶端腳本來實現與服務器端進行交換數據。可以動態(tài)、靈活的更新web頁面。ajax技術是將java技術、xml、dom以及javascript等編程技術,按一定的協作方式合理組合在一起,來充分發(fā)揮各自的作用。這些技術有javascript、xstl、xhtml、dom、xml、css及xmlhttprequest。ajax技術的出現和使用使得web應用的交互性得到了很大提高。

1.3 ajax的工作原理

ajax的工作原理是在用戶和服務器兩者之間加了一個中間層ajax引擎(ajax engine),實現用戶操作與服務器響應間異步交互模式。在這種模式下,一部分用戶請求如數據驗證和簡單的數據處理請求去交給ajax引擎完成,確實需要服務器端完成的請求,才由ajax引擎向服務器提交,減少了頁面重載次數,使用戶感覺所有的操作很快得到了響應,交互性大大增強。ajax應用模型如圖2。

ajax引擎接收處理請求的流程為:

1)捕獲web瀏覽器事件,對應不同事件注冊一個處理函數。

2)在客戶端瀏覽器初始化xmlhttprequest請求對象。

3)與服務器建立連接,向服務器發(fā)送請求。

4)接收服務器響應對處理結果進行分析。

5)使用dom api更新客戶端頁面內容。

2 ajax的關鍵技術

鑒于ajax涉及到的技術較多,本文著重對xmlhttprequest、dom、xml、javascript幾種技術的使用進行說明。

2.1 xmlhttprequest

xmlhttprequest對象是ajax技術中最核心的部分。利用這個對象,ajax不用刷新頁面即可與服務服進行數據的傳輸和讀寫。它只與服務器進行數據交換,減輕了服務器的負擔,減少了等待響應時間,用戶與服務器交互更為流暢。

2.2 dom

dom全名為“document object model”,是w3c組織的推薦標準。該模型是java api for xml processing的組件api。該document object m

odel level 2 core api允許程序動態(tài)訪問和更新文檔的內容和結構。腳本或程序語言通過dom與網頁進行交互溝通。

2.3 xml

xml全名為“extensible markup language”,是一種開放的,允許用戶對自己的標記語言進行定義的源語言。標記是一種信息符號,它能被計算機理解,計算機相互之間通過這種信息符號來處理包含各種信息的文章等。xml語言是由相關人士自由決定的標記語言,具有開放性、可擴展性、可自描述性的特點。它作為數據交換與數據傳輸的標準在web應用中被廣泛使用。

2.4 javascript

javascript,是一種廣泛用于客戶端web開發(fā)的腳本語言。它雖然是一種簡單的腳本語言,但功能卻十分強大,不同于其它服務器端腳本語言,javascript主要被作為客戶端腳本語言在用戶的瀏覽器上運行,不需要將數據交付到服務器上進行處理,減少了服務器的負擔,大大提高了系統的效率。在web開發(fā)中通過用到javascript以下幾種功能:在html頁面中嵌入動態(tài)文本,接收客戶端請求并作出響應,讀寫html元素,實現表單數據前端校驗等。

3 結束語

ajax技術實現用戶和服務器的異步交互模式,在兩者之間加了一個中間層ajax引擎,動態(tài)、靈活的對web頁面進行刷新,最大限度的增加客戶端的數據處理能力,減輕了服務器的負擔又加快了響應速度,從而減少網絡流量縮短響應時間。ajax技術使web應用系統具有更高的實效性、更便捷的交互性和更好的人性化服務,使web應用系統感覺像桌面應用程序一樣使用,從而提升web應用系統的運行效率。

參考文獻

[1]蔣維.ajax技術在網絡b/s架構中的應用研究[j].微計算機應用,2008,29(7):29-33.

[2]scott raymond.ajax on rails(影印版)初版[m].東南大學,2007:81-130.