前回は Evernoteのサーバに対して認証を行うところまでを実装しました。今回はユーザの認証情報を元に,
はじめに,
上記はEvernoteの開発者向け公式サイトから転載したデータモデルの概要図ですが,
- ノートブック
- ノート
- リソース
- タグ
- 保存された検索
(SavedSearch)
といったデータがあるのがわかるかと思います。これらの各データはすべて
今回はシンプルに題名・
ノートとノートブックの関係
すべてのノートはいずれか1つのノートブックに所属することになります。ノートにはノート自身のguid,
1つのノートが複数のノートブックに属することはできず,
ENML:Evernote Markup Language
次にノートの本文の形式について説明します。
Evernoteのノートの本文は,
ENML文書の最小構成は以下のようになります。
ENMLのテンプレート
<!DOCTYPE en-note SYSTEM "http://xml.evernote.com/pub/enml2.dtd">
<en-note>
ここにコンテンツを記載
</en-note>
1行目の宣言部分はなくてもかまいませんが,
この<en-note>までの開始タグまでと,
content = EvernoteUtil.NOTE_PREFIX + content + EvernoteUtil.NOTE_SUFFIX;
のようにしてENML文書を作成しておくのが良いでしょう。
またcontentがプレーンテキストで改行したいブロックごとにdiv要素で囲うことが推奨されています。
ENMLで使用できるXHTMLのタグ一覧については公式デベロッパーサイトのENMLの項目を参照ください。
ノートを作ってみる
それでは実際にノートを作ってみましょう。
前回最後に表示したメニュー画面
今回は
MainActivity
├ MenuFragment
├ SimpleNoteFragment
:
のように大元のActivityの上に各機能をFragmentとして乗せる設計にしていますので,
具体的にはMenuFragment側で各アイテムが押された際に,
MenuFragment.
OnMenuItemSelectedListener mListener;
:
public interface OnMenuItemSelectedListener {
public void onMenuItemSelected(int pos);
}
:
@Override
public void onListItemClick(ListView l, View v, int position, long id) {
mListener.onMenuItemSelected(position);
}
MainActivity側で,
MainActivity.
@Override
public void onMenuItemSelected(int position) {
FragmentManager fm = getFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
switch (position) {
case 0:
ft.replace(R.id.fragment_container, new SimpleNoteFragment(), "SimpleNote");
break;
default:
;
}
…省略…
}
今回はノート作成画面で
- 保存するノートブックの選択
- タイトルの指定
- 本文の指定
を行えるようにします。
以下,