| 注册
home doc ppt pdf
请输入搜索内容

热门搜索

年终总结个人简历事迹材料租赁合同演讲稿项目管理职场社交

基于Android的FTP文件传输

山***1

贡献于2019-05-31

字数:27806









毕业设计(文)




题 目 基AndroidFTP文件传输

姓 名

学 号

专业班级

学院

指导教师(职称)








基AndroidFTP文件传输
摘 课题先讨前手机理类应程序背景现状发展趋势分析手机理类应程序现功课题根户需求基Android技术利ftp远程享原理实现线手机助手设计课题研究线手机助手采基CS架构MVC系统基ftp远程文件享Android技术Eclipse应开发工具利网络代理作中转服务器利Android 22作系统台进行开发线手机助手业务进行分析设计实现登陆验证浏览文件文件传载删等功期达快捷理手机文件目
关键词 手机理手机助手文件理AndroidFtp
Wireless Mobile Assistant Based On Android
Abstract This subject discussed the background status and trends of phone management applications on the firstAnd analyzes the existing functionality of the phone management applicationsThis subject based on the needs of users and based on Android technology to use the the ftp remote shared principle to achieve the design of wireless handsets assistantWireless mobile assistant for the research is based on CS structure of the MVC system ftp remote file sharing based on Android technology and the Eclipse application development tools using the network proxy as a relay server using Android 22 as a system platform developedThrough analysising and designing the wireless mobile assistantthis subject achieves login authentication browse files file upload download delete and other functions in order to achieve the purpose of the comfortably manage phone files
Key Words Mobile ManagementMobile AssistantFile ManagementAndroidFtp
目录
第1章 绪 2
11 应开发背景 1
12 课题研究容 1
第2章 相关理关键技术 2
21 Android特性简介 2
22 Android系统架构 3
221 关键应程序 3
222 应程序框架 3
223 CC++函数库 4
224 Java程序运行环境 4
225 Linux核 4
23 Android应程序框架 4
231 Activity 5
232 Intent Receiver 5
233 Service 5
234 Content Provider 5
第3章 需求分析 6
31 概述 6
32 功需求 6
321 设置界面 6
322 控制界面 7
323 说明界面 7
33 性需求 7
331 手机系统求 7
332 灵活性 7
333 时间特性求 8
334 软件特性求 8
第4章 总体设计 9
41 系统总体结构 9
42 服务器系统解决方案 9
第5章 详细设计 11
51 代理协议拟定 11
511 DATA SOCKETS 11
512 DISAMBIGUATING DEVICES AND SESSIONS 11
513 AUTHENTICATION 12
514 API 12
52 关键代码实现 15
521 代理连接 15
522 会话线程 17
523 TCP连接监听 18
第6章 系统实现 20
61 Server端模块设计 20
62 Android设备端模块设计 21
第7章 系统测试 24
71 Android手机系统测试断事件 24
72 测试中发现问题修复 25
73 测试结果 25
731 开启服务 25
732 客户端访问ftp址 25
733 登陆验证 26
结 27
参考文献 28
附录 29
附录A 文件传输协议简介 29
附录B 应程序界面代码 30
致谢 41

图目录
图22 Android架构图 3
图32 设置界面例图 7
图41 系统总体结构图 9
图42 服务器系统原理图 10
图52 程序运行效果图 19
图731 开启服务logcat图 25
图732 客户端访问ftp址logcat图 25
图733 登陆验证logcat图 26

第1章 绪
11 应开发背景
2007年11月Google牵头30家移动技术线应领域领先企业组成开发手机联盟(Open Handset Alliance)发布智手机台AndroidAndroid真正意义开放性移动设备综合台包括操作系统户界面中间件应程序拥移动电话工作需全部软件时开放性保证该台存阻碍移动产业创新专权障碍[1]
着Android迅猛发展国种优秀应相继诞生豌豆荚系列产品国早手机理类应豌豆荚款基Android 手机理软件具备份恢复重资料通讯录资料理应程序理音乐载视频载理等功
文件理方面市款应软件文件师款功强文件理软件文件师支持文件全部常操作拷贝删粘贴等采特优化文件目录复制算法量文件复制时候文件理类工具速度更快
12 课题研究容
课题中研究手机建设FTP服务器实现意客户端登录FTP服务器传载文件支持浏览器视化浏览手机资源列表载手机资源文件通计算机资源理器电脑理手机:添加删编辑等操作全方位理手机文件实现需数线理手机功

第2章 相关理关键技术
21 Android特性简介
Dalvik虚拟机:Android采Java虚拟机开发代号Dalvik虚拟机技术保证API方面兼容时Dalvik针移动手机进行幅优化占资源更运行效率更高[2]
嵌浏览器:基开源浏览器网页排版引擎WebKit
优化图形:强定义二维图形库基OpenGL ES 10标准3D图形功移动3D开发中着关重位
SQLite数库:SQLitet提供结构化数存储款轻型免费开源数库设计目标嵌入式占资源非常低需存空间少处理速度较快支持事务处理功等
媒体支持:支持种通音视频静态图格式MP3JPGPNG等Open CoreAndroid媒体框架核心Android台音视频采集播放操作通实现通Open Core程序员方便快速开发出想媒体应程序
GSM技术:(赖硬件)Global System for Mobile Communications全球移动通讯系统俗称全球通第二代移动通信技术开发El伞球移动电话网络标准户_部手机行遍全球
蓝牙EDGE3Gand WiFi种短距离线连接技术短距离实现话音数线传输EDGE(EnhaIlced Data Rate for GSM Evolution)增强型数速率GSM演进技术[3]
CameraGPScompassand accelerometer(赖硬件)GPS(Global Positioning System)全球定位系统覆盖全球24颗1J星组成卫星系统Compass开放源代码JAVA搜索引擎框架[4]强开发环境:包括设备模拟器调试工具存性检测EclipseIDE开发插件Eclipse集成开发环境
22 Android系统架构
Android架构Linux核CC++函数库Dalvik虚拟机应框架关键应程序构成通编译基框架应程序降低开发负荷应软件原Dalvik VM运行Android架构图图22示:

图22 Android架构图[5]
221 关键应程序
Android台包含关键应程序邮件收发客户端程序短信收发程序日历网页浏览器等开发者台开发更特色应程序开发语言Java
222 应程序框架
Android应程序开发基框架组件Android身已框架中提高许组件供应程序调然开发者开放新组件组件放入应程序框架中供应程序调
223 CC++函数库
Android应程序框架套CC++函数库服务Android应程序组件功通组件间接提供开发者函数库包括:标准C函数库媒体功库浏览器引擎2D3D图形库基WEB应安全协议SSL点阵矢量字体渲染FreeTypeSQLite引擎等[6]
224 Java程序运行环境
AndroidJava程序运行环境包含组Java核心函数库Dalvik虚拟机效优化Java程序运行程Android应运行进程里该进程Dalvik虚拟机实例Dalvik设计成台设备高效运行虚拟机实例Dalvik虚拟机执行文件封装成Dalvik执行格式(dex)优化存赖格式[7]Java编译器(dx工具)注册运行时类编译成dex格式Dalvik虚拟机赖底层Linux核提供功线程机制存理机制等
225 Linux核
Android系统台基优化Linux核系统台核心[8]提供诸存理进程理设备驱动等服务时手机软硬件连接层提供屏蔽层屏蔽硬件层软件
23 Android应程序框架
Android应程序说Activity Intent Receiver ServiceContent Provider四部分组成Android应程序必须四部分组成[9]应程序中时需配置文件AndroidMainfestxml中进行配置配置文件Android应程序必需定义应程序组件组件功必条件等[10]
231 Activity
Activity构成应程序中重构造块 Android应程序中通Activity户进行交互[11]Activity负责创建户进行交互显示窗口窗口里通调setContentView(View)方法显示户界面
232 Intent Receiver
Intent Receivert外部事件响应外部事件发生时会NotificationManager通知户[12]Intent Receiver触发时系统会需时候启动应应程序系统中户正界面进行操作时友发送消息会通知形式发送前界面正方通知户种应通Context.broadcastIntent()Intent Receiver广播应程序实现应间通讯[13]
233 Service
Service提供连续信息应程序运行应程序台服务户进行活动时候服务直运行基Android台时通讯系统研究实现台直户停止该服务服务运行结束系统客户端扩展功阅读器采Service进行设计开发户边聊天边书
234 Content Provider
Content Provider应程序够数保存文件SQL数库存储设备中应程序需存储设备中数时Content Provider完成Content Provider够灵活换底层存储设备开发者专著应逻辑开发考虑底层存储设备细节应系统具良数[14]
第3章 需求分析
31 概述
着手机功断增强手机理类工具软件已成智手机重软件开发款符合广户需求手机文件理类应市场前景意义
课题目标开发款基Android台符合户需求手机文件理助手实现意客户端登录手机FTP服务器传载文件支持浏览器视化浏览手机资源列表载手机资源文件通计算机资源理器电脑理手机:添加删编辑等操作全方位理手机文件实现需数线理手机功
32 功需求
作Android台开发应软件具户交互界面界面简洁美观易操作手机阅读器功规定手机阅读器界面划分手机助手户操作界面分三部分:设置界面控制界面说明界面
321 设置界面
户设置ftp服务器账号密码端口号默认2121手机文件路径默认sdcard设置界面例图图32示:

图32 设置界面例图
322 控制界面
户触摸开关钮控制服务器开启关闭手机连接wifi网络时开启该享服务功服务开启时状态栏显示线手机助手接受ftp连接程序动获取手机ip址控制界面提示电脑’里输入ftpxxx户输入ftp址远程操作手机中文件
323 说明界面
户提供应说明注意事项
33 性需求
331 手机系统求
Android系统22版继续进行升级开发延续性
332 灵活性
软件基Android操作系统基组件开发方式
333 时间特性求
软件速度户接受范围扩展需求
334 软件特性求
软件运行速度户接受范围电量等消耗户接受范围保证wifi热点区域手机具备sd卡
第4章 总体设计
41 系统总体结构
系统总体设计思路Android手机部署ftp服务器负责提供服务pc客户端通信pc作理手机资源客户端通电脑资源理器进行文件操作实际CS结构系统Android手机作服务器pc作客户端系统总体结构图图41示:

图41 系统总体结构图
该系统中网关连接部网络智外部网络部设备该网关相连户携带Android智手机进入空间手机端连入网络动态获取IP址运行ftp服务PC访问ftp址服务器进行交互Android手机PC间通Socket进行通信[15]
42 服务器系统解决方案
Android设备够接受入站连接创建出站连接Android设备建立永久保持TCP连接代理服务器称命令连接课题中利代理服务系统作PcAndroid手机中介信解决Android手机入站连接限制FTP客户端希通代理连接启动正常FTP连接代理服务器代理通知应程序FTP会话等建立 应程序建立TCP连接代理(现控制连接)连接专门FTP客户端发送接收数
服务器系统原理图图42示:

图42 服务器系统原理图

第5章 详细设计
51 代理协议拟定
整代理系统存解决入站连接限制移动电话服务供应商阻止入站TCP连接解决方法互联网创建代理服务
Android设备够接受入站连接创建出站连接Android设备建立永久保持TCP连接代理服务器称命令连接应程序运行着连接存非户明确禁
FTP客户端希通代理连接启动正常FTP连接代理服务器代理通知应程序FTP会话等建立 应程序建立TCP连接代理(现控制连接)连接专门FTP客户端发送接收数
重点词汇:命令连接应程序代理服务器间TCP连接连接新协议示控制连接FTP客户端应程序间普通FTP连接普通FTP协议中客户端发送东西USERLISTRETR服务器响应200 OK503 Forbidden等
511 DATA SOCKETS
FTP协议设计决定新TCP连接独立控制连接次目录列表文件传输时创建
执行动作时需客户端新data socket(新TCP连接)应程序创建TCP连接代理
512 DISAMBIGUATING DEVICES AND SESSIONS
代理服务器运行单IP端口提供设备户需匹配传入连接方式例PASV模式文件传输应程序客户端创建入站连接代理服务器许客户端时间创建连接情况代理某种称前缀匹配两连接
前缀6字符字母数字代码唯标识设备运行应程序代理服务器创建控制连接时分配然应程序
513 AUTHENTICATION
设备安全识通分配唯secret设备运行应程序secret分配第次设备连接代理服务器设备保持变安全合适系统抗ANDROID_ID欺骗幸足够
514 API
请求响应JSON数形式请求顶层字符串action请求类型例请求创建帐户形式:
{
action create_account
android_id 1234567890
}
响应JSON象做请求响应作惯例果处理请求时发生错误响应象包含顶级字符串名errorCodeerrorString识错误该errorCode唯数字表示错误Errorstring读错误描述
例果创建帐户面语句作响应返回面创建账户请求:
{
errorCode 10
errorString An account already exists for that ANDROID_ID
}
果操作成功
{
secret abcdefghijklmnopqrstuvwxyz0123456789
}
成功请求会导致响应空象果没错误报告请求求返回值空JSON象{}例求行动NOOP会提示空响应
应程序已建立TCP连接代理应程序必须发送信息:
create_account
authenticate
应程序代理服务器请求列表:
Action create_account
Purpose 应程序第次运行时调次导致帐户创建创建秘密应该返回秘密存储持久性存储器中果设备发送请求接收响应表示成功该会话验证设备发送请求
Params android_id Android API提供唯设备标识符
swiftp_version 安装FTP服务器版
Returns secret 设备认证密码秘密
Errors 12 ANDROID_ID完整性检查失败
Action authenticate
Purpose 验证设备调命令前调(create_account)
Params android_id Android API提供唯设备标识符
secret 设备秘密
swiftp_version 安装FTP服务器版
Returns Empty object on success
Errors 11 ANDROID_ID数库中秘密错误
Action start_command_session
Purpose 验证设备开始命令会话
Params None
Returns prefix 前缀字符串识会话设备
Action data_pasv_listen
Purpose 代理开始新端口监听FTP客户端TCP连接请求代理已收FTP客户端PASV命令action会应程序调代理开始监听ftp客户端入站数连接请求
Params None
Returns address 字符串出FTP客户端应该连接址
port 数字出服务器正侦听端口
Errors None specific to this request
Action data_pasv_accept
Purpose pasv_listen action代理监听FTP客户端入站连接请求代理FTP客户端传入连接执行accept()方法pasv_accept必须通相连接发送相关pasv_listen请求成功返回空JSON象socket会进入代理模式会简单FTP客户端应程序间回传递数(接受请求)
Params None
Returns Empty object on success
Errors 13 代理等太久没收连接请求
Action data_port_connect
Purpose 开定址端口出站连接开始数转移果动作成功TCP连接接受JSON请求成简单双代理间FTP客户端SwiFTP Android应程序
Params address 代理应该开连接址
port 代理应该开连接端口
Returns Empty object on success
Errors 14 代理法开连接定址端口
Action accept_control_connection
Purpose 控制连接FTP客户端发出Android设备通知端口会连接新socket进行身份验证发送请求果申请成功套接字停止接受请求成纯粹FTP客户端间应程序代理
Returns Empty object on success
Errors 11 验证失败代理服务器应发送请求:
Action control_connection_waiting
Purpose 发送命令连接指示应程序定位置开新socket作新FTP连接意味着FTP客户端已连接正等服务 应程序会开新连接代理服务器身份验证然发送accept_control_connection
Params port 应程序应该连接端口
Errors None specific to this request

