ラベル Libraroid の投稿を表示しています。 すべての投稿を表示
ラベル Libraroid の投稿を表示しています。 すべての投稿を表示

2011年3月3日木曜日

Libraroid Advanced Plugin Beta

Libraroid に機能を追加するためのプラグインをリリースしました。

Libraroid Advanced Plugin Beta - Android Market -




■ 機能

 現状では、以下の機能が Libraroid に追加されます

  ・ Libraroid で白スキンが使える
  ・ 保存しておいた複数アカウントを Libraroid で予約するときに使える
  ・ Libraroid の MyBookList を CSV 形式で SD カードに保存できる



* メイン画面



* スキンを黒と白から選べます


 白を選んで、Libraroid を再起動すると、こんな感じ



* アカウントを5個まで登録しておけます


 Plugin をインストールすると、Libraroid の予約ダイアログに切り替えボタンがつくので、これをタップして上記で設定したアカウントから選択できます



* Libraroid の MyBookList を CSV 形式で SD カードに保存します
保存先は &lt:sd card directory>/LibraroidPlugin/LibraroidMyBookList.csv です
すでにファイルがある場合は上書きされます

2010年3月9日火曜日

Androidアプリ Libraroid - 図書館予約 - 使い方

Libraroid は図書館に本があるかどうか調べて予約できるアプリです。

公式のサポートページはこちらです。
http://d.hatena.ne.jp/libraroid/


使い方

- 本を調べる

調べたい本のタイトルや著者名、キーワードなどを入力して検索ボタンをクリックしてください。



各本の
  ・画像
  ・タイトル
  ・著者名
  ・出版社
  ・本の形式
  ・値段
  ・出版日
  ・レビュー

を見ることができます。

音声入力する場合は、検索ボタンを長押しすることで
マイク画面が起動します。
(設定で「音声検索を有効にする」にチェックを入れる必要があります)




次の本を見る場合は右矢印ボタン(>)を押してください。
前の本に戻るときは左矢印ボタン(<)を押してください。

図書館にその本があるかどうかが下に表示されます。




図書館に所蔵がない場合は次のようなメッセージが表示されます。



商品のレビューを見る場合は本の画像をタップしてください。
(設定で「レビューを表示」にチェックを入れる必要があります)



タイトル、著者名、出版者で再検索する場合はタイトル、著者名、出版者
などが表示されている部分をロングタップしてください。




Amazon の商品ページにジャンプするには、下の左端のカートボタンをタップしてください。




直前に入力した検索キーワードから検索したい場合は、ハードキーの検索ボタンを押してください。
次のような画面になります。
ここから、入力候補を選択することで検索できます。




過去に Libraroid で検索したキーワードであれば、クイック検索ボックス(ホーム画面の検索バーのこと)にキーワードを入力したときに、Libraroid での検索が候補に出る場合があります。





- 検索条件を変える

本の検索条件を変更できます。
トップの画面で [menu] を押すと、 [Libraroidについて] と [設定]
がでるので、[設定] を押してください。



設定を押すと、次の画面になります。



検索パラメータとして、
 ・検索対象
 ・検索条件
 ・表示順
が設定できます。

検索対象は "和書" と "洋書" から選べます。



検索条件は "キーワード", "タイトル", "著者名", "出版社" から選べます。



表示順は "キーワードに関連", "売れている順", "発売日順", "アルファベット順"
から選べます。




- 検索図書館の設定

[menu] -> [設定] -> [図書館] を押すと、現在選択している図書館の
アカウントや受け取り図書館などが設定できます。



別の図書館を設定するには、ここで図書館をクリックします。
クリックすると、簡易地図が表示されます。
設定したい図書館がある地域をタップしてください。



地域をタップすると、その地域の都道府県リストが出ます。
設定したい図書館がある都道府県を選択してください。



都道府県をタップすると、その都道府県で対応している図書館のリスト
が表示されます。設定した図書館をタップしてください。




v2.5.42 から2つの図書館で同時検索できるようになりました。
注:この機能を使うと図書館2つ分を検索するので、あたりまえですが時間がかかります。(Amazonの検索にかかる時間はかわりません)

図書館2も同時に検索 にチェックをいれると、図書館2の設定が有効になります。
設定方法は1つ目の図書館と同じです。





- アプリの設定

