• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于Android系統(tǒng)的C語言手機(jī)編程軟件設(shè)計(jì)與實(shí)現(xiàn)

    2016-08-09 10:38:52矯豐霞宋培培
    中國(guó)新通信 2016年12期
    關(guān)鍵詞:服務(wù)器端代碼客戶端

    矯豐霞 宋培培

    【摘要】 Android是一種基于Linux的自由及開放源代碼的操作系統(tǒng),主要使用于移動(dòng)設(shè)備。隨著Android系統(tǒng)的迅猛發(fā)展,它已經(jīng)成為全球范圍內(nèi)具有廣泛影響力的操作系統(tǒng)[1]。軟件包括客戶端和服務(wù)器端,屬于C/S結(jié)構(gòu)??蛻舳藢?shí)現(xiàn)于Android平臺(tái)的智能手機(jī)上,完成數(shù)據(jù)輸入、信息顯示的功能。服務(wù)器端由Linux主機(jī)作為服務(wù)器,負(fù)責(zé)數(shù)據(jù)的接收、處理和回傳以及通信服務(wù)。

    【關(guān)鍵字】 Android Linux 編程軟件

    一、需求分析和可行性分析

    1、需求分析。對(duì)基于Android系統(tǒng)的C語言手機(jī)編程軟件的功能性需求分析如下:界面設(shè)計(jì)應(yīng)該簡(jiǎn)潔明了,使用戶操作方便。程序運(yùn)行的結(jié)果應(yīng)有清晰明確的顯示。操作按鈕和菜單設(shè)置合理。各模塊分區(qū)明確,相互切換方便。盡可能壓縮客戶端的大小。對(duì)基于Android系統(tǒng)的C語言手機(jī)編程軟件的非功能性需求分析如下:本論文研究開發(fā)的軟件是基于Android 2.2開發(fā),適用于Android 2.2及以上版本。安全性需求是在用戶沒有得到需要的結(jié)果時(shí)系統(tǒng)會(huì)盡可能的為用戶提供有用的錯(cuò)誤信息提示,使用戶可以很明確的知道錯(cuò)誤是出自何處該如何處理。

    2、可行性分析。技術(shù)上的可行性可以從硬件的性能要求,軟件的性能要求和開發(fā)者自身技術(shù)要求等幾個(gè)方面去考慮。在硬件平臺(tái)方面:基于Android系統(tǒng)的C語言手機(jī)編程軟件的開發(fā)環(huán)境Eclipse可以基于Windows、Linux,具有良好的跨平臺(tái)兼容性。在軟件平臺(tái)方面:Android操作系統(tǒng)已經(jīng)成熟穩(wěn)定并且有大量的Android開發(fā)經(jīng)驗(yàn)。Android系統(tǒng)是一個(gè)開源的平臺(tái),對(duì)Java具有良好的兼容性。Java語言是一個(gè)非常成熟的面向?qū)ο笳Z言,它有著良好的可移植性、安全性,且支持可視化圖形界面[2]。

    二、系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)

    2.1系統(tǒng)架構(gòu)設(shè)計(jì)

    基于Android系統(tǒng)的C語言手機(jī)編程軟件由客戶端和服務(wù)器組成,前臺(tái)和后臺(tái)實(shí)現(xiàn)分離,客戶端和服務(wù)器通過SOCKET進(jìn)行通信。系統(tǒng)架構(gòu)如圖1所示。

    客戶端是在Android系統(tǒng)下實(shí)現(xiàn)用戶登錄及編寫代碼的功能,服務(wù)器是在Linux下使用GCC編譯器來編譯和運(yùn)行代碼,Mysql數(shù)據(jù)庫用來存儲(chǔ)用戶的用戶名和密碼以及代碼和運(yùn)行結(jié)果。

    2.2 功能模塊設(shè)計(jì)

    基于Android系統(tǒng)的C語言手機(jī)編程軟件應(yīng)具有如下功能:用戶可以在注冊(cè)登錄之后進(jìn)行個(gè)人設(shè)置操作,修改個(gè)人信息和登錄密碼。用戶可以編輯代碼,然后進(jìn)行編譯和運(yùn)行??梢詫?duì)代碼進(jìn)行保存,打開已經(jīng)保存過的代碼進(jìn)行修改。功能模塊如圖2所示。

    三、系統(tǒng)實(shí)現(xiàn)

    客戶端包含了一個(gè)編輯框,用來進(jìn)行C語言代碼的編寫,兩個(gè)按鈕實(shí)現(xiàn)編譯和運(yùn)行,菜單欄實(shí)現(xiàn)新建、保存、打開、退出。保存是將編寫完成的代碼以文本形式保存在本機(jī)上。打開是通過單項(xiàng)選擇消息框來選擇打開已經(jīng)保存的代碼。

    客戶端與服務(wù)器socket連接:服務(wù)器端將端口打開,并將IP地址和傳輸所使用的協(xié)議進(jìn)行分配一個(gè)套接口的描述字及其所用的資源。int server_sockfd = socket(AF_INET, SOCK_STREAM, 0)。然后使用bind()將本地地址與套接字進(jìn)行捆綁,成功之后便可使用listen()來監(jiān)聽客戶端與服務(wù)器的連接情況。bind(server_sockfd, (struct sockaddr *)&server;_addr, sizeof(server_addr))。真正與客戶端連接是在accept()函數(shù)成功之后,accept(server_sockfd, (struct sockaddr *)&client;_addr,&len;)。在成功調(diào)用之后,從socket的等待連接隊(duì)列中抽取第一個(gè)連接,傳遞一個(gè)與socket同類的新的套接口并返回句柄。

    數(shù)據(jù)處理:使用Linux的GNU編譯套件對(duì)數(shù)據(jù)進(jìn)行處理。對(duì)于數(shù)據(jù)回傳,即將編譯和運(yùn)行結(jié)果回傳到客戶端,首先要確定回傳的是哪一個(gè)文件夾,是error.txt還是sussess.txt,這里使用的是文件交換方法。選定之后,將文件寫入到buffer中,使用send回傳到socket。

    四、結(jié)論

    本設(shè)計(jì)主要完成的內(nèi)容是基于Android的編程軟件的設(shè)計(jì)與實(shí)現(xiàn)。包括在客戶端編輯代碼,保存和打開代碼以及將代碼發(fā)送到服務(wù)器端進(jìn)行編譯和運(yùn)行并將結(jié)果返回顯示到客戶端。雖然完成了基本的功能,但語法高亮等功能沒有實(shí)現(xiàn),還需不斷改進(jìn)完善。

    參 考 文 獻(xiàn)

    [1] 李剛:瘋狂Android講義[M],電子工業(yè)出版社,2013.3

    [2] Bruce Eckel:Java編程思想[M],機(jī)械工業(yè)出版社,2013.8

    猜你喜歡
    服務(wù)器端代碼客戶端
    創(chuàng)世代碼
    創(chuàng)世代碼
    創(chuàng)世代碼
    創(chuàng)世代碼
    縣級(jí)臺(tái)在突發(fā)事件報(bào)道中如何應(yīng)用手機(jī)客戶端
    孵化垂直頻道:新聞客戶端新策略
    基于Vanconnect的智能家居瘦客戶端的設(shè)計(jì)與實(shí)現(xiàn)
    淺析異步通信層的架構(gòu)在ASP.NET 程序中的應(yīng)用
    成功(2018年10期)2018-03-26 02:56:14
    在Windows中安裝OpenVPN
    客戶端空間數(shù)據(jù)緩存策略
    肇庆市| 杨浦区| 正安县| 北流市| 平泉县| 松江区| 东乡族自治县| 龙门县| 南投县| 德令哈市| 玉田县| 正蓝旗| 甘泉县| 酒泉市| 石河子市| 富蕴县| 西吉县| 太康县| 金乡县| 洪泽县| 中宁县| 康乐县| 德保县| 马龙县| 沭阳县| 湄潭县| 佛教| 珠海市| 长武县| 定陶县| 苗栗县| 江孜县| 平陆县| 彭山县| 大丰市| 尼木县| 英山县| 杨浦区| 长岭县| 蚌埠市| 凤山市|