国产一区二区三精品久久久无广告,中文无码伦av中文字幕,久久99久久99精品免视看看,亚洲a∨无码精品色午夜

程序開發范例6篇

前言:中文期刊網精心挑選了程序開發范文供你參考和學習,希望我們的參考范文能激發你的文章創作靈感,歡迎閱讀。

程序開發范文1

APP流量成本的急劇攀升做渠道運營的同學可能會清楚,過去兩年里,APP推廣的成本是呈翻倍增長的。有些垂類APP的CPA單價高達500元以上,對于創業者來說沒有太多錢可以去砸在流量上,但流量往往是控制產品的命脈,每年有50%的新APP死在流量問題上。

移動互聯網格局基本已定,用戶主要需求場景已被巨頭把持移動互聯網發展已有五年時間,在這幾年時間里,從PC時代遷移過來的連接人與信息、連接人與人、連接人與商品、連接人與服務四個大類已經基本完成了格局重塑。用戶的主要需求場景,尤其是同時具備剛需和高頻兩個特點的場景,基礎工具、生活服務、娛樂等都已經有PC時代的老巨頭繼續把持,或者移動互聯網新生的小巨頭們占據山頭。

面向所有產品對用戶時間的競爭在之前的文章里,白崎反復講過一個觀點就是現在的競爭不僅僅是同類競品的競爭,其實是你在和所有產品競爭用戶的時間。顯然微信是目前的翹楚,平均每天長達4小時以上的停留時長。很多APP面臨的問題便是用戶即便下載安裝了,但也想不起打開,或者打開了很快就被關閉。

(來源:文章屋網 )

程序開發范文2

關鍵詞:電源管理; WDM; PCI; IRP

中圖分類號:TN302.7 文獻標識碼:A

文章編號:1004-373X(2010)14-0196-03

Driver Development of Power Management for PCI Device

CHENG Hai-quan1,2, HU Jun1, XU Shu-yan1, XIE Ai-ping3

(1. Space Optics Research Department, Changchun Institute of Optics, Fine Mechanics and Physics, Chinese Academy of Sciences, Changchun 130033, China;

2. Graduate School, Chinese Academy of Sciences, Beijing 100039, China;

3. College of Communication Engineering, Jilin University, Changchun 130032, China)

Abstract: The cooperation of operating system (OS) and driver is needed to control the power status of equipments for making PCI device to possess the function of power management. By the aid of the study on the power supply of systems and devices under Windows OS, a power management scheme is proposed to control the power status of equipments through processing system power IRP in WDM driver. WDM driver's mechanism of processing the power management IRP is elaborated. An experiment shows that WDM driver based on this scheme can work well with Windows XP.

Keywords: power management; WDM; PCI; IRP

0 引 言

隨著計算機軟硬件技術發展,要求設備能夠從待機或睡眠中快速啟動;要求在不使用時,移動設備能夠保持待機或休眠以節省電能的情況越來越多,傳統的冷啟動或熱啟動(復位啟動)已不能滿足人們的要求。微軟在Windows操作系統下設計了電源管理構架,為系統和設備的電源管理需求提供了廣泛的支持。目前Windows系統下的電源管理支持(advanced configuration and power interface ,ACPI) 高級配置和電源界面工業標準。

根據微軟的WDM驅動程序模型,很容易寫出具有一定功能的驅動程序,可是在設備運行了一段時間后,當系統要進入待機或休眠狀態時,就會發現桌面上彈出一個窗口――禁止待機。出現這種現象是由操作系統的默認電源管理策略所致,實際的原因在于驅動程序中沒有寫關于電源管理的代碼。本文中研究的WDM驅動就是為了使設備配合操作系統支持系統的待機和休眠。

1 系統和設備的電源策略

電源管理主要涉及操作系統和設備,系統電源狀態指示整個系統的總體電源使用,而設備電源狀態指示鞲霆設備使用多少能量。PCI設備支持的電源等級是由PCI配置空間中的電源管理能力結構描述的[1]。PCI總線電源管理接口規范描述了電源管理能力結構寄存器和電源管理事件信號以及輔助電源,這些寄存器和信號讓操作系統可以控制PCI總線以及總線上每個功能的電源[2]。

電源管理器管理著系統級的電源策略,設備電源策略主負責設備的電源策略,它們互相配合才能完成系統和設備的電源狀態轉換。

1.1 系統和設備電源狀態

