`
aleelock
  • 浏览: 18158 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Google App for java,发个会议室

阅读更多
    终于决定写些什么了。(正在看终结者2018,网速太卡,等了半天缓存,就来javaeye浏览了一圈,发现有了写点什么的冲动。)

     前些日子看了javaEye新闻月刊,发现了Google App for java,就申请了一个。以前找了好久关于jsp的免费空间,呵呵,myjavaserver eatj等都用,甚至曾经想转行搞php(因为php的免费空间多,呵呵)。废话少说了。
   
     http://tablemeeting.appspot.com/
     这个东东,我用了2周时间写的(断断续续的,其实就是晚上有空的时候写的,白天要上班)。一开始写了个验证码,可是上传上去以后,发现,验证图片无法显示,后来才发现,google不完全支持java.awt.Image,它有自己的api,晕。只好改了。

     先随便注册一个进去看看吧。^o^ 。
     这个app是用jsp+ajax+jdo实现的,原理也很简单。
  
      先说结构:
     
      与会者权限: 注册,登录, 创建房间(会议室),进入房间, 聊天,查看共享黑板,查看黑板历史。
      主讲人权限: 注册,登录, 创建房间(会议室),进入房间, 销房间, 聊天,在黑板上写字, 看共享黑板,查看黑板历史。(还有几个功能没有实现,比如踢人,嘿嘿)
     
-------------------------

      注册,这个就不用说了,只有一个验证用户名是否已经被注册这个相对复杂点,其他的就是往用户表插一条记录(习惯了“表”这个称呼,其实是一个jdo对象)。

      登录,有个判断,同一个session(注意是session,只要重新开一个浏览器,就是不同session了,这点需要改进那个,不过我太懒了,等到什么时候想再写了再改吧),连续登陆错误超过3次,就锁定了,5分钟后才能继续的登录,本来可以做的更完美一点的(记录到“表”中,又是表,呵呵)。
     
      创建房间,就是在房间表增加一条记录。

      进入房间,在与会者表添加一条记录,通过roomId识别不用房间的与会者。
     
      聊天,同一个房间的人,一起聊天,相当一个聊天室,可能还不是很完美。
      值得注意的是,客户端通过ajax轮询获取聊天记录时,并不是直接查数据库的,而是,先在内存中(application scope)中的找上一次查询数据库的时间,如果跟当前时间比没有超过1秒中,则从内存中读取,否则重新查询数据库,保存到内存中,更新当前查询的时间。这样能减少跟数据库交互的时间,虽然不能做得到真正的实时(相差1秒),但是能减少访问数据库的操作,减缓数据库的压力。

      黑板上写字,只有主讲人有权限,其实有点像老师在黑板上写字,其他人在下面看着。
   
      读取黑板上的字,实时的获取黑板上写的字,如果网速够快的话,应该能看见老师正在打字。这里的实现方式跟获取聊天记录的方式一样。
     
      保存黑板历史,老师才有的权限。

      查看黑板历史,与会者只能看。

      注销房间,通过roomid,删掉几个表(黑板表,与会者表,房间表,聊天记录表,黑板历史表)中的记录。

      over,文笔不好,请见谅,睡觉了。
     
     

     

     
     
1
0
分享到:
评论
2 楼 aleelock 2009-07-17  
1 楼 jammy.zhou 2009-07-17  
呵呵,google总是有慈善家的风范
引用
google不完全支持java.awt.Image,它有自己的api

顺便问下,它的api是??

相关推荐

    Android会议室管理app

    综上所述,“Android会议室管理app”的开发涵盖了Android平台的多个核心技术领域,包括UI设计、数据库操作、网络通信、数据序列化、事件处理以及实时同步等,对开发者的技术全面性和实践经验有较高要求。通过这样的...

    Go-Rooms--基于Twilio和GoogleAppEngine实现的短暂会议室功能

    Go-Rooms是一个项目,它利用了Twilio和Google App Engine这两个强大的技术平台来实现一个短暂的会议室功能。这个功能的主要目标是为用户提供一个临时、快速建立和结束的在线会议空间,尤其适用于需要进行短暂交流...

    pb3_javapb3_pb3app_白板实现_

    标题中的"pb3_javapb3_pb3app_白板实现_"暗示这是一个关于Java PB3(可能是Protocol Buffers的版本3)与一个名为pb3app的应用程序相关的项目,其中包含了白板功能的实现。白板功能通常指的是在数字环境中提供类似...

    Android-news-app:在Android Studio中通过Kotlin,MVVM,翻新和会议室完成新闻应用程序

    【Android-news-app】是一个使用现代开发技术和架构设计的Android应用程序,专为在Android Studio中构建新闻阅读体验而设计。此项目充分利用了Kotlin语言的强大功能,结合MVVM(Model-View-ViewModel)架构模式,...

    Sun2008JavaOne

    7. **网格计算和云计算**:可能探讨了Java在网格计算和云计算领域的潜力,预示着后来的云服务如Amazon AWS和Google App Engine的崛起。 8. **Java社区项目**:如GlassFish(Java EE应用服务器)、NetBeans IDE和...

    java8集合源码-android-resources-Roadmap:Android-resources-RoadMapAndroid开发者

    java8集合源码Android-resources-Roadmap Android 开发者资源 官方网站 代码实验室 YouTube Android 开发者博客 Kotlin 存储库 Github/安卓 Android 架构蓝图 v2 Android 架构组件示例 课程 训练 学习 Android 版 ...

    iosched:官方 Material Design App

    谷歌 I/O 安卓应用Google I/O 是每年举行的开发者大会,为期两天的深度技术内容包括技术会议和数百个开发者展示其技术的演示。 这个项目是会议的Android应用程序。 该应用程序支持运行 Android 4.0+ 的设备,并针对...

    SmartHomeSamplerAndroid:使用 Connect SDK 的示例智能家居应用程序

    #Smart Home Sampler App for Android 关于 此演示应用程序演示了在两个家庭场景中使用各种智能家居设备的场景。 它们代表一个客厅和一个家庭房间,每个房间都包含一个媒体设备、灯泡和其他可能的设备。 支持的设备...

    在家工作

    7. **云平台**:在家工作可能涉及到使用云平台,如AWS、Azure或Google Cloud,进行开发、部署和协作,了解云计算基础和相关的服务,如EC2(亚马逊弹性计算云)或App Engine(谷歌应用引擎)是必要的。 8. **通信和...

    working-Site

    5. **资源调度(Resource Scheduling)**:对于共享资源如会议室或设备,系统可能有预定和管理功能,以优化使用率。 6. **考勤系统(Attendance System)**:可能包含面部识别或二维码扫描等技术,用于记录员工的...

Global site tag (gtag.js) - Google Analytics