・コミックを検索対称からはずす
・設定から図書館を変更して、メインページに戻ったときに自動で再検索する
・予約メッセージ完了のメッセージをダイアログで確認する
・レビューを表示する

かどうかが設定できます。
設定は [menu] -> [設定] -> 各設定 checkbox から行えます。






- 本の予約

本を予約するには、図書館のオンライン予約アカウントが必要になります。
またこのアプリで予約した本の状況は各図書館のホームページで
確認できます。

アカウントは [menu] -> [設定] -> [図書館] から設定できます。
カード番号・パスワード・受取希望館・連絡方法 など
を設定してください。




検索した本が図書館にある場合、図書館の検索結果の右端に、ボタンが表示されるようになります。
このボタンをクリックすると予約確認ダイアログが表示されます。
カード番号と受取図書館を確認して予約ボタンを押してください。




- MyBookList

MyBookListに本を記録しておいて、そのリストから図書館検索ができます。

MyBookListに本を追加するには、下の右端のプラスマークのボタンをクリックしてください。



MyBookListを表示するには、下の右から2番目の本マークボタンをクリックしてください。

MyBookList は次のようなリストで表示されます。



リストを長押しすると、次のようにアクションメニューが表示されます。



図書館検索を押すと、蔵書検索ができます。


- バーコードから検索

バーコードリーダーがインストールされている場合、
右上(検索ボタンの左側)にバーコードボタンが表示されます。

このボタンをクリックすると、バーコードリーダーが起動するので、
書籍の背面のバーコードを読み込んでください。
読み込んだISBNから図書館検索が実行されます。

- 図書館の所蔵情報を送る

左下の吹き出しボタンをクリックすると、所蔵情報をどのアプリに送るか
の選択画面がでます。
(対応できるアプリが1つしかない場合は選択画面はでません)
送りたいアプリをクリックしてください。





対応図書館マップ

より大きな地図で Libraroid対応図書館マップ を表示

-----

エラーのご報告やご要望は
[email protected]
までお願いします。

もっともっと改善していきたいと思ってます。
今後ともよろしくお願いします。

Androidアプリ Libraroid - 図書館予約 - アップデート情報

-アップデート

・v2.5.42

 ・検索ボックスから検索したときにソフトキーボードが消えるように修正

 ・2つまで図書館を同時検索可能になりました。
  設定から「図書館2も同時に検索」にチェックをいれて図書館2を設定してください。

 ・レイアウトの変更

 ・Quick Search Box で検索できるように改良 

 ・ACTION_SEARCH の検索で過去の入力が候補として出るように改良


・v1.5.42
 ・対応図書館の追加
  ・東京都
   ・品川区立図書館
  ・秋田県
   ・秋田市立図書館
 ・調布市立図書館の予約完了メッセージの表示バグを修正

 ・バグ修正

 ・横浜図書館に接続できない問題を解消しました

 ・ネット接続の問題で検索に失敗した場合、そのことを表示するように変更(いままでは一致する本がないと表示されていた)

 ・ACTION_SEARCH に対応するように改良


・v1.4.40
 ・対応図書館の追加
  ・東京都
   ・三鷹市立図書館
   ・調布市立図書館
  ・神奈川県
   ・逗子市立図書館
   ・二宮町立図書館
  ・埼玉県
   ・新座市立図書館
  ・徳島県
   ・松茂町立図書館


・v1.3.35
  ・対応図書館の追加
    ・川口市立図書館
  ・小平市立図書館の予約時のメッセージのバグを修正
  ・世田谷区立図書館の予約できないバグを修正
  ・御前崎市立図書館の予約できないかもしれないバグを修正
  ・富士吉田市立図書館の予約できないかもしれないバグを修正
  ・西東京市立図書館の予約できないかもしれないバグを修正
  ・既にMyBookListにある本はMyBookListに追加できない&メッセージを表示
  ・コミックを検索対象外にするかどうか選択できる設定を追加
  ・図書館を変更した場合に、自動で再検索するかどうか選択できる設定を追加
  ・予約したときのメッセージをToastで表示かDialogで表示かを選択できる設定を追加
  ・検索する図書館を簡易地図から選択できるように変更


・v1.2.33
  ・検索条件をタイトルバーの真ん中に表示
  ・テキストボックスでEnterを押すことで検索開始
  ・UIデザインの変更
  ・バーコードから本を検索
  ・図書館の蔵書情報をツイッタークライアントやメーラーに渡す

  ・対応図書館の追加
    京都市立図書館
    山口市立図書館
    新潟市立図書館
    札幌市立図書館(検索のみ)