Windows操作系統定義了6種系統狀態S0~S5,S0稱為工作狀態,S1~S4屬于睡眠狀態。S5是關閉狀態。設備按照ACPI規范定義了4種設備狀態D0~D3。在D0狀態中,設備處于全供電狀態。在D3狀態中,設備處于無供電(或最小限度的電流)狀態。中間的D1和D2狀態指出設備的2個不同睡眠狀態。Microsoft規定了不同類型設備的類專用的電源需求,該規范要求每個設備至少要支持D0和D3兩個狀態[3]。

1.2 電源狀態轉換

應用程序請求、系統活動/電池級別或用戶按下電源按鈕會導致電源狀態的改變,例如系統在響應待機(standby)命令過程中,電源管理器首先向每個驅動程序發送帶有IRP_MN_QUERY_POWER副功能碼的IRP_MJ_POWER請求以詢問設備能否接受即將到來的電源關閉請求。如果所有驅動程序都同意,電源管理器將發送第2個帶有IRP_MN_SET_POWER副功能碼的電源管理IRP(I/O reequest package),然后驅動程序把其設備置入低電源狀態以響應這個IRP[3-4]。

前文中驅動程序不能待機的原因,也就在這里,不符合電源管理要求的驅動程序否決了電源管理器發來的要求改變電源狀態IRP,導致系統不能待機。

1.3 PCI總線驅動程序與電源管理能力結構

總線驅動程序在電源管理中發揮著重要作用,甚至可以是電源策略主[5]。PCI電源管理能力結構為操作系統提供了一種標準機制來控制設備的功耗管理。對于某一個PCI設備來講,設備本身直接由PCI總線驅動程序管理[3]。總線驅動程序通過存取PCI電源管理能力結構的寄存器直接控制設備運行,達到物理上改變設備的電源狀態。

2 驅動程序設計過程

要使WDM驅動程序具有電源管理功能,首先需要在DriverEntry入口函數中注冊IRP_MJ_POWER IRP的派遣函數例程[6-7]。

pDriverObject->MajorFunction[IRP_MJ_POWER]= PowerDispatchRoutine;

驅動程序的電源管理例程圍繞電源IRP_MJ_POWER IRP進行處理,這些例程處理這個IRP,并在需要時產生這個IRP。這個IRP有4個電源管理次功能代碼,如表1所示。

表1 IRP_MJ_POWER次功能代碼

次功能IRP代碼描述

IRP_MN_QUERY_

POWER查詢系統或設備狀態變化是否可行

IRP_MN_SET_POWER設置系統或設備電源狀態

IRP_MN_WAIT_WAKE喚醒計算機,響應1個外部事件

IRP_MN_POWER_SEQUENCE發送這個IRP,確定設備是否真正進入特定的電源狀態

大多數驅動程序要求必須處理表1中前2個IRP,具有喚醒能力的設備驅動要處理IRP_MN_WAIT_WAKE。這里對IRP_MN_WAIT_WAKE和IRP_MN_POWER_SEQUENCE做默認處理。

NTSTATUS PowerDispatchRoutine(IN PDEVICE_OBJECT fdo, IN PIRP Irp) {

PAGED_CODE();

KdPrint(("Enter PowerDispatchRoutine\\n"));

NTSTATUS status = STATUS_SUCCESS;

switch(stack->MinorFunction) {

case IRP_MN_SET_POWER:

status = SetPowerState(fdo, Irp);

break;

case IRP_MN_QUERY_POWER:

status =QueryPowerState(fdo, Irp);

break;

case IRP_MN_WAIT_WAKE:

case IRP_MN_POWER_SEQUENCE:

default:

status = DispatchPowerDefault(fdo, Irp);

break;

}

return status;

}

電源管理器,維護一個單獨的電源IRP內部隊列,這保證在系統中只有一個“設置系統電源”IRP在處理,還保證每個設備只有一個“設置設備電源”IRP在運行[5]。

設備在完成一個電源IRP的處理時,必須告訴電源管理程序,使得它可以開始下一個電源IRP的處理。一般的默認處理就是簡單地把一個IRP沿設備棧向下傳遞(沒有完成例程),在跳過或復制當前IRP棧單元之前,應調用PoStartNextPowerIrp函數,如果使用完成例程,通常也必須調用PoStartNextPowerIrp。

NTSTATUS DispatchPowerDefault(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)

{

PDEVICE_EXTENSION pdx = (PDEVICE_EXTENSION) DeviceObject->DeviceExtension;

PoStartNextPowerIrp(Irp);

IoSkipCurrentIrpStackLocation(Irp);

return PoCallDriver(pdx->LowerDeviceObject, Irp);

}

