前のエントリでSyntax Highlighterのウィジェットがうまく導入できなかったと書いたが、現在使えないようになっているというより、Chrome(自分はメインで使用)やFirefoxでは導入時に色々トラブルトラブルがつきものらしい。
試しにGoogleで「blogger syntax highlighter "Add to Blogger"」で検索してみると、出るわ出るわ。
皆さん苦労してらっしゃる様子。
それでも、こちらあたりのページを見てみると、一旦blogger.htmlをダウンロードして、それをブラウザで開けばうまくいくらしい。
http://blog2.k05.biz/2011/07/bloggersyntaxhighlighter.html
http://blog.prunus.jp/2010/06/blogger-syntax-highlighter.html
何を今更ブログ
2012年7月30日月曜日
Bloggerにソースコード貼り付け
Bloggerにはもともとソースコードをちょちょいと見栄え良く貼り付けるのはあまり向いていないらしく、ソースコードを貼り付ける時に、もうちょっと見やすく出来ないかと思って調べてみたら、Syntax Highlighterというものがあった。
http://www.kuribo.info/2008/06/blogger-syntax-highlighter.html
http://yan-note.blogspot.jp/2008/12/yan-note-bloggersyntaxhighliter.html
http://www.kuribo.info/2008/06/blogger-syntax-highlighter.html
http://yan-note.blogspot.jp/2008/12/yan-note-bloggersyntaxhighliter.html
2012年7月29日日曜日
onCreateOptionsMenuとonPrepareOptionsMenuについてメモ
メニューボタンが押された時にオプションメニューを表示するには↓のような感じでonCreateOptionsMenuメソッドをオーバーライドしてメニューを読みこめばいいわけなんだが、
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater mi = getMenuInflater();
mi.inflate(R.menu.menu, menu);
// TODO 自動生成されたメソッド・スタブ
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater mi = getMenuInflater();
mi.inflate(R.menu.menu, menu);
// TODO 自動生成されたメソッド・スタブ
return super.onCreateOptionsMenu(menu);
}
ゲームなんかの場合、メニューボタンが押されたらゲームをポーズしたい、ということがある。
それならばと、onCreateOptionsMenuの中にゲームをポーズさせる処理を入れてみても一度しかポーズにならない。調べてみると、onCreateOptionsMenuはそもそも初めてメニューボタンを押した時の一度しか呼び出されないものなのだそうだ。
ならばどうするか、ということだが、onPrepareOptionsMenuというメソッドがあり、こちらはメニューボタンが押されるたびに毎回呼び出される。なので、こいつをオーバーライドしてゲームをポーズさせる処理を入れるとうまくいった。
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
//メニューボタンが押されたらゲームをポーズ状態にする
mGameView.setMode(GameView.PAUSE);
// TODO 自動生成されたメソッド・スタブ
return super.onPrepareOptionsMenu(menu);
}
今回参考にさせていただいたページはこちら。
2012年7月23日月曜日
Androidアプリ、有料版と無料版のソース共有化(だいたいまとめ)
以前からのエントリ(これとかこれとか)でも検証していた、有料版のアプリと無料版のアプリでソースを共有する手法について、手順などをあらかたまとめてみた。
使用しているEclipseはバージョン3.7.2。
まず前提として、有料版のソースがあるものとする(仮の名前としてプロジェクト名をMyApp、パッケージ名をcom.blogspot.uc1991.myappとする)。
そして、これを参照して無料版を作成するものとする(こちらはプロジェクト名をMyAppFree、パッケージ名をcom.blogspot.uc1991.myappfreeとする)。
利便性のため、有料版には無料版の処理やリソースも入れておく(プログラム上で処理を切り分けるにはgetPackageName()でパッケージ名を判定することで行う)。
使用しているEclipseはバージョン3.7.2。
まず前提として、有料版のソースがあるものとする(仮の名前としてプロジェクト名をMyApp、パッケージ名をcom.blogspot.uc1991.myappとする)。
そして、これを参照して無料版を作成するものとする(こちらはプロジェクト名をMyAppFree、パッケージ名をcom.blogspot.uc1991.myappfreeとする)。
利便性のため、有料版には無料版の処理やリソースも入れておく(プログラム上で処理を切り分けるにはgetPackageName()でパッケージ名を判定することで行う)。
2012年7月17日火曜日
Androidアプリ、有料版と無料版のソース共有化(番外編(いわゆるひとつのやっちまったよおい…(追記アリ))
前回、前々回のエントリでソースの共有化について試行錯誤していたのだけど、無料版側からの有料版のソース(srcフォルダ以下)の参照の仕方がおかしいっぽいことに気付いた。
で、一度src以下の参照を解除しようとしたのだけれど…ここで問題が起きた。
パッケージエクスプローラで無料版のsrc以下のパッケージを右クリックし、削除を選択。
確認ダイアログが出るので、一度プレビューのボタンを押してみると、「リンクが解除されるが元のファイルは残る」という旨のメッセージ。うん。
改めて確認ダイアログでOKのボタンをクリック。え…?
なんと、無料版側のsrc以下はもとより、オリジナルの有料版側のsrc以下のソースファイルまで綺麗に削除されてしまった…。
ええ~!?
しかも悪いことに、まだソースのバックアップを取っていなかった…。
もう頭の中真っ白。顔には冷や汗がダラダラ。
急遽、ファイナルデータ試供版やPC INSPECTORなどの復元ツールを導入してソースのサルベージを試みるも、雀の涙ほどしかサルベージできず。
結局ソースをまた書き直さくてはならなくなった。
やってしまってから改めて思い知らされる、バックアップの重要性…なのだった…。OTL
で、一度src以下の参照を解除しようとしたのだけれど…ここで問題が起きた。
パッケージエクスプローラで無料版のsrc以下のパッケージを右クリックし、削除を選択。
確認ダイアログが出るので、一度プレビューのボタンを押してみると、「リンクが解除されるが元のファイルは残る」という旨のメッセージ。うん。
改めて確認ダイアログでOKのボタンをクリック。え…?
なんと、無料版側のsrc以下はもとより、オリジナルの有料版側のsrc以下のソースファイルまで綺麗に削除されてしまった…。
ええ~!?
しかも悪いことに、まだソースのバックアップを取っていなかった…。
もう頭の中真っ白。顔には冷や汗がダラダラ。
急遽、ファイナルデータ試供版やPC INSPECTORなどの復元ツールを導入してソースのサルベージを試みるも、雀の涙ほどしかサルベージできず。
結局ソースをまた書き直さくてはならなくなった。
やってしまってから改めて思い知らされる、バックアップの重要性…なのだった…。OTL
2012年7月15日日曜日
Androidアプリ、有料版と無料版のソース共有化(続き)
前回のエントリで、「Rを変数に解決できません」のエラーが出てビルドが通らない件について、更に調べてみた経過。
Androidの無料アプリ・有料アプリを切り替えてビルドする方法 - eaglesakuraのメモ帳
Android プログラミング x どーもどーも - AndroidプログラミングTips
この辺りの記事を参考に、genフォルダ以下のRクラス(R.java)を元のフォルダからコピーするバッチファイルを入れてみる。
(バッチファイルを入れるとかっていうのはあまりスマートな方法ではないように思うけど)
また、初回のビルドではEclipseのメニューから「プロジェクト」→「クリーン」を実行しておくのを忘れないようにする。
(Eclipse側があずかり知らぬところでファイルの移動が発生したりすると、×マークがついたりエラーが出ることがある。そんな時にも「プロジェクト」→「クリーン」は有効。その他、プロジェクト右クリックからリフレッシュ、Eclipseのクリーン起動など。)
Androidの無料アプリ・有料アプリを切り替えてビルドする方法 - eaglesakuraのメモ帳
Android プログラミング x どーもどーも - AndroidプログラミングTips
この辺りの記事を参考に、genフォルダ以下のRクラス(R.java)を元のフォルダからコピーするバッチファイルを入れてみる。
(バッチファイルを入れるとかっていうのはあまりスマートな方法ではないように思うけど)
また、初回のビルドではEclipseのメニューから「プロジェクト」→「クリーン」を実行しておくのを忘れないようにする。
(Eclipse側があずかり知らぬところでファイルの移動が発生したりすると、×マークがついたりエラーが出ることがある。そんな時にも「プロジェクト」→「クリーン」は有効。その他、プロジェクト右クリックからリフレッシュ、Eclipseのクリーン起動など。)
2012年7月14日土曜日
Androidアプリ、有料版と無料版のソース共有化
有料版のアプリと無料版のアプリを作成するとして、ソースは有料版の方にだけ置いて、なるべく一元化するようにしたい。
ということでEclipse 3.7.2の環境で何とかできないか試している。
この辺の記事
猫と一緒に一休み eclipse で Android の有料版、無料版のパッケージを同じソースで管理
Androidの無料アプリ・有料アプリを切り替えてビルドする方法 - eaglesakuraのメモ帳
を参考にしつつ試しているのだけど。
手順としてはおおよそこんなところだと思うんだけど、TestFreeのアクティビティを作成せずにTestのアクティビティをそのままAndroidManifest.xmlに指定すると、「Rを変数に解決できません」のエラーが出てビルドが通らない。
それならということで、Testのアクティビティを継承したTestFreeActivityを作成し、AndroidManifest.xmlに指定すると、プロジェクトのエラーが無くなってビルドが通るところまでは行く。しかし実行するとアクティビティの初期化に失敗して例外になってしまう。
うーん、もうちょっと調べてみないと良くわからないな・・・。
ということでEclipse 3.7.2の環境で何とかできないか試している。
この辺の記事
猫と一緒に一休み eclipse で Android の有料版、無料版のパッケージを同じソースで管理
Androidの無料アプリ・有料アプリを切り替えてビルドする方法 - eaglesakuraのメモ帳
を参考にしつつ試しているのだけど。
- 有料版(仮にTest)が既にあって、無料版のプロジェクトをTestFreeとして作成する。
- 必要なライブラリがあればlibsに追加し、プロジェクトプロパティにも追加。
- TestFreeのresフォルダを削除し、Testのresを参照するようにする。
- TestFreeのsrcフォルダにTestのsrcフォルダの参照を追加する。
- TestFreeのプロジェクトプロパティにTestのビルドを追加する。
- TestからTestFreeにAndroidManifest.xmlをコピーしてパッケージ名などを修正する。
手順としてはおおよそこんなところだと思うんだけど、TestFreeのアクティビティを作成せずにTestのアクティビティをそのままAndroidManifest.xmlに指定すると、「Rを変数に解決できません」のエラーが出てビルドが通らない。
それならということで、Testのアクティビティを継承したTestFreeActivityを作成し、AndroidManifest.xmlに指定すると、プロジェクトのエラーが無くなってビルドが通るところまでは行く。しかし実行するとアクティビティの初期化に失敗して例外になってしまう。
うーん、もうちょっと調べてみないと良くわからないな・・・。
登録:
投稿 (Atom)