方发送请求:
Action noop
Purpose 什做作持续连接
Params none
Returns empty response
错误代码列表:
0 部服务器错误 errorString值包含更信息
10 创建帐户ANDROID_ID已帐户
11 ANDROID_ID秘密效
12 效ANDROID_ID值
13 PASV模式时socketpasv_accept接受等超时
14 port_connect出站socket连接错误
52 关键代码实现
521 代理连接
PORT模式传输数时函数ProxyDataSocketFactory调发送data_port_connect请求代理服务器包含连接FTP客户端IP端口
public Socket dataPortConnect(InetAddress clientAddr int clientPort) {
try {
myLogd(Sending data_port_connect to proxy)
Socket socket newAuthedSocket(thishostname DefaultsREMOTE_PROXY_PORT)
if(socket null) {
myLogi(dataPortConnect got null socket)
return null
}
JSONObject request makeJsonRequest(data_port_connect)
requestput(address clientAddrgetHostAddress())
requestput(port clientPort)
JSONObject response sendRequest(socket request)
if(response null) {
return null logged elsewhere
}
return socket
} catch (JSONException e) {
myLogi(JSONException in dataPortConnect)
return null
}
}
传入pasvListen()返回socket通socket发送data_pasv_accept请求代理socketFTP客户端传输数做准备客户端告知已PASV命令响应连接
public boolean pasvAccept(Socket socket) {
try {
JSONObject request makeJsonRequest(data_pasv_accept)
JSONObject response sendRequest(socket request)
if(response null) {
return false error is logged elsewhere
}
if(checkAndPrintJsonError(response)) {
myLogi(Error response to data_pasv_accept)
return false
}
The proxy's response will be an empty JSON object on success
myLogd(Proxy data_pasv_accept successful)
return true
} catch (JSONException e) {
myLogi(JSONException in pasvAccept + e)
return false
}
}
522 会话线程
通已建立数socket发送字节数组
public boolean sendViaDataSocket(byte[] bytes int start int len) {

if (dataOutputStream null) {
myLogl(LogINFO Can't send via null dataOutputStream)
return false
}
if (len 0) {
return true this isn't an error
}
try {
dataOutputStreamwrite(bytes start len)
} catch (IOException e) {
myLogl(LogINFO Couldn't write output stream for data socket)
myLogl(LogINFO etoString())
return false
}
dataSocketFactoryreportTraffic(len)
return true
}
假设已连接数socket收字节字节放置定数组返回成功读取字节数
public int receiveFromDataSocket(byte[] buf) {
int bytesRead
if (dataSocket null) {
myLogl(LogINFO Can't receive from null dataSocket)
return 2
}
if (dataSocketisConnected()) {
myLogl(LogINFO Can't receive from unconnected socket)
return 2
}
523 TCP连接监听
果TcpListener线程接受时阻塞关闭socket引发异常
public void quit() {
try {
listenSocketclose()
} catch (Exception e) {
myLogl(LogDEBUG Exception closing TcpListener listenSocket)
}
}
监听客户端连接请求
public void run() {
try {
while(true) {
Socket clientSocket listenSocketaccept()
myLogl(LogINFO New connection spawned thread)
SessionThread newSession new SessionThread(clientSocket
new NormalDataSocketFactory()
SessionThreadSourceLOCAL)
newSessionstart()
ftpServerServiceregisterSessionThread(newSession)
}
} catch (Exception e) {
myLogl(LogDEBUG Exception in TcpListener)
}
}
程序运行效果图图52示:

图52 程序运行效果图

第6章 系统实现
61 Server端模块设计
Server端启动时候会加入组播址中然初始化Socket规定端口进行侦听请求连接报文时performAuthentication会户合法性进行验证Server端手机端发送验证包等手机端响应收响应报文数预期数相等时验证通否拒绝连接连接成功会解析报文handldReceiveData类处理收命令发送SendPacket客户端进行交互
提高程序响应速度处子线程样异步处理种事件避免事件间盲等前没处理务时处理器时间务占量处理器时间务定期处理器时间务时停止某务设置务优先级优化性提高程序运行效率减少服务器响应时间提高CPU网络IO利率
Public synchronized void handleReceiveDeta(AbstractPacket packet TcpConneetion connection){
LOGGERinfo(Receivedcommand+packettoString())
Command command packetgetCommand()
if(command CommandBASE_LIST_REQ)
{
retumPacketnull
}
else if(commandgetCornmandType() CommandTypeLIST){
if(commandCommand.CLOSE){

}
}
else if(command CommandON){
etrlPointoperate(powerOn)
}
else if(commandCommand.STOP){

}
}
62 Android设备端模块设计
手机启动控制模块时会新建线程线程首先会创建Socket建立控制连接代理服务器时等客户端请求连接命令客户端访问ftp请求时代理发送连接命令代理通控制连接Android设备发送命令手机接收消息启动身份验证机制进步客户端做出应答
Android端通CommandControl类Server进行消息传递身接受网络远程网络信息两参数次TCP连接会新建TcpClient类象TcpClient类象封装TCP连接设监听器netDataRecieved方法报文进行响应处理中CommandControl类定义组请求操作包括USER命令LIST命令等
减少资源占CommandContwl采单例形式Server进行通信尝试新Server进行通信时CommandControl会关闭前连接网络具吞吐量处子线程处理界面控件耗时操作样户Server进行交互时进行操作系统阻塞时间短
public int onPasv() {
clearState()
proxyConnector GlobalsgetProxyConnector()
if(proxyConnector null) {
myLogl(LogINFO Unexpected null proxyConnector in onPasv)
clearState()
return 0
}
ProxyDataSocketInfo info proxyConnectorpasvListen()
if(info null) {
myLogl(LogINFO Null ProxyDataSocketInfo)
clearState()
return 0
}
socket infogetSocket()
proxyListenPort infogetRemotePublicPort()
return proxyListenPort
}
public boolean onPort(InetAddress dest int port) {
clearState()
proxyConnector GlobalsgetProxyConnector()
thisclientAddress dest
thisclientPort port
myLogd(ProxyDataSocketFactory client port settings stored)
return true
}
public Socket onTransfer() {
if(proxyConnector null) {
myLogw(Unexpected null proxyConnector in onTransfer)
return null
}

if(socket null) {
We are in PORT mode (not PASV mode)
if(proxyConnector null) {
myLogl(LogINFO Unexpected null proxyConnector in onTransfer)
return null
}
May return null that's fine ProxyConnector will log errors
socket proxyConnectordataPortConnect(clientAddress clientPort)
return socket
} else {
We are in PASV mode (not PORT mode)
if(proxyConnectorpasvAccept(socket)) {
return socket
} else {
myLogw(proxyConnector pasvAccept failed)
return null
}
}
}

第7章 系统测试
71 Android手机系统测试断事件
Android手机提供断事件手机着机制然前样机制应程序断机理出发定制系统系统测试例断事件
断事件般分系统基断事件
Back键
改变手机方
长Home键切换应程序
容突检测(content provider)
长Power键调出关机窗口
Home键回home app前测试应会放台处stop状态
果想监控Activity生命周期变化必然会CreateStart等处代码进行处理startActivityForResu函数中mInstrumentationexecStartActivity()句少mInstrumentation象受委托启动Activity委托加入监控动作
 public void startActivityForResult(Intent intent int requestCode)
{ }
perform开头函数中系统次发现mInstrumentation象调例performStart()函数
 final void performStart()
{ }
该类接口类:Activity监控象处理接口Activity状态改变时回调通知接口生成ActivityApplication接口Activity发送事件通知接口性处理接口等
72 测试中发现问题修复
测试时发现调线数传输方法程序崩溃发现应该Manifestxml配置文件中声明权限:




73 测试结果
731 开启服务
开启服务logcat图图731示:

图731 开启服务logcat图
732 客户端访问ftp址
客户端访问ftp址logcat图图732示:

图732 客户端访问ftp址logcat图
733 登陆验证
输入户名密码登陆登陆验证logcat图图733示:

图733 登陆验证logcat图

Android设备够接受入站连接创建出站连接Android设备建立永久保持TCP连接代理服务器称命令连接课题中利代理服务系统作PcAndroid手机中介信解决Android手机入站连接限制FTP客户端希通代理连接启动正常FTP连接代理服务器代理通知应程序FTP会话等建立 应程序建立TCP连接代理(现控制连接)连接专门FTP客户端发送接收数实现意客户端登录FTP服务器传载文件实现需数线理手机功
该应程序功实轻便巧款优秀Android工具类应界面简洁友操作简单附带说明外存足处例服务端验证机制安全性高适合完毕快关闭服务防隐私资料丢失
通次毕业设计学少新专业知识学会查找文献利网络资源解决实际问题查阅Android专业坛博客程中发现开发应软件时善鉴前验参考代码避免重复制造轮子
参考文献
[1] 姚昱旻刘卫国 Android架构应开发研究[J] 计算机系统200811
[2] 周毅敏陈榕Dalvik虚拟机进程结构分析[J]计算机技术展201020(2)83
[3] 王淑君EDGE基带解调设计实现[D]西安西安电子科技学学 2009.
[4] 童中波中国开源社区[EBOL]httpmyoschinanetwangfreeblog77104
20120906
[5] 张鹏 Eclipse插件开发学笔记[Z] 北京电子工业出版社2008
[6] 罗伟基Android台时通讯系统研究实现[D]湖南湖南师范 学2009
[7] 叶炳发Android操作系统移植关键技术研究[D]广东暨南学2010
[8] Satya KomatineniDave MacLeanPro Android 3[M]American:Daniel W Lewis Komatineni2011.
[9] W Enck M Ongtang P McDanielUnderstanding android security[J]Security & Privacy200932(1)5057
[10] M OngtangS McLaughlinW Enck Android permissions demystified[J. Proceedings of the 18th ACM conference on Computer and communications security201134(1)627638
[11] 贾裕矩阵式二维条码生成技术研究[EBOL].
[12] 张仕成基Google Android台应程序开发研究[J]电脑知识 技术2009 5(28)5057
[13] 赵亮张维基Android技术界面设计研究[J]电脑知识技术2009 5(29)
[14] 耿东久索岳陈渝文军吕勇强基Android手机远程访问控制 系统 [J]计算机应201132(2)5057
[15] 雷丽晖段振华种基扩展限动机验证组合Web服务方法[J]计 算机学报200528(4)635643
附录
附录A 文件传输协议简介
文件传输协议(英文:File Transfer Protocol缩写:FTP)网络进行文件传输套标准协议属网络传输协议应层
FTP8位客户端服务器协议操作类型文件需进步处理MIMEUnicode样FTP着极高延时意味着开始请求第次接收需求数间时间会非常长时必须执行冗长登陆进程
FTP服务般运行2021两端口端口21客户端服务器间传输数流端口20传输控制流命令通ftp服务器进口数通数流传输时控制流处空闲状态控制流空闲长时间客户端防火墙会会话置超时样量数通防火墙时会产生问题时然文件成功传输控制会话会防火墙断开传输会产生错误
FTP然终端户直接设计成FTP客户端程序控制
运行FTP服务许站点开放匿名服务种设置户需帐号登录服务器默认情况匿名户户名:anonymous帐号需密码然通常求输入户邮件址作认证密码细节者邮件址根确定赖FTP服务器配置情况
FTP两种模式:动动动模式求客户端服务器端时开监听端口创建连接种情况客户端安装防火墙会产生问题创立动模式动模式求服务器端产生监听相应端口进程样绕客户端安装防火墙问题
动模式FTP连接创建遵循步骤:
客户端开机端口(端口号1024里称x)时FTP进程连接服务器21号命令端口时该tcp连接源端口客户端指定机端口x目端口(远程端口)服务器21号端口
客户端开始监听端口(x+1)时服务器发送端口命令(通服务器21号命令端口)命令告诉服务器客户端正监听端口号已准备端口接收数端口知数端口
服务器开20号源端口创建客户端数端口连接时源端口20远程数(目)端口(x+1)
客户端通数端口创建服务器20号端口连接然服务器发送应答告诉服务器已创建连接
附录B 应程序界面代码
界面

androidid@androididtabhost
androidlayout_widthfill_parent
androidlayout_heightfill_parent>
androidorientationvertical
androidlayout_widthfill_parent
androidlayout_heightfill_parent>
androidid@+idtitle
androidorientationhorizontal
androidlayout_widthfill_parent
androidlayout_height55dp
androidbackground@drawableaa_title0
androidfocusabletrue
androidfocusableInTouchModetrue>
androidid@+idtitle_logo
androidlayout_width40dip
androidlayout_height40dip
androidlayout_centerVerticaltrue
androidlayout_alignParentLefttrue
androidlayout_marginLeft10dip
androidbackground@drawablelogo>
androidlayout_widthwrap_content
androidlayout_heightwrap_content
androidlayout_centerVerticaltrue
androidtext@stringapp_name
androidtextSize24px
androidlayout_toRightOf@idtitle_logo
androidtextColor@colorgrey>

androidid@androididtabcontent
androidlayout_widthfill_parent
androidlayout_heightfill_parent
androidlayout_weight10 >
androidid@androididtabs
androidvisibilitygone
androidlayout_widthfill_parent
androidlayout_heightwrap_content
androidlayout_weight00>
androidgravitycenter_vertical
androidlayout_gravitybottom
androidorientationhorizontal
androidid@+idmain_radio
androidlayout_widthfill_parent
androidlayout_heightwrap_content
androidbackground@drawableaa_tab_background>
androidid@+idradio_button0
androidtext@stringsetting
style@stylemain_tab_bottom >
androidid@+idradio_button1
androidtext@stringcontrol
style@stylemain_tab_bottom >
androidid@+idradio_button2
androidtext@stringreadme
style@stylemain_tab_bottom >




控制界面

androidorientationvertical
androidlayout_widthfill_parent
androidlayout_heightfill_parent
androidbackground@drawableall_background>
androidscrollbarsvertical
androidlayout_widthfill_parent
androidlayout_heightfill_parent
androidpaddingLeft10dip
androidpaddingRight10dip
androidlayout_marginTop20dip>
androidorientationvertical
androidlayout_widthfill_parent
androidlayout_heightfill_parent>
androidid@+idimg_btn_connect
androidlayout_widthwrap_content
androidlayout_heightwrap_content
androidlayout_gravitycenter_horizontal
androidlayout_marginTop10dip
androidlayout_marginBottom10dip
androidlayout_marginLeft8dip
androidlayout_marginRight8dip
androidbackground@drawableunconnect>
androidid@+idtv_server_state
androidlayout_widthwrap_content
androidlayout_heightwrap_content
androidlayout_gravitycenter_horizontal
androidtextColor@colorblack
androidtextSize28px
androidtext状态>
androidid@+idtv_input_notify
androidvisibilitygone
androidorientationvertical
androidlayout_widthwrap_content
androidlayout_heightwrap_content
androidlayout_marginTop20dip
androidlayout_gravitycenter_horizontal>
androidlayout_widthwrap_content
androidlayout_heightwrap_content
androidtext电脑里输入
androidtextColor@colorgrey
androidtextSize28px
androidlayout_gravitycenter_horizontal>
androidid@+idtv_ip
androidlayout_widthwrap_content
androidlayout_heightwrap_content
androidtextip
androidtextColor@colorgrey
androidtextSize28px
androidlayout_gravitycenter_horizontal>

androidid@+idtv_error
androidvisibilitygone
androidlayout_widthwrap_content
androidlayout_heightwrap_content
androidtextColor@colorgrey
androidtextSize28px
androidlayout_gravitycenter_horizontal>

下载文档,方便阅读与编辑

文档的实际排版效果,会与网站的显示效果略有不同!!

需要 20 香币 [ 分享文档获得香币 ]

该文档为用户出售和定价!

购买文档

相关文档

基于Android植物大战僵尸

摘要 手机游戏,顾名思义就是指在手机上运行的游戏软件。目前用来编写手机程序使用最多的是 Java 语言。随着科技的发展,手机的硬件更新速度越来越快,功能也越来越强大。现在的手机游戏具有很强的娱乐性和交互性的复杂形态。 安卓版本的游戏有三大优势。第一:技术优势。一方面是其稳定性,现在已有公认最稳定版本的操作系统——Gingerbread。另一方面是程序员技术入门快,特别是对有一定java语言基

山***1 5年前 上传1303   0

基于Android智能风扇的设计

由于科技越来越发达,智能硬件也使用越来越多,基于蓝牙的技术开发以及应用也是快速的发展。其使用在Android系统和Windows系统等平台上都可以使用蓝牙无线模块。可以实现了主蓝牙设备和从设备它们互相通信,它们拥有方便、快捷、操作方便等好处。

王***朝 3年前 上传971   0

Android实训报告基于Android的游戏开发

通信与电子信息专业实训报告项目名称:基于Android的游戏开发 班 级 通信班 姓 名 学 号 指导教师 成 绩

文***品 3年前 上传1081   0

基于Android Studio的饼图账单的设计与开发Android毕业论文

毕 业 论 文 基于Android Studio的饼图账单的设计与开发Design and Development of PieChart Billing Based on Android Studio所在系院: 计算机信息工程系 专业班级: 计算机应用技术 学生学号:

文***享 4年前 上传790   0

基于Android的教学课程系统设计与开发

摘 要移动应用已经成为人们生活必不可缺的一部分,大学生身为移动应用的最大用户群体,在生活学习娱乐各个方面都与移动应用有着紧密联系,然而针对大学生校园学习的移动应用却寥寥无几,因为不同的学校,甚至不同的院系,都有着自己独特的情况。该项目借鉴了现有的一些和学习相关的移动应用,结合软件学院的特点,针对软件学院的学生,提供了学生日常学习生活常用的一些功能。主要分为我的课表,我的日程,我的学习

平***苏 3年前 上传612   0

基于Android的中国象棋毕业设计

基于Android的中国象棋毕业设计 摘 要 现在智能操作系统迅速发展,使得智能手机和其他的智能移动设备得到广泛普及,因此,智能操作系统的应用软件开发及其需要的服务将有广阔的发展前景。而Android是开放性体系架构,不仅具有非常好的开发、调试环境,而且还支持各种可扩展的用户体验,包括丰富的图形组件、多媒体支持功能以及强大的浏览器。因此,对于软件从业人员来说,Android平台具有无限

文***享 5年前 上传1216   0

基于android的物业管理系统的设计与实现19.8

 目录基于android的物业管理系统的设计与实现 3摘 要 3Android property managemengt system 5Abstract 51 绪论 61.1 选题背景 61.2 课题研究现状 61.3 设计研究主要内容 71.4 系统主要设计思想 82 开发环境 82.1 Android系统的结构 8图2-1 Android系统架构图 92.2

平***苏 3年前 上传801   0

基于Android的网上订餐系统毕业论文

XX 大 学 毕 业 设 计( 论 文 ) 题目 基于Android的网上订餐系统 作者 学院 专业 学号 指导教师 二〇XX 年 X月 X日 摘 要 随着科技的发展,二十一世纪成为了以网络化,信息化为核心的社会。网络商业化也成为了时下最热门的词汇。随着信息技术的不断更新,特别是07年谷歌公司推出了Android开放源码,让Android操作系统成为了移

z***u 5年前 上传1806   0

基于Android手机的NFC开发与应用

基于Android手机的NFC开发与应用摘 要随着信息时代的快速发展,NFC作为一种由RFID演变来的新型近距离无线通信技术也受到人们的关注,相较于红外、Wifi等其他无线通信有启动速度快、安全、低功耗等优点从而受到众多商家的青睐。虽然在Android系统中已经有了NFC技术以及相关协议,但是由于与NFC相关的基础设施并未普及,导致NFC在手机端使用率较低。因此本文设计一款综合性强的

平***苏 1年前 上传371   0

基于Android的志愿活动平台的设计与实现

 基于Android的志愿活动平台的设计与实现 内容摘要伴随着移动互联网的迅速发展,“互联网+志愿服务“方式出现并衍生了许多相关应用与产品,志愿服务方式也更为多元。诸如“志愿汇”、“i志愿”

平***苏 1年前 上传476   0

基于Android的外卖点餐类的app的设计与开发

基于Android的外卖点餐类app的开发与设计 摘 要:在这千变万化的岁月中,手机已不是稀奇之物。规矩的传统订餐已经不能在我们生活中得到满足,用户们需要一个可以在家查看餐厅以及点餐的服务。由此,外卖订餐体系就呈现了,本体系操纵Android体系,来实现订餐。本系统操作十分简单,给用户一个全新的体验,也有助于商家往更好的方向发展,促进经济的发展。关键词:android;数据库;客户端;服

平***苏 8个月前 上传193   0

基于Linux的FTP服务器的安装与配置课程设计

1 引言1.1课程设计目的 自从有了网络以来,通过网络来传输文件一直是一项很重要的工作,不但可以实现文件的下载和上传,而且可以设置不同的用户访问权限,并支持大文件的断点续传功能。采用FTP服务可以使传输文件工作变得非常轻松。本课程设计利用基于Linux的FTP服务器的安装与配置,理解FTP的工作原理和作用,掌握FTP服务器的基本配置方法,通过操作系统自带的ftp命令验证FTP服务器的

文***品 1年前 上传316   0

论文开题报告:定稿基于Android的快递APP设计与实现

目前,为了提高取件效率,快递公司在一些快递密集型的投放点放置了智能云柜,取件人通过快递公司发送的密码来开启云柜。虽然这种方式大大提高了取件效率,让取件人的取件时间更加自由,但是云柜只能存放一些体积较小的快递,不能存放大型包裹,而且对于快递公司来说对智能云柜的投资是一笔巨大的支出,智能云柜的普及势必将增加快递公司的业务成本,也就是意味着减少快递公司的利润。

邋***。 5年前 上传2907   0

基于Android的电子书阅读器的设计与实现

毕业设计说明书(论文)中文摘要Android平台现在非常的火,我们平时使用的智能手机,平板电脑,还有新的智能电视,有很大部分是基于Android平台的,很显然,它在人们生活中的表现得越来越重要。本文详细介绍了采用JAVA语言,设计并开发一个基于Android平台的电子书阅读器的过程。从一开始的准备工作、系统的需求分析和设计、系统的实施、系统的测试和部署等方面介绍了该阅读器的开发过程。本文实现

平***苏 3年前 上传636   0

基于安卓Android智能家居详细设计毕业论文

基于Android的智能家居目 录第 1 章 项目概述 11.1 项目背景 11.2 术语定义 2第 2 章 技术方案 32.1 系统描述 32.2 功能描述 32.3 项目功能图 42.4 所涉及的系统、工具 4第 3 章 前端数据中心(A8)总体设计 53.1 程序设计流程图 53.2 线程定义 53.3 所用类定义 6第 4 章 前端A8模块设计 74

文***享 3年前 上传1136   0

基于Android的天气预报查询系统的实现毕业设计

 基于Android的天气预报查询系统的实现 摘要:随着智能手机一步步走进人们的生活,它将成为人们获取信息的主要设备,相关应用越来越广泛,并在人们的日常生活中扮演着越来越重要的角色。因此,关键应用程序的开发成为影响移动智能终端普及的重要因素,设计并开发实用、方便的应用程序具有重要的意义和良好的市场前景。Android作为当前最流行的操作平台,自然也存在着大量的应用服务需求。 Android

z***u 5年前 上传1963   0

基于Android移动平台图像处理系统开发

在今天的全球化世界里,科技不断的进步与创新更加促进了外语学习途径的多样化,随着人们学习方式的便捷并迅速的发展,特别是以电子词典为主工具的出现,用户对此类产品的便捷、功能的要求越来越高。目前,电子词典的最佳载体是移动设备,例如移动电话或计算机,其既兼顾了传统的纸质词典的功能,同时,移动电子词典APP也有着便携,功能齐全,并且具有随着因特网实时更新的优点。应用在两大手机系统--Android系统中的移动词典APP更使越来越多的普罗大众能够更加便捷自由的学习外语。

王***朝 3年前 上传3344   0

基于Android的智能停车系统的设计与开发(修改版)

在对城市停车位供给紧缺、停车难以及乱停车等问题进行解决时,可以研究其根源,对城市的有效停车位进行增加,构建现代化停车场,另外也可以针对目前已有的停车场进行科学合理的配置、控制以及调度。

爱***享 3年前 上传490   0

android学习心得

android学习心得第一篇:android学习心得android入门心得工具使用1. 打开已有工程:方法1:eclipse>file>new>android project>next>create project existing source>选择你的项目. 该方法适合不在工作目录workspace下的文件。方法2:在屏幕上方的选单列上,选择「file->import

x***0 8年前 上传623   0

Android项目需求文档

列出本文件中用到的专门术语的定义和外文首字母组词的原词组。

涛***6 3年前 上传770   0

(计算机有代码有程序)基于android卡卢琳电影购票系统

毕业设计说明书(论文)中文摘要 在互联网技术迅速发展的形式下,人们的生活节奏逐步信息化。移动终端的Android系统正在悄无声息的改变人们的生活方式,更多的人选择足不出户地在手机上自助购买电影票。本文基于Android平台,结合移动终端和影院,对在线电影购票系统进行了研究。本文首先介绍了在线电影购票的研究背景及现状,论述了本课题的研究意义,进行了系统需求分析,总体设计,详细功能设计与

平***苏 2年前 上传588   0

Android系统研发实习生的求职信

Android系统研发实习生的求职信第一篇:系统研发实习生的求职信例文系统研发实习生的求职信例文,关键词是求职信,系统研发实习生,先生/女士您好,我在应届生上看到贵公司的招聘信息,我对Android系统研发实习生职位非常有兴趣,特来应聘。对照公司及职位的要求,我的情况简述如下:1、北京理工大学电子工程系研究生在读,研二,已获导师许可,每周可到职3天,能够保障连续6个月的实

蓝***1 12年前 上传409   0

快速离线安装配置Android 开发环境

首先在这里下载离线安装包,然后我以android-sdk_r16-windows为例介绍安装过程。1. 安装JDK:运行jdk-7u3-windows-i586.exe;这里在“开发工具“和“源代码“和“公共JRE“左键点击,然后选择“从功能及所有子功能将安装在本地硬盘驱动器上“更改安装路径为“C:\Java\jdk1.7.0_03\“.安装至JRE的安装时更改安装路径为“C:

郭***林 6个月前 上传191   0

最新 经典 Android面试题带答案

…Android面试题1. 下列哪些语句关于内存回收的说明是正确的? (b ) A、 程序员必须创建一个线程来释放内存 B、 内存回收程序负责释放无用内存 C、 内存回收程序允许程序员直接释放内存 D、 内存回收程序可以在指定的时间释放内存对象 2. 下面异常是属于Runtime Exception 的是(abcd)(多选) A、Arithmeti

豆***2 3年前 上传727   0

《Android平台软件开发》课程设计报告

《Android平台软件开发》课程设计报告题 目 基于安卓的计算标准体重的应用程序 专 业 计算机科学与技术 学生姓名 学 号 二O一六年 X月 X 日目 录1背景介绍 1

文***享 3年前 上传692   0