2.1 設備電源能力結構

PnP管理器在啟動設備后向設備發出查詢設備能力的請求,該請求的參數是一個DEVICE_CAPABILITIES結構,PCI總線驅動程序通常填充DEVICE_CAPABILITIES結構,該結構包含了與電源管理有關的幾個域。功能設備驅動程序應該首先向設備棧下轉發該IRP,等待IRP完成后,在必要時可以更改DEVICE_CAPABILITIES結構。

電源策略主負責檢查DEVICE_CAPABILITIES結構中的DeviceState域來確定每個系統電源狀態對應的設備電源狀態。這個結構中指出了對應于一個系統電源級設備可以處于的最高電源狀態。功能驅動程序可以在設備擴展中存儲這個結構中相關的域,在這個IRP完成以后,驅動程序不能改變它的內容[3]。

2.2 處理系統電源IRP

如果驅動程序收到一個“設置系統電源狀態”IRP,首先必須確定等效的設備電源狀態,如果當前設備電源狀態與要求的設備狀態不同,必須改變設備的狀態。通常總是把設備設置成與設備的當前活動、設備的電源能力以及系統的電源狀態相一致的最低電源狀態。

在向底層驅動程序傳遞“設置系統電源狀態”IRP之前改變設備狀態,在所有底層驅動程序處理后再給設備加電。必須給自己發出“設置設備電源狀態”IRP以改變設備電源狀態,然后等待這個IRP完成,然后可以繼續處理“設置系統電源狀態”IRP。以處理系統將要管理為例說明這個過程[4],如圖1所示。

圖1 降低系統電源IRP處理過程

2.3 處理設備電源IRP

如果收到“設置設備電源狀態”IRP,在調用低層驅動程序前,必須關閉設備的電源。在所有低層驅動程序啟動后,再啟動設備。這意味著應設置一個完成例程,并在那里給設備加電。這里以處理降低設備電源狀態為例[5]說明這個過程,如圖2所示。

圖2 降低設備電源IRP處理過程

2.4 實驗結果及分析

在Windows XP系統上加載采用這種電源管理方案的虛擬設備驅動程序,使系統從全功耗運行轉向休眠,再從休眠中恢復,用DebugView工具得到驅動打印的Log信息如下:

Enter HelloWDMPower

Power Manager query power state

Enter DispatchSystemPowerIrp

Enter CompletionSystemPowerRoutine

Send device power IRP according to system power IRP

Enter HelloWDMPower

Power Manager query power state

Enter DispatchDeviceQueryPower

Device power state query

newDeviceState = 4

Ready to pass down IRP for device power state query

Enter PowerDownPrepCallback

Enter DevicePowerCompleteCallback

Enter HelloWDMPower

System or device power is going to be change

Enter DispatchSystemPowerIrp

System power state change

newSystemState = 5

Enter CompletionSystemPowerRoutine

Send device power IRP according to system power IRP

Enter HelloWDMPower

System or device power is going to be change

Enter DispatchDeviceSetPower

Device power down

newDeviceState = 4

Ready to pass down IRP for device power state change

Enter PowerDownPrepCallback

Enter DevicePowerCompleteCallback

Enter HelloWDMPower

System or device power is going to be change

Enter DispatchSystemPowerIrp

System power state change

newSystemState = 1

Enter CompletionSystemPowerRoutine

Send device power IRP according to system power IRP

Enter HelloWDMPower

System or device power is going to be change

Enter DispatchDeviceSetPower

Device power up

newDeviceState = 1

Enter CompletionDevicePowerUp

Enter PowerUpCallback

Enter DevicePowerCompleteCallback

上述結果表明使用這種電源管理方案的驅動程序能和系統配合休眠,并能夠成功從休眠的狀態下啟動,另外具體應用到硬件上時要在說明的地方加上與設備相關的代碼。

3 結 語

本文介紹了PCI設備電源管理驅動程序的開發,電源管理在PCI規范中是可選的,現在PCI Express設備越來越多,而PCI Express設備必須實現電源管理能力。由于PCI Express與PCI軟件上兼容這里研究的電源管理方案同樣適用于PCI Express設備[8-10]。限于篇幅本文只給出了部分實現代碼,完整實例請參考WDK給出的toaster程序。

參考文獻

