基于Android系统的C语言手机编程软件设计与实现

来源 :中国新通信 | 被引量 : 0次 | 上传用户:lk1892
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  【摘要】 Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备。随着Android系统的迅猛发展,它已经成为全球范围内具有广泛影响力的操作系统[1]。软件包括客户端和服务器端,属于C/S结构。客户端实现于Android平台的智能手机上,完成数据输入、信息显示的功能。服务器端由Linux主机作为服务器,负责数据的接收、处理和回传以及通信服务。
  【关键字】 Android Linux 编程软件
  一、需求分析和可行性分析
  1、需求分析。对基于Android系统的C语言手机编程软件的功能性需求分析如下:界面设计应该简洁明了,使用户操作方便。程序运行的结果应有清晰明确的显示。操作按钮和菜单设置合理。各模块分区明确,相互切换方便。尽可能压缩客户端的大小。对基于Android系统的C语言手机编程软件的非功能性需求分析如下:本论文研究开发的软件是基于Android 2.2开发,适用于Android 2.2及以上版本。安全性需求是在用戶没有得到需要的结果时系统会尽可能的为用户提供有用的错误信息提示,使用户可以很明确的知道错误是出自何处该如何处理。
  2、可行性分析。技术上的可行性可以从硬件的性能要求,软件的性能要求和开发者自身技术要求等几个方面去考虑。在硬件平台方面:基于Android系统的C语言手机编程软件的开发环境Eclipse可以基于Windows、Linux,具有良好的跨平台兼容性。在软件平台方面:Android操作系统已经成熟稳定并且有大量的Android开发经验。Android系统是一个开源的平台,对Java具有良好的兼容性。Java语言是一个非常成熟的面向对象语言,它有着良好的可移植性、安全性,且支持可视化图形界面[2]。
  二、系统总体结构设计
  2.1系统架构设计
  基于Android系统的C语言手机编程软件由客户端和服务器组成,前台和后台实现分离,客户端和服务器通过SOCKET进行通信。系统架构如图1所示。


  客户端是在Android系统下实现用户登录及编写代码的功能,服务器是在Linux下使用GCC编译器来编译和运行代码,Mysql数据库用来存储用户的用户名和密码以及代码和运行结果。
  2.2 功能模块设计
  基于Android系统的C语言手机编程软件应具有如下功能:用户可以在注册登录之后进行个人设置操作,修改个人信息和登录密码。用户可以编辑代码,然后进行编译和运行。可以对代码进行保存,打开已经保存过的代码进行修改。功能模块如图2所示。


  三、系统实现
  客户端包含了一个编辑框,用来进行C语言代码的编写,两个按钮实现编译和运行,菜单栏实现新建、保存、打开、退出。保存是将编写完成的代码以文本形式保存在本机上。打开是通过单项选择消息框来选择打开已经保存的代码。
  客户端与服务器socket连接:服务器端将端口打开,并将IP地址和传输所使用的协议进行分配一个套接口的描述字及其所用的资源。int server_sockfd = socket(AF_INET, SOCK_STREAM, 0)。然后使用bind()将本地地址与套接字进行捆绑,成功之后便可使用listen()来监听客户端与服务器的连接情况。bind(server_sockfd, (struct sockaddr *)&server_addr, sizeof(server_addr))。真正与客户端连接是在accept()函数成功之后,accept(server_sockfd, (struct sockaddr *)&client_addr,&len)。在成功调用之后,从socket的等待连接队列中抽取第一个连接,传递一个与socket同类的新的套接口并返回句柄。
  数据处理:使用Linux的GNU编译套件对数据进行处理。对于数据回传,即将编译和运行结果回传到客户端,首先要确定回传的是哪一个文件夹,是error.txt还是sussess.txt,这里使用的是文件交换方法。选定之后,将文件写入到buffer中,使用send回传到socket。
  四、结论
  本设计主要完成的内容是基于Android的编程软件的设计与实现。包括在客户端编辑代码,保存和打开代码以及将代码发送到服务器端进行编译和运行并将结果返回显示到客户端。虽然完成了基本的功能,但语法高亮等功能没有实现,还需不断改进完善。
  参 考 文 献
  [1] 李刚:疯狂Android讲义[M],电子工业出版社,2013.3
  [2] Bruce Eckel:Java编程思想[M],机械工业出版社,2013.8
其他文献
在印度的孟加拉邦至少发现6个地下水砷污染的地区.近年,孟加拉国报告地下水被砷严重污染.水环境中砷的化学过程相当复杂,以+5、+3、0和-3价出现.但在地下水中砷主要是砷酸盐(
为了进一步提高羊毛产品的档次,增强羊毛产 品在国际市场上的竞争力,国际羊毛局将从 1997年7月1日开始,对纯羊毛标志—纯新羊毛和羊毛混纺标志—高比例羊毛混纺产品实施新的
甲醛次硫酸氢钠,分子式为CH3NaO32H2O,俗称吊白块、雕白块,白色结晶,易溶于水,微溶于醇,遇稀酸即分解.在工艺上用做漂白剂,因对人体肾脏有损害,故禁止在食品加工过程中使用.
期刊
目的 城市管网末梢水监测效果评价。方法 在市政管网主干管上,按市政水厂的分布,每个水厂供水干管的网点上布点,按卫生部环境卫生监测规范要求,每月1次,5~9月2次管网末梢水质监测,监测指标为细菌总数、总大肠菌群、浑浊度、游离余氯。现场DPD方法监测游离余氯和比色法监测浑浊度。结果 4项指标5年综合合格率为98.14%,其中最低年份为95.69%,最高年份99.41%。5年间合格率差别有极显著性意义(
目的观察分析经皮冠状动脉介入术(PCI)术前应用不同种类的负荷量他汀类药物对老年非ST段抬高型急性冠脉综合征(NSTEACS)患者的疗效。方法将连续213例诊断为NSTEACS并行PCI术的老
【摘要】 作为宽带接入方式的“终极版”,FTTH肩负着发展信息社会,实现信息生活的重要使命,然而在快速发展的同时,依旧面临着诸多的困境。本文对FTTH规模部署面临的困境及需重点把控的关键进行简要的分析,以供参考。  【关键词】 FTTH 规模部署 困境 ONU  一、引言  随着国民经济的飞速发展和社会信息化程度的不断提高,公众对宽带的需求提出了更高要求。然而,在光纤宽带快速发展的同时,一些深层次
流式细胞技术(flow cytcmetry)的问世,为微观认识细胞提供了更理想的检测手段,进一步发展了细胞生物学,拓宽了免疫学、病理学、遗传学、血液学、肿瘤学及预防医学等医学多学
高中阶段英语教学主要以讲解语法和强调句型为主,很多教师延续了讲授为主的教学方法,既不关心培养学生解决问题的实际能力,也不重视学生的听说读写能力的锻炼,最终导致高中阶
本文简要介绍了美国国家卫生研究院(NIH)研究实验室设计指南。它用于指导NIH新建和改建项目的规划、设计、建造和管理工作。重点介绍实验室组成和设计准则,并给出一般实验室
随着汽车的保有量越来越大,停车难问题日益突出。本文在智能交通的大背景下,立足整个城市的停车资源,基于手机应用程序和地磁传感器,设计了停车位管理系统,能够使车辆快速地