・v1.2.29
  ・「Libraroidについて」をMenuに追加
  ・対応図書館の追加
   ・茨城県
     ・取手市立図書館
   ・埼玉県
     ・三郷市立図書館
     ・三芳町立図書館
     ・東松山市立図書館
     ・入間市立図書館
   ・山梨県
     ・富士吉田市立図書館
   ・滋賀県
     ・野洲市立図書館
   ・神奈川県
     ・藤沢市立図書館
     ・平塚市立図書館
   ・静岡県
     ・御前崎市立図書館
     ・三島市立図書館
     ・富士宮市立図書館
   ・東京都
     ・荒川区立図書館
     ・中央区立図書館
     ・豊島区立図書館
     ・墨田区立図書館
     ・小平市立図書館
     ・西東京市立図書館
     ・多摩市立図書館
   ・徳島県
     ・阿南市立図書館


・v1.2.9
  ・対応図書館の追加
   ・大田区立図書館
   ・練馬区立図書館
   ・世田谷区立図書館
   ・葛飾区立図書館
   ・武蔵野市立図書館
   ・沖縄県沖縄市立図書館
   ・沖縄県金武町立図書館
  ・バグフィックス


・v1.0.1
  ・横浜市立図書館
  ・レイアウトの変更
  ・検索対象の本の情報を全部見れる(前はランキングの10位まで)
  ・翻訳者、監修者なども表示
  ・設定画面で現在の設定値を表示


・v1.0.0
  ・川崎市立図書館対応