[1]PCI-SIG. PCI bus power management interface specification revision 1.2[EB/OL].[ 2004-03-03] . .

[2]李貴山,陳金鵬.PCI局部總線及其應用[M].西安:西安電子科技大學出版社,2003.

[3]Microsoft. Windows driver kit 7600[EB/OL].[ 2009-10-01] ..

[4]ONEY Walter. Programming the microsoft windows driver model[M]. US: Microsoft Press, 1999.

[5]Chris Cant.Windows WDM設備驅動程序開發指南[M].孫義,譯.北京:機械工業出版社,2000.

[6]PCI-SIG. PCI local bus specification v3.0[EB/OL].[ 2010-03-10] ..February 3,2004.

[7]張強.Compact PCl板卡硬件設計與傳輸速率測試[J].光學精密工程,2009,17(8):2049-2050.

[8]PCI-SIG. PCI.Express.Base.Specification.v1.1 [EB/OL].[ 2005-03-28] ..

程序開發范文3

【關鍵詞】Java程序開發 數據庫 框架

科學技術與經濟的發展加快了信息時代的到來,使很多計算機技術被不斷開發和應用,促進我們生活水平的提高,也增加了我們大學生的學習內容,形成了專門的計算機專業,Java程序就是計算機技術中的一種常見技術,現在已經被廣泛應用于我們的生活,所以我們要學習好和應用好Java技術。要想學好Java技術就必須先學習好相關基礎,然后學習如何搭建環境,最學習JSP/Servlet,如果我們要開發新的Java程序,就必須了解數據庫系統和框架的應用,同時也要提高對開發條件的重視。對此,本文作者根據自己的Java程序學習經驗,簡要分析了Java程序開發數據庫與框架應用。

1 Java程序開發數據庫系統的簡單概述

數據庫系統主要由數據庫、數據庫管理系統和數據庫應用系統組建而成,具體如下:

1.1 數據庫( database,DB)的簡單概述

數據庫實質上是一種集組織數據結構、存儲數據和管理數據的一種綜合型倉庫,一般倉庫內都設置有、DBMS ( database management system)。數據庫里數據的應用形式主要是文件形式,包括數據、控制還日志三種文件,其中數據文件的作用在于實現數據的存儲,控制文件的作用在于實現數據文件的維持,日志文件的作用在于實現對數據中日志信息的記錄。

1.2 數據庫管理系統的簡單概述

數據庫管理系統是數據系統中的中間部分,應用形式主要是軟件,處于數據庫與數據庫應用系統之間,其作用在于開發新的數據庫應用功能,是數據庫應用系統得以正常運行的重要基礎,一般而言我們會使用Navicat Premium數據庫管理系統,因為該種系統更有利于數據庫應用功能的開發。通過日常學習了解到除了上面提到的數據庫管理系統以外,常見的數據庫管理系統還包括oracle數據庫管理系統、My SQL數據庫管理系統和SQL Server數據庫管理系統等。其中SQL Server的應用形式是是微軟,這就意味著SQL Server只能在 Windows上進行運行,其他的數據庫管理系統均能夠在UNIX / Linux上進行運行,其系統性能、安全性和可靠性均憂于SQL Server。

1.3 數據庫應用系統的簡單概述

數據庫應用系統(DBAS)實質上就是一種外模式,其應用原理在于利用sql語句對數據庫進行操作,然后實現對需要數據的提取,通常情況下一個外模式數據只對應一個用戶訪問,因此具有很高的安全性。

2 已經實施開發的管理系統分析

2.1 My SQL數據庫管理系統

My SQL屬于一種典型的關系型數據庫管理,其中的API提供主要由多種編程語言實現,如c,c++,Java,php 等。My SQL具有數據庫存儲空間小、數據存儲速度快、數據管理成本低等特點,所以通常都應用于中小型開發項目中去。

2.2 SQL Server數據庫管理系統

SQL Server數據庫管理系統的應用原理在于Web實現對數據的安全性訪問,然后實現度系統程序管理的過程,其程序管理具有強大性、靈活性和Web基礎性,常應用于中型開發項目中,現已經升級到SQL Server2005、SQLServer2008版本,具有更多的功能。

2.3 Oracle數據庫管理系統

Oracle具有數據信息存儲量大、數據適用性強、功能靈活性強等特點,此外還能夠運行于所有主流平臺,并可以對所有工業標準提供支持,加之開發策略的形式是完全開放式的,能夠實現用戶對最佳解決方案的選擇,因此常被使用與大型的公司開發項目中去。

