美文网首页
答辩常问问题文档

答辩常问问题文档

作者: 安卓毕业设计 | 来源:发表于2020-03-06 15:15 被阅读0次
      1. 如何实现前后台数据传输?
        使用http通信实现的了前后台数据传输,客户端发送http请求到服务器端,服务器端根据请求的接口以及数据类型对数据库进行增删改查,并将客户端需要的数据返回给了客户端。
      1. 具体怎么实现的通信。
        利用Retrofit进行通信,Retrofit是一个封装好的http通信框架,可将http通信的类型以及url地址以注解的形式使用,极大的方便了请求的过程,以及性能。当然也可以使用普通的HttpUrlConnention。
      1. 通信过程的数据格式使用的什么?
        通信过程使用了json的数据格式,该格式是键值对的形式存在的,利用了google公司停供的gson包进行的数据的生成和解析,传输过程以输入输出流的形式,转换后为json,解析后直接为对象bean,非常方便。
      1. App中的列表用什么展示的?
        列表使用RecycleView进行展示,同时搭配只开源的适配器BaseRecyclerViewAdapterHelper,服务器数据收到后,转换为对象,并将数据对象传入适配器,将RecycleView绑定该适配器就将数据展示到页面了。
      1. App中怎么显示的图片?
        App中的图片载体均是ImageView,通过Glide图片加载框架进行了加载,使用也非常简单。
      1. 项目中都用了什么关键技术?
        项目中还是用了Rxjava,主要用了解决线程切换问题,Android 中网络请求必须使用子线程,UI更新必须使用主线程,而平时的线程切换都需要使用Handler,使用太过复杂,因此使用Rxjava可以切换更随心所欲。
      1. 过程中遇到什么问题?然后如何解决?
        第三方框架学习成本比较高,自己查看博客和文档api解决的
      1. 演示一下你的项目,然后请找出实现某一功能的代码块?
        这个提前分清模块都有哪些,都代表什么
      1. 说下你的课题将来的应用以及在哪方面可以改进?
        可以优化通信的性能,和存储的性能,可以简单说一些自己对设计理解的不足,多部分的功能全部借鉴目前的商业项目
      1. 你的软件设计的权限划分是怎么划分的?
        这个可以参考我之前给总结的需求分析,将每个权限的关系说明即可。
      1. 这个设计的功能你为什么这么设计?
        其实这个问题非常大,你可以从多个角度去分析,如果有创新的可以多往创新角度说明,也可以朝着商业项目的方向说明,因为设计的最终参考主要以实用性为主,商业项目的这方面做的都比较好。
      1. 这个课题是你独自完成的还是团体共同完成的?
        这个实事求是就可以
      1. 数据库的相关操作。
        这个问题可能涉及两个方面,第一是服务器的数据库,第二是客户端本地的数据库。
        服务器数据库:使用了Spring Boot JPA,可直接连接mysql数据库,通过配置文件配置数据库的地址,以及账户密码,然后通过封装好的API进行增删改查,同时可以通过sql语句进行增删改查。
        客户端数据库:客户端数据库使用的是realm数据库,这个数据库的性能以及使用方便度上都高于sqlite,支持api接口增删改查。
      1. 如何才能布局合理?
        1、尽可能减少布局的嵌套层级
        可以使用sdk提供的hierarchyviewer工具分析视图树,帮助我们发现没有用到的布局。
        2、不用设置不必要的背景,避免过度绘制
        比如父控件设置了背景色,子控件完全将父控件给覆盖的情况下,那么父控件就没有必要设置背景。
        3、使用include>标签复用相同的布局代码
        4、使用merge>标签减少视图层次结构,该标签主要有两种用法:
        4.1因为所有的 Activity 视图的根节点都是 FrameLayout,因 此如果我们的自定义的布局也是FragmenLayout的时候那么可以使用merge替换。
        4.2当应用 Include 或者 ViewStub 标签从外部导入 xml 结构时,可以将被导入的 xml 用 merge 作为根节点表示,这样当被嵌入父级结构中后可以很好的将它所包含的子集融合到父级结构中,而不会出现冗余的节点
      1. 为什么选用mySql?采用什么接口?为什么?
        1、mysql性能卓越,服务稳定,很少出现异常宕机。
        2、mysql开放源代码且无版权制约,自主性及使用成本低。
        3、mysql历史悠久,社区及用户非常活跃,遇到问题,可以寻求帮助。
        4、mysql软件体积小,安装使用简单,并且易于维护,安装及维护成本低。
        5、mysql品牌口碑效应,使得企业无需考虑就直接用之,lamp,lnmp流行架构。
        6、mysql支持多种操作系统,提供多种API接口,支持多种开发语言,特别对流行的PHP语言有很好的支持。
      1. 你数据库的表关系是怎么样的?
        这会你可以把你的表列出来,或者自己描述即可,主要考察你知不知道数据的相互关系。
      1. 你软件的面向用户是什么人?
        这个实事求是即可,不同软件面向群体不同,主要考察你有没有做过思考。
      1. 服务器的资源存在哪?
        如果有图片的和视频的可能会问道这个,服务器使用了静态资源文件夹,主要存在static文件夹中。并将图片的路径存在了数据库,方便客户端访问使用。

    相关文章

      网友评论

          本文标题:答辩常问问题文档

          本文链接:https://www.haomeiwen.com/subject/rwjirhtx.html