'},ClipboardSwf:null,Version:'1.5.1'}};dp.SyntaxHighlighter=dp.sh;dp.sh.Toolbar.Commands={ExpandSource:{label:'+ expand source',check:function(highlighter){return highlighter.collapse;},func:function(sender,highlighter) {sender.parentNode.removeChild(sender);highlighter.div.className=highlighter.div.className.replace('collapsed','');}},ViewSource:{label:'view plain',func:function(sender,highlighter) {var code=dp.sh.Utils.FixForBlogger(highlighter.originalCode).replace(/'+code+'');wnd.document.close();}},CopyToClipboard:{label:'copy to clipboard',check:function(){return window.clipboardData!=null||dp.sh.ClipboardSwf!=null;},func:function(sender,highlighter) {var code=dp.sh.Utils.FixForBlogger(highlighter.originalCode).replace(/</g,'<').replace(/>/g,'>').replace(/&/g,'&');if(window.clipboardData) {window.clipboardData.setData('text',code);} else if(dp.sh.ClipboardSwf!=null) {var flashcopier=highlighter.flashCopier;if(flashcopier==null) {flashcopier=document.createElement('div');highlighter.flashCopier=flashcopier;highlighter.div.appendChild(flashcopier);} flashcopier.innerHTML='';} alert('The code is in your clipboard now');}},PrintSource:{label:'print',func:function(sender,highlighter) {var iframe=document.createElement('IFRAME');var doc=null;iframe.style.cssText='position:absolute;width:0px;height:0px;left:-500px;top:-500px;';document.body.appendChild(iframe);doc=iframe.contentWindow.document;dp.sh.Utils.CopyStyles(doc,window.document);doc.write('

'+highlighter.div.innerHTML+'

');doc.close();iframe.contentWindow.focus();iframe.contentWindow.print();alert('Printing...');document.body.removeChild(iframe);}},About:{label:'?',func:function(highlighter) {var wnd=window.open('','_blank','dialog,width=300,height=150,scrollbars=0');var doc=wnd.document;dp.sh.Utils.CopyStyles(doc,window.document);doc.write(dp.sh.Strings.AboutDialog.replace('{V}',dp.sh.Version));doc.close();wnd.focus();}}};dp.sh.Toolbar.Create=function(highlighter) {var div=document.createElement('DIV');div.className='tools';for(var name in dp.sh.Toolbar.Commands) {var cmd=dp.sh.Toolbar.Commands[name];if(cmd.check!=null&&!cmd.check(highlighter)) continue;div.innerHTML+=''+cmd.label+'';} return div;} dp.sh.Toolbar.Command=function(name,sender) {var n=sender;while(n!=null&&n.className.indexOf('dp-highlighter')==-1) n=n.parentNode;if(n!=null) dp.sh.Toolbar.Commands[name].func(sender,n.highlighter);} dp.sh.Utils.CopyStyles=function(destDoc,sourceDoc) {var links=sourceDoc.getElementsByTagName('link');for(var i=0;i');} dp.sh.Utils.FixForBlogger=function(str) {return(dp.sh.isBloggerMode==true)?str.replace(/
|<br\s*\/?>/gi,''):str;} dp.sh.RegexLib={MultiLineCComments:new RegExp('/\\*[\\s\\S]*?\\*/','gm'),SingleLineCComments:new RegExp('//.*$','gm'),SingleLinePerlComments:new RegExp('#.*$','gm'),DoubleQuotedString:new RegExp('"(?:\\.|(\\\\\\")|[^\\""\\n])*"','g'),SingleQuotedString:new RegExp("'(?:\\.|(\\\\\\')|[^\\''\\n])*'",'g')};dp.sh.Match=function(value,index,css) {this.value=value;this.index=index;this.length=value.length;this.css=css;} dp.sh.Highlighter=function() {this.noGutter=false;this.addControls=true;this.collapse=false;this.tabsToSpaces=true;this.wrapColumn=80;this.showColumns=true;} dp.sh.Highlighter.SortCallback=function(m1,m2) {if(m1.indexm2.index) return 1;else {if(m1.lengthm2.length) return 1;} return 0;} dp.sh.Highlighter.prototype.CreateElement=function(name) {var result=document.createElement(name);result.highlighter=this;return result;} dp.sh.Highlighter.prototype.GetMatches=function(regex,css) {var index=0;var match=null;while((match=regex.exec(this.code))!=null) this.matches[this.matches.length]=new dp.sh.Match(match[0],match.index,css);} dp.sh.Highlighter.prototype.AddBit=function(str,css) {if(str==null||str.length==0) return;var span=this.CreateElement('SPAN');str=str.replace(/ /g,' ');str=str.replace(/');if(css!=null) {if((/br/gi).test(str)) {var lines=str.split(' 
');for(var i=0;ic.index)&&(match.index/gi,'\n');var lines=html.split('\n');if(this.addControls==true) this.bar.appendChild(dp.sh.Toolbar.Create(this));if(this.showColumns) {var div=this.CreateElement('div');var columns=this.CreateElement('div');var showEvery=10;var i=1;while(i<=150) {if(i%showEvery==0) {div.innerHTML+=i;i+=(i+'').length;} else {div.innerHTML+='·';i++;}} columns.className='columns';columns.appendChild(div);this.bar.appendChild(columns);} for(var i=0,lineIndex=this.firstLine;i0;i++) {if(Trim(lines[i]).length==0) continue;var matches=regex.exec(lines[i]);if(matches!=null&&matches.length>0) min=Math.min(matches[0].length,min);} if(min>0) for(var i=0;i

Blogger Syntax Highliter

Version: {V}

http://www.dreamprojections.com/syntaxhighlighter

©2004-2007 Alex Gorbatchev.

'},ClipboardSwf:null,Version:'1.5.1'}};dp.SyntaxHighlighter=dp.sh;dp.sh.Toolbar.Commands={ExpandSource:{label:'+ expand source',check:function(highlighter){return highlighter.collapse;},func:function(sender,highlighter) {sender.parentNode.removeChild(sender);highlighter.div.className=highlighter.div.className.replace('collapsed','');}},ViewSource:{label:'view plain',func:function(sender,highlighter) {var code=dp.sh.Utils.FixForBlogger(highlighter.originalCode).replace(/'+code+'');wnd.document.close();}},CopyToClipboard:{label:'copy to clipboard',check:function(){return window.clipboardData!=null||dp.sh.ClipboardSwf!=null;},func:function(sender,highlighter) {var code=dp.sh.Utils.FixForBlogger(highlighter.originalCode).replace(/</g,'<').replace(/>/g,'>').replace(/&/g,'&');if(window.clipboardData) {window.clipboardData.setData('text',code);} else if(dp.sh.ClipboardSwf!=null) {var flashcopier=highlighter.flashCopier;if(flashcopier==null) {flashcopier=document.createElement('div');highlighter.flashCopier=flashcopier;highlighter.div.appendChild(flashcopier);} flashcopier.innerHTML='';} alert('The code is in your clipboard now');}},PrintSource:{label:'print',func:function(sender,highlighter) {var iframe=document.createElement('IFRAME');var doc=null;iframe.style.cssText='position:absolute;width:0px;height:0px;left:-500px;top:-500px;';document.body.appendChild(iframe);doc=iframe.contentWindow.document;dp.sh.Utils.CopyStyles(doc,window.document);doc.write('

'+highlighter.div.innerHTML+'

');doc.close();iframe.contentWindow.focus();iframe.contentWindow.print();alert('Printing...');document.body.removeChild(iframe);}},About:{label:'?',func:function(highlighter) {var wnd=window.open('','_blank','dialog,width=300,height=150,scrollbars=0');var doc=wnd.document;dp.sh.Utils.CopyStyles(doc,window.document);doc.write(dp.sh.Strings.AboutDialog.replace('{V}',dp.sh.Version));doc.close();wnd.focus();}}};dp.sh.Toolbar.Create=function(highlighter) {var div=document.createElement('DIV');div.className='tools';for(var name in dp.sh.Toolbar.Commands) {var cmd=dp.sh.Toolbar.Commands[name];if(cmd.check!=null&&!cmd.check(highlighter)) continue;div.innerHTML+=''+cmd.label+'';} return div;} dp.sh.Toolbar.Command=function(name,sender) {var n=sender;while(n!=null&&n.className.indexOf('dp-highlighter')==-1) n=n.parentNode;if(n!=null) dp.sh.Toolbar.Commands[name].func(sender,n.highlighter);} dp.sh.Utils.CopyStyles=function(destDoc,sourceDoc) {var links=sourceDoc.getElementsByTagName('link');for(var i=0;i');} dp.sh.Utils.FixForBlogger=function(str) {return(dp.sh.isBloggerMode==true)?str.replace(/
|<br\s*\/?>/gi,'\n'):str;} dp.sh.RegexLib={MultiLineCComments:new RegExp('/\\*[\\s\\S]*?\\*/','gm'),SingleLineCComments:new RegExp('//.*$','gm'),SingleLinePerlComments:new RegExp('#.*$','gm'),DoubleQuotedString:new RegExp('"(?:\\.|(\\\\\\")|[^\\""\\n])*"','g'),SingleQuotedString:new RegExp("'(?:\\.|(\\\\\\')|[^\\''\\n])*'",'g')};dp.sh.Match=function(value,index,css) {this.value=value;this.index=index;this.length=value.length;this.css=css;} dp.sh.Highlighter=function() {this.noGutter=false;this.addControls=true;this.collapse=false;this.tabsToSpaces=true;this.wrapColumn=80;this.showColumns=true;} dp.sh.Highlighter.SortCallback=function(m1,m2) {if(m1.indexm2.index) return 1;else {if(m1.lengthm2.length) return 1;} return 0;} dp.sh.Highlighter.prototype.CreateElement=function(name) {var result=document.createElement(name);result.highlighter=this;return result;} dp.sh.Highlighter.prototype.GetMatches=function(regex,css) {var index=0;var match=null;while((match=regex.exec(this.code))!=null) this.matches[this.matches.length]=new dp.sh.Match(match[0],match.index,css);} dp.sh.Highlighter.prototype.AddBit=function(str,css) {if(str==null||str.length==0) return;var span=this.CreateElement('SPAN');str=str.replace(/ /g,' ');str=str.replace(/');if(css!=null) {if((/br/gi).test(str)) {var lines=str.split(' 
');for(var i=0;ic.index)&&(match.index/gi,'\n');var lines=html.split('\n');if(this.addControls==true) this.bar.appendChild(dp.sh.Toolbar.Create(this));if(this.showColumns) {var div=this.CreateElement('div');var columns=this.CreateElement('div');var showEvery=10;var i=1;while(i<=150) {if(i%showEvery==0) {div.innerHTML+=i;i+=(i+'').length;} else {div.innerHTML+='·';i++;}} columns.className='columns';columns.appendChild(div);this.bar.appendChild(columns);} for(var i=0,lineIndex=this.firstLine;i0;i++) {if(Trim(lines[i]).length==0) continue;var matches=regex.exec(lines[i]);if(matches!=null&&matches.length>0) min=Math.min(matches[0].length,min);} if(min>0) for(var i=0;i

ページビューの合計