3 Java開發框架的應用分析

3.1 Mybatis持久層框架的應用分析

3.1.1 環境搭建

(1)jar包的引用;

(2)核心文件的配置;

(3)數據庫的建立;

(4)數據庫信息的配置和連接。

3.1.2 實體建立

Bean->持久化類,主要用于所有數據庫操作。

3.1.3 一個映射文件建立

(1)通過Bean->、、的配合來實現CRUD配置;

(2)在核心配置文件中納入映射文件;

(3)進行測試操作。

3.2 Spring容器框架的應用分析

Spring主要由Io C和 AOP模塊組建而成,其中Io C模塊:是指先將Spring 作為Web級容器,實現對Class的轉換,Class轉換成Bean時進行管理,然后通過對Bean對象的加載和實例,實現Bean對象向Bean Factory的移交并管理,這個Bean注入、轉換和管理的過程為IOC;AOP模塊:形成過程與Io C模塊相似,只是應用是面向切面的,如日志和事務。

3.3 Spring MVC Web層框架框的應用分析

(1)實現對核心文件的配置;

(2)實現對Controller的注入;

(3)實現數據測試。

4 結論

綜上所述,Java程序開發是一個比較復雜的過程,決定它的組成是一個復雜的系統,主要由數據庫、數據庫管理系統和數據庫管理系統,其中數據庫管理系統是實現Java程序開發和應用的關鍵,主要包括My SQL、SQL Server和Oracle數據庫管理系統,開發框架則包括 Mybatis持久層框架、 Spring容器框架和Spring MVC Web層框架框。

參考文獻

[1]肖成金,呂冬梅.Java程序開發數據庫與框架應用[J].科技展望,2017(05):19.

[2]姚麗萍.建立Java應用程序框架降低Java信息系統開發難度[J].硅谷,2014(15):53+28.

[3]w爭東.基于Java的數據庫應用框架的研究設計和探索[J].信息系統工程,2015(07):79+81.

程序開發范文4

關鍵詞:水深測量;水位改算;程序設計

中圖分類號:U612 文獻標識碼:A 文章編號:1006―7973(2017)06-0032-02

水深測量的水位改算,計算方法繁瑣,工作量大,費時費力。為提高水深測量數據處理的自動化程度,減少測繪人員內業工作量,本文結合實際生產進行了軟件的開發,針對水位改算中的不同個數的水位站的改算方法進行了探討,并編制出相應軟件,使之能適應各種復雜的測區水位控制情況。

1 水位改算原理與方法

在河口海灣、河道水下地形測量中,河底高程是根據回聲測深儀測得的實測水深與相應的水位求得的:

公式中,G為河底高程;Z為某一基面以上的水位;H為測點施測時的水深。

因此,測點高程的精度取決于該點水位與實測水深的精度。若所用定位與測深設備精度較高,則河底高程G的精度就主要決定于測點水位的精度。

在寬度不大的潮汐河道中,兩相鄰站之間的水位可按距離線性內插求得。河口和海灣水域的寬度通常較大,水位不僅有縱向變化,可能還有明顯的橫向變化,在計算測點水位時,必須考慮水位的這種橫向變化。

計算施測點在施測時刻t下,參與計算的水位站t時刻下的水位。根據時間進行插補計算t時刻下,單個水位站的水位。單個水位站所測水位是某一個時間序列下的水位變化:

給定t時刻,在上述時間序列判斷t時刻位于tk、tk+1之間或者t時刻與tk時刻相等。再根據時間差值進行內插,求得t時刻下單個水位站的水位。

1.1 雙站水位改算

對于橫比降較小的河段,可采用線性插補進行水位改算。

由圖1中的A1、A2(兩個水位站)和P點(水下測點)坐標,可求得P點A1A2直線的垂點A3的坐標,然后在直線A1A2上按照距離內插得到A3的水位:

式中,SA1A3為A1與A3之間的距離;SA1A2為A1與A2之間的距離。

1.2 三水位站改算

對于三水位站改算的方法,如果考慮橫比降時可以采用二步內插法或者三角形單元面積加權法進行水位改算。判斷實測P點在三個水位站構成三角形A1A2A3的內部還是外部,如果在外部,可選取河岸同側的兩個水位站參與計算,按照雙水位站的計算方法,如果在內部,可按照三水位站方法進行計算,如下:

(1)二步內插法計算P點的水位:

