马克笔记——Android端开源的 Markdown 笔记应用

APP展示图.png

马克笔记是运行在Android设备上面的一款开源的Markdown笔记,它的功能开发得已经比较完善,已经能够满足大部分用户的需求。现在将其开源到Github上面,用来交流和学习。当然,更希望你能够参与到项目的开发当中,帮助马克笔记变得更加有用。

1、关于马克笔记

马克笔记是一款开源的Markdown笔记应用,它的界面设计采用了Google最新的Material Design风格。该笔记现在的功能已经比较完善,能够满足用户大多数场景的需求。开源该软件的目的是希望与更多的人交流和学习,同时也希望能够有人参与到项目的开发中,一起帮助马克笔记,让它变得更加有用。

你可以通过加入Google+社区来关注该软件开发的最新动态,并且可以参与Beta测试。

马克笔记现在已经发布到了酷安网上面,也欢迎你下载和使用该软件。另外,笔者还开发了一款清单应用多功能清单,感兴趣的同学也可以了解一下。

2、应用展示图

<a href="#app">这里</a>是该应用的一些截图通过Photoshop调整之后得到的展示图,通过展示图,你大概可以了解一下该软件的主要功能和开发状态。在接下来的行文中,我会向你更详细地介绍它使用到的一些技术以及现在开发完成的一些功能和特性。

3、功能和特性

我把该软件当前已经支持的功能列了一个清单:

编号 功能
1 基本的添加、修改、归档、放进垃圾箱、彻底删除操作
2 基本的Markdown语法,外加MathJax等高级特性
3 特色的时间线功能,通过类似于AOP的操作记录用户的操作信息
4 多种形式的媒体数据,包括文件、视频、音频、图片、手写和位置信息
5 多主题,支持夜间主题,并且有多种可选的主题色和强调色
6 多彩的图表用于统计用户的数据信息
7 三种形式的桌面小控件,并且可以为每个笔记添加快捷方式
8 允许你为笔记指定多个多彩的标签
9 使用“树结构”模拟文件夹操作,支持多层文件夹,并可以进行层级的搜索
10 允许将笔记导出为PDF、TXT、MD格式的文本、HTML和图片
11 使用应用独立锁,加强数据安全
12 允许用户备份数据到外部存储空间和OneDrive
13 图片自动压缩,节省本地的数据存储空间

将来希望开发和完善的功能:

编号 功能描述
1 数据同步,本地的文件管理容易导致多平台的不一致,增加同步服务,能够实现多平台操作
2 文件服务器,用于获取图片和文件的链接
3 富文本编辑,即时的编辑预览
4 允许添加闹钟,并且复选框可以编辑
5 添加地图来展示用户的位置信息的变更

你可以从更新日志中获取到软件的更新信息。

4、依赖和用到的一些技术

马克笔记用到了MVVM的设计模式,还用到了DataBinding等一系列技术。下面的表格中列出了用到的具体的依赖和简要的描述。在此,还要感谢这些开源项目的作者:

编号 依赖 描述
1 arch.lifecycle 使用ViewModel+LiveData实现Model和View的解耦
2 Stetho Facebook开源的安卓调试框架
3 Fabric 错误跟踪,用户数据收集
4 RxBinding
5 RxJava
6 RxAndroid
7 OkHttp
8 Retrofit
9 Glide
10 BRVAH 非常好用的Recycler适配器
11 Gson
12 Joda-Time Java时间库
13 Apache IO 文件操作库
14 Material dialogs
15 PhotoView
16 Hello charts
17 FloatingActionButton
18 HoloColorPicker
19 CircleImageView
20 Changeloglib 日志信息
21 PinLockView 锁控件
22 BottomSheet 底部弹出的对话框
23 Luban 图片压缩
24 Flexmark 基于Java的Markdown文本解析
25 PrettyTime 时间格式美化

数据库操作

对于数据库部分,笔者自己设计了一套数据的访问逻辑,这里使用到了模板和单例等设计模式。
它的好处在于,当你想要向程序中添加一个数据库实体的时候,只需要很少的配置即可,可以省去很多的样板代码。
而且,由于该项目的一些特殊需求,比如要记录统计信息等,所以自行设计了一套来访问。
后续会介绍它的一些设计的思路、优势和局限性。

Markdown解析

对于Markdown解析,笔者在这方面寻找了许多资料,个人信息里面的stars就是很好的证明。
你可以使用javascript在webview里面解析,也可以像本项目一样在程序种用java进行解析。
这里使用的是Flexmark在java中解析,它的好处是对于Android开发者,一般而言,对Java语言可能比对Javascript更加熟悉。
比如,该软件中的MathJax的解析就是在Flexmark的基础上进行的拓展。

5、参与项目

正如一开始提及的那样,马克笔记仍然有许多不足,我希望可以有更多的人帮助马克笔记继续完善它的功能。
当然,这并不勉强。如果你希望对该项目贡献代码,你可以fork该项目,并向该项目提交请求。
你可以在waffle.io上面跟踪issue的开发状态。
或者,你发现了该软件中存在的一些问题,你可以在issue中向开发者报告。
如果有其他的需求,可以直接通过邮箱邮件开发者。

6、项目地址

因为这篇文章是从Github的Readme文件中拷贝出来的,所以忘记加上Github地址了,抱歉。现在补上:Github

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,634评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,951评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,427评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,770评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,835评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,799评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,768评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,544评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,979评论 1 308
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,271评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,427评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,121评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,756评论 3 324
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,375评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,579评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,410评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,315评论 2 352

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 172,039评论 25 707
  • 微弱的光从缝隙中透过。 黄昏的光线总是很柔和,就像暗黄灯光下的蒙蒙细雨。总给人一种静谧,安逸。这样的天气适合听柔软...
    somebleu阅读 241评论 0 0
  • 通过前两篇姿势的入门 Retrofit 2.0超能实践,完美支持Https传输 Retrofit2.0完美同步Co...
    Tamic阅读 113,231评论 48 278
  • 大风吹响了死亡的号角 忍受不了等待的煎熬 于是绝决地 飘落 飘落 挥别一整个秋天的不舍 前一刻还在行人的脚下沉思 ...
    韩知谕阅读 460评论 0 1