FC2ブログ

サラリーマンの生活改善ブログ

30代のサラリーマン(一児の父)が今の生活をよりよくするために「株/投信への投資」、「ITツールの開発/活用」、「節約/効率化のノウハウ」を実践。ブログで公開中。

スポンサーリンク

【スマホアプリ開発】Evernote連携アプリ開発(取得したノート情報を画面に表示 Part2)

前回は取得したノートの情報を画面に表示させましたが画像ファイルは表示できませんでした(ENMLという独自形式のため認識できず)。
今回はENML形式の画像データをHTMLで表示できるようにします。

■開発作業の内容

◯Mainアクティビティ編集

以下の処理順にて画像データをHTML形式に変換しました。
  1. サーバより取得したリソースデータのMIME形式をチェック
  2. MIMEが画像データの場合、バイナリデータをBase64形式に変換
  3. ENML形式の画像タグ(en-media)をHTML形式の画像タグ(img)に文字列置換。合わせてBase64形式に変換した文字列を貼り付け

「3」について、ENML⇒HTMLに変換するAPIが用意されていると思い、いろいろ探しましたがありませんでした。
(デベロッパーサイトのQA等も参考にしましたがそこでも文字列置換せよとの回答)。

◯ソースは以下。
//MIMEが画像データの場合、imgタグ置き換え処理へ
if (mime.equals("image/png") || mime.equals("image/jpeg") ||
         mime.equals("image/gif") || mime.equals("image/bmp")) {
   Data data = resource.getData();
   byte[] imageBin = data.getBody();
   String hash = bytesToHex(data.getBodyHash());
   //画像データをBase64形式に変換
   String base64 = new String(Base64.encode(imageBin, Base64.DEFAULT));
   String html = String.format("", base64);
  //String.replaceAllメソッドを使用して「en-media」タグ⇒「img」タグに文字列置換。ソースは割愛
}

スポンサーリンク


■今後の開発作業

現状、Evernoteに保存されている全てのノートブックを対象にランダム検索していますが、今後は検索対象とするノートブックを選択可能としたいと考えています。本実装を進めるにあたり、Androidでのファイル操作処理を学んでいきたいと思います。
関連記事
[ 2018/04/19 19:46 ] ITツール スマホアプリ開発 | TB(-) | CM(0)
コメントの投稿












管理者にだけ表示を許可する