A1、A2、A3代表三個水位站,對應的某時刻水位分別為Z1、Z2、Z3。如果P點位于三角形A1A2A3內,則對于P點的水位Zp計算如下:

第一步:根據A2與A3某時刻的水位利用距離內插計算出A1P與A2A3交點A4點該時刻下的瞬時水位。

第二步:根據A1與A4該時刻下水位利用距離內插計算P點該時刻下的瞬時水位。

(2)三角形單元面積加權法計算P點的水位:

A1、A2、A3代表三個水位站,對應的某時刻水位分別為Z1、Z2、Z3。如果P點位于三角形A1A2A3內,則對于P點的水位Zp可以按照三角形面積加權法計算:

1.3 多水位站改算

例如在湖泊地區可采用距離加權法進行水位改算,湖面廣闊橫比降情況不易掌握,此時的水位改算可采用距離加權法。

設A1、A2、A3、A4四個水位站某時刻水位分別為Z1、Z2、Z3、Z4,則P點的水位可由P點至四個已知水位點距離的倒數加權求得,設P點至上述四點的距離分別為SA1、SA2、SA3、SA4,則P點的水位為:

(公式6)

由上述四水位站計算施測點瞬時水位,進而可推出N(N>=4)個水位站計算P點瞬時水位的方法。

2 水位改算程序數據結構設計

根據水位改算算法,設計水位改算程序輸入、輸出文件類型及格式。本次程序開發主要以autocad dwg格式為底圖,底圖所包含數據應有河道中心線、臨時水位站位置點、水深測量測點數據。

此文件為軟件的輸出文件,存在的意義在于方便各級審查,因此所包含的信息要盡可能的齊全,包括的字段為測點點名、施測日期、施測時間、北坐標、東坐標、測時水深、測時水位、河底高程、備注。各字段間采用tab或者逗號分隔。

3 程序開發及應用

本程序以.NET為平臺,采用C#語言操作ActiveX_automation CAD進行開發,程序設計主界面如圖6所示:

程序可導入不同儀器的原始測點文件,進行中間格式轉換為計算需要的水下測點文件中間格式。程序設計不同個數水位站進行水位推算的方法,在CAD圖中選擇河道中心線獲取中心線的坐標信息,同時選擇水位站點可獲取水位站的位置坐標信息,選擇對應水位站的水位數據文件。此程序可將數據與圖形結合,如圖7所示,可在CAD圖中選擇計算的水位站數據和河道中心線。

4 總結

本程序在長江河段、湖泊水深測量工程中,得到了實際應用,經過軟件自動處理的水位數據與人工進行斷面改算所得的水位進行比較,水深差值均在水深測量精度0.1米以下,具有較高水位處理精度,能夠滿足水深測量的相關規范要求。

參考文獻:

[1]中華人民共和國水利部.SL257-2000《水道觀測規范》[S].北京.中國水利水電出版社,2001.

[2]李貴生,柳,車兵,張偉軍.基?于?H?y?p?a?c?k?軟?件?水?位?推?算?的?應?用[J].水利水電快報,2012(33):22-24.

[3]葉境湖,李俊位.港口水深測量中的水位改正方法[J].中國高新技術企業, 2015(24):37-38.

程序開發范文5

在iOS6當中,蘋果使用了自家地圖服務,MapKit框架也和自家的地圖服務綁定。因此,地圖的整合和開放將會更進一步,第三方APP也將有機會和地圖應用進行交互。也就是說,如果你所開發的APP自身未搭載地圖模塊,那也可以打開內置地圖,并顯示路線和地點。

UI狀態保存

蘋果希望用戶下一次打開APP時,能保持關閉前的界面狀態。此前,如果APP不支持后臺運行的話,需要從root View Controller開始,把所有的VC(視圖控制器)歸檔存成NSData,而下次啟動APP時再進行恢復。這樣既不省事,也不優雅。

不過在iOS6當中,蘋果幫開發者做了這件臟活累活。其實實現的原理不會有太大變化,無外乎是把這些代碼放到APP啟動里去做了。

全新的CollectionViews控件

全新的UICollection View控件通過PSCollection vieW功能,實現了類似Pinterest那樣的“瀑布流”展示方式。UICollectionView比Pinterest更靈活,它可以根據要求改變排列方式。此外,蘋果還提供了UICollection ViewController,相信不少照片展示類APP可以用到。

不過,為了保證APP能在低版本的ios中正常運行,還是建議大家暫時使用開源代碼實現。

新的IAP

