基于Android的FTP文件传输


    







    毕业设计(文)




    题 目 基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 语言。随着科技的发展,手机的硬件更新速度越来越快,功能也越来越强大。现在的手机游戏具有很强的...

    5年前   
    1315    0

    基于Android智能风扇的设计

    由于科技越来越发达,智能硬件也使用越来越多,基于蓝牙的技术开发以及应用也是快速的发展。其使用在Android系统和Windows系统等平台上都可以使用蓝牙无线模块。可以实现了主蓝牙设备和从设备它...

    3年前   
    978    0

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

    毕 业 论 文 基于Android Studio的饼图账单的设计与开发Design and Development of PieChart Billing Based on Android S...

    4年前   
    798    0

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

    通信与电子信息专业实训报告项目名称:基于Android的游戏开发 班 级 通信班 姓 名 ...

    3年前   
    1093    0

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

    基于Android的中国象棋毕业设计 摘 要 现在智能操作系统迅速发展,使得智能手机和其他的智能移动设备得到广泛普及,因此,智能操作系统的应用软件开发及其需要的服务将有广阔的发展前景...

    5年前   
    1227    0

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

    摘 要移动应用已经成为人们生活必不可缺的一部分,大学生身为移动应用的最大用户群体,在生活学习娱乐各个方面都与移动应用有着紧密联系,然而针对大学生校园学习的移动应用却寥寥无几,因为不同的...

    3年前   
    613    0

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

     目录基于android的物业管理系统的设计与实现 3摘 要 3Android property managemengt system 5Abstract 51 绪论 61.1 选题背景 6...

    3年前   
    813    0

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

    XX 大 学 毕 业 设 计( 论 文 ) 题目 基于Android的网上订餐系统 作者 学院 专业 学号 指导教师 二〇XX 年 X月 X日 摘 要 ...

    5年前   
    1811    0

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

    基于Android手机的NFC开发与应用摘 要随着信息时代的快速发展,NFC作为一种由RFID演变来的新型近距离无线通信技术也受到人们的关注,相较于红外、Wifi等其他无线通信有启动速度快、...

    1年前   
    376    0

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

    基于Android的外卖点餐类app的开发与设计 摘 要:在这千变万化的岁月中,手机已不是稀奇之物。规矩的传统订餐已经不能在我们生活中得到满足,用户们需要一个可以在家查看餐厅以及点餐的服务。...

    8个月前   
    196    0

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

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

    1年前   
    489    0

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

    1 引言1.1课程设计目的 自从有了网络以来,通过网络来传输文件一直是一项很重要的工作,不但可以实现文件的下载和上传,而且可以设置不同的用户访问权限,并支持大文件的断点续传功能。采用F...

    1年前   
    318    0

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

    目前,为了提高取件效率,快递公司在一些快递密集型的投放点放置了智能云柜,取件人通过快递公司发送的密码来开启云柜。虽然这种方式大大提高了取件效率,让取件人的取件时间更加自由,但是云柜只能存放一些体...

    5年前   
    2910    0

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

    基于Android的智能家居目 录第 1 章 项目概述 11.1 项目背景 11.2 术语定义 2第 2 章 技术方案 32.1 系统描述 32.2 功能描述 32.3 项目功能图 4...

    3年前   
    1144    0

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

    毕业设计说明书(论文)中文摘要Android平台现在非常的火,我们平时使用的智能手机,平板电脑,还有新的智能电视,有很大部分是基于Android平台的,很显然,它在人们生活中的表现得越来越重要...

    3年前   
    643    0

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

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

    3年前   
    492    0

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

    在今天的全球化世界里,科技不断的进步与创新更加促进了外语学习途径的多样化,随着人们学习方式的便捷并迅速的发展,特别是以电子词典为主工具的出现,用户对此类产品的便捷、功能的要求越来越高。目前,电子...

    3年前   
    3350    0

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

     基于Android的天气预报查询系统的实现 摘要:随着智能手机一步步走进人们的生活,它将成为人们获取信息的主要设备,相关应用越来越广泛,并在人们的日常生活中扮演着越来越重要的角色。因此,...

    5年前   
    1975    0

    Android项目需求文档

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

    3年前   
    775    0

    android学习心得

    android学习心得第一篇:android学习心得android入门心得工具使用1. 打开已有工程:方法1:eclipse>file>new>android project>next>cre...

    8年前   
    626    0

    文档贡献者

    山***1

    贡献于2019-05-31

    下载需要 20 香币 [香币充值 ]
    亲,您也可以通过 分享原创文档 来获得香币奖励!
    下载文档