Skip to content
/ Xebird Public
forked from XeBird/Xebird

An alternative eBird app for Android

Notifications You must be signed in to change notification settings

Guan810/Xebird

 
 

Repository files navigation

Xebird

作为Java大作业的项目汇报在这里

0.1Alpha 版已发布!功能尚不完善,仅供尝鲜!

注意:本项目尚在开发中!

简介

Xebird 是一款为观鸟爱好者设计的工具app,主要功能为:

  • 数据记录 ---- 记录观鸟过程中的基本数据,如鸟种、数目、地点、时间等。
  • 知识检索 ---- 提供鸟类知识的检索渠道,根据鸟种名称检索相关资料。

缘起:

作为世界上最大的观鸟记录平台,eBird提供了相应的 Android app 便于观鸟爱好者记录旅途中见到的鸟种(eBird),深受观鸟爱好者喜爱。同时,eBird 与同样是由康奈尔大学鸟类实验室(Cornell Lab of Ornithology)设计的检索鸟类知识的 app Merlin 关联,可以便捷地查看鸟种记录。但由于服务器位于海外且依赖 Google Maps,eBird在国内很难使用,使得其在国内并未普及。

国内目前缺乏类似的 app,仅有个别微信小程序实现了类似的功能。因此试图做一款同类竞品 app,将知识检索和数据记录结合起来,且针对国内用户习惯做相应优化。

数据记录

Xebird 使用 sqlite 存储记录,数据格式参考了ebird 的官方指南建议。每次观鸟记录为一个 Checklist,其中每种出现了的鸟对应一个 BirdRecord。

设计一个csv格式的观鸟存储方法。

一次完整观鸟记录流程:

  1. 创建 Checklist,获取当前时间、位置;
  2. 搜索鸟种名数据库,选定鸟种;
  3. 记录指定鸟种的数目及位置、地点名称,可选加上备注,写入BirdRecord;
  4. 循环2~4,同样鸟种多次记录时将恢复上次写入的BirdRecord,进行修改;
  5. 提交 Checklist 和 BirdRecord 到数据库。

知识检索

暂使用一款仅在观鸟爱好者之间流传的老 app Mockingbird 的数据,但将原本存储于本地的媒体数据改为放在服务器上,显著减小安装包大小(从近 1G 到 10M 左右)。

考虑爬取ebird/wiki/xeno-canto.org 的数据加入。

工作分配

  • 数据层
    • 本地文字数据库
      • 鸟类信息
      • 图片与音频链接
      • 用户添加的其他信息
    • 代码
    • UI图片与其他
  • 服务层
    • 本地检索
      • 中文支持
      • 模糊搜索
    • 添加信息
    • 更新数据库
    • 信息展示
    • 图片与音频的获取与展示
  • 用户层
    • UI

界面设计

  • 导航界面
    • 记录界面
      • 添加/删除
      • 显示列表
    • 检索界面

About

An alternative eBird app for Android

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%