現在借助IAP(應用內購買),用戶能直接從iTunes Store購買音樂,可以在APP內直接購買APP。雖然此前黑客宣稱破解了蘋果的IAP,但如今蘋果向開發者發郵件確認已修復這一漏洞。

對于廣大辛勤堆代碼的開發者而言,蘋果在iOS6當中也算為我們開辟了一條新“財路”――多了一種更加便捷的APP販售渠道。

如果不出意外,幾天后蘋果便會正式下一代iPhone。正所謂兵馬未動糧草先行,全新iPhone搭載的iOS6已在WWDC 2012中嶄露頭角。通過隨后的Seesion,我們可以看到iOS6中新增的很多新特性,或許接下來在為全新iPhone開發程序的時候,各位開發者們能夠用到。

深度社交網絡集成

iOS6深度集成了新浪微博。對中國開發者來說,確實是個好消息。如果只想發條信息的話,不再需要進行繁瑣的API申請和應用審核,也不再需要忍受新浪程序員寫的錯誤百出的SDK了。

新的Social.framework控件可以簡單地從系統中拿到認證然后向社交網絡發送消息,這對APP推廣是一個很好的補充。

PaSSbOOk和PaSSKit

Passbook是iOS 6自帶的新應用,PassKit是新加入的,主要是配合或呼應Passbook存在的框架。開發者可使用PassKit生成和讀取包含一些類似優惠券和電影票之類信息的特殊格式文件,然后以加密簽名的方式發送給用戶。

如此一來,開發者可利用PassKit進行售票系統或優惠系統開發。從而可以引入更方便的購票體系,以爭取更多的客戶。

Game Center

這個ios4中的東東,在iOS6中迎來了少許升級。值得注意的是,MountainLion也加入了Game Center。這或許可以讓iOS設備和Mac通過Game Center聯機對戰,甚至用Mac和Mac進行聯機。

這為沒有自己服務器、自己不會寫服務器后端或沒有精力維護的個人開發者提供了很好的思路。使用Game Center做一些簡單的網絡游戲并不很難,成本也將會非常低。不過,蘋果還是趕緊在國內架設Game Center服務器吧!

增強的提醒功能

程序開發范文6

【 關鍵詞 】 面向對象;應用程序開發

Easily Respond to Visual FoxPro Object-oriented Application Development

Sheng Juan

(Northeastern University at Qinhuangdao, Computing Education Center HebeiQinhuangdao 066004)

【 Abstract 】 According to the problems faced by students in object-oriented application development, In this paper many key and difficult knowledge point are discussed, they are including application development thought, data analysis and database design, system interface design, interface data and database record data by value and so on.

【 Keywords 】 object-oriented;application development

1 引言

數據庫由于能方便地對數據進行存儲、分類、查詢等操作,因而在現實中得到了較為廣泛的應用,數據庫技術也成為廣大學生的必學課程,Visual Foxpro由于本身小巧、易用、功能全面的特點被很多學校作為教學內容,但在教學過程中學生一方面要識記數據庫自身支持的命令、語句,另一方面在進行應用程序開發時又要面臨對程序所涉及的各功能模塊的整合,尤其是要采用面向對象的設計思想,常常會陷入困境,為此本文對面向對象的課程設計的設計思路、設計要點等內容進行了闡述。

2 應用程序開發思想

在應用程序開發過程中,主要涉及兩部分內容:(1)數據部分:包括各種關系表、數據庫,主要是為數據處理提供數據準備;(2)應用程序界面部分:此部分主要用來實現程序的相關功能,包括數據的添加、刪除、修改、查詢、統計,其中查詢是數據處理中應用較多的部分。開發的步驟需要完成五方面內容:(1)需求分析;(2)數據分析與數據庫設計;(3)應用程序設計;(4)軟件測試;(5)應用程序。應用程序的開發流程和步驟如圖1和2所示。不論應用程序的題目有何不同,都可以遵循這個框架流程進行。

3 確定需求及劃分功能模塊

在進行應用程序開發前,首先要分析題目,確定系統的需求,并按據“自頂向下,逐步細化”的原則,對系統所應達到的功能按層次模塊進行合理的劃分和設計。 這樣才能下一步的程序開發有的放矢。如要要完成 “學生信息管理系統”,經分析此系統要完成以下的功能。

(1)各種信息的輸入,主要包括幾部分:學生信息;成績信息;開設課程科目。

(2)各種信息的查詢、修改與刪除等。

(3)輸出相關報表與打印,如學生表、成績表等。

