V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
creatorYC
V2EX  ›  Android

Android 与 Java 后台数据传递解惑

  •  
  •   creatorYC · 2015-12-08 12:43:47 +08:00 · 7936 次点击
    这是一个创建于 3062 天前的主题,其中的信息可能已经有所发展或是发生改变。

    前段时间自己用 struts 、 hibernate 、 spring 框架做了一个简单的博客站,用了阿里云服务器,现在想自己实现一个 Android 客户端,就用这个博客站作为后台,想请教一下有经验的前辈们,前后台数据交互是要使用 json 传递数据吗?可是这样我感觉应用的大部分都是在解析后台返回的 json 数据了,我是学生,经验不足,希望有经验的前辈们给个指导,也好开始动手做。不胜感激!

    34 条回复    2015-12-10 10:26:05 +08:00
    liufuyi
        1
    liufuyi  
       2015-12-08 12:47:19 +08:00
    后台就是增删改查
    前台就是查显
    xinyewdz
        2
    xinyewdz  
       2015-12-08 13:09:07 +08:00
    android 客户端就是一个前端显示的部分,和网页一样的功能。
    creatorYC
        3
    creatorYC  
    OP
       2015-12-08 14:03:23 +08:00
    @xinyewdz 那就是使用 json 把以前传递到网页上的数据现在传递到 android 客户端来吗,你们这样的处理都是使用 json 吗
    creatorYC
        4
    creatorYC  
    OP
       2015-12-08 14:04:34 +08:00
    @liufuyi 准备把 android 客户端搞得好看点,用上 material design...慢慢折腾!
    Hamniba
        5
    Hamniba  
       2015-12-08 14:31:26 +08:00
    拿到 JSON 数据显示出来只是移动开发的一小部分
    移动开发大多数时候重点是在客户端的页面跳转逻辑和交互效果,性能优化等方面。
    jiaojing
        6
    jiaojing  
       2015-12-08 14:42:48 +08:00
    json xml 都可以
    什么叫大部分都是在解析后台返回的 json 数据了,用个好点的轮子 两行代码就能把 json 转成相关类了
    creatorYC
        7
    creatorYC  
    OP
       2015-12-08 14:55:39 +08:00
    @Hamniba 嗯嗯,反正不容易! fighting
    creatorYC
        8
    creatorYC  
    OP
       2015-12-08 14:56:12 +08:00
    @jiaojing 嗯,路还很长......谢谢指点
    xinyewdz
        9
    xinyewdz  
       2015-12-08 17:56:06 +08:00
    @creatorYC 对的
    miao1007
        10
    miao1007  
       2015-12-08 18:28:30 +08:00
    服务器应该有 dto 啊,直接 retrofit 序列号搞定
    qw7692336
        11
    qw7692336  
       2015-12-08 19:33:34 +08:00 via Android
    都是 Java 可以直接用 JMS 和 RMI ?
    qw7692336
        12
    qw7692336  
       2015-12-08 19:35:09 +08:00 via Android
    JMS 做推送、 RMI 做获取数据,全是 Java ,不知道能否可行
    feilaoda
        13
    feilaoda  
       2015-12-08 23:03:33 +08:00 via Android
    @qw7692336 多么古老的东西啊,还用。
    Sharuru
        14
    Sharuru  
       2015-12-08 23:16:14 +08:00 via Android
    如果想快速开发的话可以试试 HBuilder + MUI 来写 APP

    后台丢 JSON 前台用 JS 的方法就能完成数据处理。
    只不过不是原生的缘故,一些动效可能会很难做。
    zonghua
        15
    zonghua  
       2015-12-09 00:23:51 +08:00 via iPhone
    struts2 发 json 很烦的,最好还是 springMVC 吧
    qw7692336
        16
    qw7692336  
       2015-12-09 00:26:19 +08:00
    @feilaoda 这才是纯 Java 的技术栈, json 算是 js 里面的东西吧
    qw7692336
        17
    qw7692336  
       2015-12-09 00:26:44 +08:00
    @feilaoda 反正楼主用的框架也挺老的
    xcv58
        18
    xcv58  
       2015-12-09 04:02:00 +08:00
    Retrofit + RxAndroid
    creatorYC
        19
    creatorYC  
    OP
       2015-12-09 08:03:42 +08:00
    @qw7692336 额...这些框架不是很牛吗,恩,不过我会用的部分也是很少,的确很臃肿,现在工作一般用什么啊
    creatorYC
        20
    creatorYC  
    OP
       2015-12-09 08:04:56 +08:00
    @xcv58 都没听过...唉,还是太菜,我现在就去了解,谢谢指导
    creatorYC
        21
    creatorYC  
    OP
       2015-12-09 08:05:29 +08:00
    @zonghua 可以自己拼吧,哈哈,
    creatorYC
        22
    creatorYC  
    OP
       2015-12-09 08:06:22 +08:00
    @feilaoda 那现在学 java 要学哪些东西啊
    ldehai
        23
    ldehai  
       2015-12-09 09:08:35 +08:00
    @creatorYC API 本来就是用来增删改查的。如果是原生应用,那 API 就用 JSON 格式的数据。
    看你的描述感觉不喜欢这种方式,那可以在 APP 里面内嵌浏览器,只要页面适配 APP 就好了,不用单独开发 APP 了,能减少很多工作量。不过就是响应速度上差强人意,体验会查一些。
    yuriko
        24
    yuriko  
       2015-12-09 09:11:00 +08:00
    Java 的 SSH 框架整体都比较臃肿,用了两次之后就转战其他阵营了

    除非你对性能或者别的什么有特别的要求,不然个人不推荐用些独有的技术,毕竟像 http(s)配合 json/XML 这种配套的解析方案也很成熟,而且在需要转型的时候,接口也不会有很强的耦合。

    JAVA 终究只是工具, SSH 和 Android 也只是一套解决方案罢了,不要为了工具去选择目标
    xuhaoyangx
        25
    xuhaoyangx  
       2015-12-09 09:12:21 +08:00
    struts 太老了,用起来太麻烦,有空看 springmvc 吧
    feilaoda
        26
    feilaoda  
       2015-12-09 09:26:05 +08:00
    @qw7692336 不是说 struts 古老,而是说 jms , rmi 在做 APP 时很少用,太重。直接 json 好了。
    至于 struts 还是 springmvc ,还是其他,用最熟悉的。
    springmvc , jersey 都挺好。 playframework 我用着也很爽
    tonyVex
        27
    tonyVex  
       2015-12-09 09:35:58 +08:00
    http 返回 json ,当然你也可以返回 xml
    creatorYC
        28
    creatorYC  
    OP
       2015-12-09 12:04:10 +08:00
    @ldehai 因为我没做过这样的东西,所以想了解一点,准备就用 json 了,谢谢你的建议
    creatorYC
        29
    creatorYC  
    OP
       2015-12-09 12:06:11 +08:00
    @xuhaoyangx 准备最近看了,谢谢你
    creatorYC
        30
    creatorYC  
    OP
       2015-12-09 12:07:27 +08:00
    @yuriko 自己瞎摸索,也不知道到底有哪些路线...唉
    creatorYC
        31
    creatorYC  
    OP
       2015-12-09 12:09:42 +08:00
    @tonyVex 嗯嗯,明白了,多谢指点
    ldehai
        32
    ldehai  
       2015-12-09 12:49:10 +08:00
    @creatorYC 给你一点代码做参考,代码经过了简化,后台用的是 python

    后台定义 router:


    返回的 json 定义:


    接口实现:


    Android 端接口定义:


    实现登录:
    yuriko
        33
    yuriko  
       2015-12-09 14:47:18 +08:00
    java 整体对于小规模的开发还是显得太重……

    不要因为自己只会 java 就非要用 java ,语言终究只是工具
    nikubenki
        34
    nikubenki  
       2015-12-10 10:26:05 +08:00 via iPhone
    就用 json 啊, XML 现在是不是只有微信在用啦?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   970 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 19:59 · PVG 03:59 · LAX 12:59 · JFK 15:59
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.