系統的功能模塊圖如圖3所示。

4 組織數據

在對應用程序的功能確定分析之后,接下來則需要對數據進行組織,包括創建數據庫及關系表、完成數據庫設計,數據設計需遵循幾個原則:(1)相同主題設計在一個表中;(2)避免數據冗余;(3)表中字段設置合理;(4)功能相似表合為一個表;(5)確定表間的合理關系。

根據數據庫設計原則,對學生信息管理系統的的數據庫設計如圖4所示。

5 系統界面設置

根據設定的系統功能,可利用表單設計器方便快速的完成界面設置,通常應用程序中均會包含數據添加、數據定位、數據刪除、數據查詢、數據統計等操作,學生可根據對控件的掌握情況采用簡單控件,如圖5采用文本框、標簽、按鈕;或是稍復雜控件,如圖6列表框、表格、選項卡等完成。對完成的各功能表單還需要通過在表單上加載菜單統一調用,來實現對各功能的調用,如圖6所示。

在窗體界面設計過程中的兩個難點分別是:數據操作語句的選用和面向對象的事件編程。針對第一個難點,整理了如表1中常用功能語句,可在應用程序開發過程中根據情況進行選用。

對于第二個難點,即面向對象編程,需要掌握”面向對象,事件驅動的編程思想”,將表單中控件的值通過變量和數組做好數據傳遞,再結合數據庫語句便能較為容易的實現應用程序。如在圖6中,若將文本框中對應學號,科目代碼等內容添加到數據表“學生信息中”,可先將文本框中的內容賦值給變量,然后通過insert語句完成向數據表中添加數據的操作,操作代碼如圖7所示。

6 項目連接

在將各個功能模塊開發完畢后,即可通過項目管理器對整個應用程序進行項目連編,使得整個應用程序能以exe或app的形式。在項目連編時需要設定主程序,同時還要注意應用程序所需要的圖片、音樂等資源的保存位置,對于程序所需的相關數據最好分門別類加以保存,形成清晰的文件夾層次結構,如圖8所示。

7 結束語

雖然數據庫的應用范圍多種多樣,數據庫中對于數據的使用也各有側重,但只要了解了應用程序的開發步驟,在開發過程中做好需求分析、合理設計數據庫、有效進行任務分解、掌握面向對象的編程思想,做好界面數據和數據庫中數據的映射,是能夠實現輕松應對應用程序的開發任務的。

參考文獻

[1]王娟.數據基礎及Visual Foxpro程序設計教程[M],東北大學出版社,2011.

[2] 黃力明.《SQL Server 數據庫原理及應用》精品課程建設改革與實踐[J]. 計算機教育, 2009(23): 77-79.

[3] 易開宇. 案例教學法的探索[J]. 信息與電腦,2010(04):211-212.

主站蜘蛛池模板: 亚洲精品一区二区国产精华液| 正在播放重口老熟女露脸| 久久久这里只有精品10| 国产欧美日韩| 久久综合狠狠综合久久综合88| 国产情侣2020免费视频| 美国一区二区三区无码视频| 久久久久青草线蕉综合超碰| 国产欧美日韩中文久久| 亚洲日产av中文字幕无码偷拍| 精品国产美女福利在线不卡| 国产suv精品一区二区62| 精品日本一区二区三区免费| 欧美成人在线视频| 人妻中文字幕无码系列| 国产 制服丝袜 动漫在线| 久久精品日日躁夜夜躁欧美| 成人免费ā片在线观看| 久久精品国产亚洲av蜜臀色欲| 色欲国产精品一区成人精品| 亚洲av无码av在线播放| 午夜亚洲国产理论片_日本| 日韩乱码人妻无码系列中文字幕| 麻豆精品国产精华精华液好用吗| 精品熟女少妇av久久免费软件| .精品久久久麻豆国产精品| 制服丝袜亚洲欧美中文字幕| 韩国日本三级在线观看| 综合图区亚洲欧美另类图片| 人妻无码αv中文字幕久久琪琪布| 狠狠色婷婷丁香综合久久| 日本一区二区更新不卡| 中文字幕人成人乱码亚洲电影| 欧美高潮| 亚洲愉拍二区一区三区| 乱人伦人妻中文字幕在线入口| 欧美国产精品日韩在线| 五十老熟妇乱子伦免费观看| 亚洲欧洲日产国码综合在线| 中文国产日韩欧美二视频| 亚洲精品综合欧美一区二区三区|