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

2014年1月20日月曜日

さよなら、Indigo。こんにちわ、Kepler。

長らく苦楽を共にしてEclipse3.7 Indigoさんがおかしくなりました(ノД`)シクシク


htmlファイル全般がなぜかShift_JISを強制されるという。。。
設定から*.htmlファイルのエンコード変えてもダメ。
ぐぐって解決法っぽいもの試してもダメ。

ファイルを一つ一つ丁寧にUTF-8にしていけばいいんだけど
そんことやってらんねーーーー(゚Д゚)ゴルァ!!

Indigoさん、古いバージョンですが、個人的には非常に安定してたのです。

思えば、初めてAndroid開発をしたのがIndigoさんでした。
新幹線の中でひたすらコーディングした思い出もあります。。。

これまでJava関連の開発ではずっと一緒にいてくれました。
もはや相棒といっても過言ではない。

が、こうなってしまっては仕事が進まない(´;ω;`)ウッ…

(ノД`)シクシク

(ノД`)シクシク(ノД`)シクシク

(ノД`)シクシク(ノД`)シクシク(ノД`)シクシク

と泣いてばかりでは仕事進まないので、ここはEclipseを一新させることにしました。
とりあえず、最新の4.3、Keplerさんを召喚(DL)。

必要なプラグイン周りを入れてシステムを動かしてみました。

(・∀・)イイネ!!

噂に聞いてましたが、エディタウィンドウを別窓に出来るのが良い。
マルチディスプレイ環境には非常に助かります。

横でView系を出しておいて、メインではビジネスロジックを書く。
みたいな。

とりあえず4.3をメインで使っていこうと思います。

ちなみにノートPCに入れてるIndigoさんは快調なので、
設定ファイルを上書きすれば治るんじゃね?って思ってたり。

暇があったらやってみよう。

以上です。

2013年2月16日土曜日

Playframework使い始めました

これ

Java、Scalaで使えるRailsっぽいWebフレームワークです。
Railsっぽいってよく書かれてますが、正直Rails使ったことないのでわかりません(^_^;)

仕事でWebシステム組む機会があって、この際Railsでも触ってRuby覚えるかー。
なんて思ってましたが、いろいろな要件重なって言語はJavaを選択。

そしてJavaで組むならSAStrutsとかかなーと思ってましたが、
どうせなら新しいこと覚えようってことでPlayframeworkに出会いました。

まだ触り始めて短いですが良かった点をとりあえず。

・インストール簡単
 zipをダウンロードしてきて解凍、パス通すだけ。
 playってコマンドでプロジェクト作ったりアプリ起動したりします。

・IDEがいろいろ選べる
 エディタだけでも開発出来ますが、コマンド叩くとEclipseプロジェクトになったりします。
 僕はEclipse派なのでEclipseで開発してます。

・GET、POSTを意識しなくて良い
 いわゆるWebの基礎知識、リクエスト、レスポンスをほとんど意識せずに利用出来ます。
 
・URLルーティングが柔軟
 URLのルーティング構成を柔軟に変更できます。
 これ結構嬉しかったり。

・テンプレートエンジンがイイ
 画面はHTMLにgroovy構文を合わせたものを使いますが、これがなかなかに良い。
 かゆいところに手がとどく感じ。
 あとJavaオブジェクトの独自拡張が良いです。

・JPAが最初とっつきにくかったけど慣れてきた
 JPQLなんかが最初とっつきにくいなぁなんて思いましたが今では便利です。

・ジョブクラスがイイ
 Jobクラスを拡張することで定期的に実行するクラス作れます。
 30分毎とか。cron的に指定して使うことも出来るみたいです。

・memcashedが容易に使える
 デフォルトで設定ファイルにmemcashedの設定項目があります。
 現時点で使う予定ないですが、今後スケールするとかなったら良いですよね。

・レスポンスがいろいろな形で容易に返せる
 HTMLは当然として、XML、JSON、バイナリなどデフォルトでメソッドが容易してあります。
 スマフォと連携するAPIなんか簡単に作れますね、きっと。

という感じでまだまだ良いとこありますが、ぱっと思ったところで。
ただいろいろ苦労もしてるので、その辺は一旦リリースしたら書こうかと思います。

ということでPlayframework使ってWebシステム作ってるよーって話でした。

以上です。


2012年12月21日金曜日

UIWebViewでコピーとかのアクションポップアップ

UIWebView、簡単にサイト表示したり、ローカルHTMLファイルを
表示したり、PDF表示したりと非常に便利です。

aタグをロングタップでSafariへのリンクポップアップだったり
コピーできちゃったり、もう便利すぎ。

でも、今回はそれが邪魔なのでした。

aタグ対応は


-webkit-touch-callout:none;


をCSSに記述するだけでいけたのですが、
通常のテキストだったりをロングタップすると「コピー」、「辞書」とかの
ポップアップがまだ出てくる。。。

で追加で指定したのが、これ

-webkit-user-select:none;

これで、テキスト自体のコピーとか画像のコピーも抑制できるようです。
JavaScriptでも読み込ませることできますが、今回はCSSに記述しました。


2012年12月18日火曜日

AndroidのWebViewでおかしな挙動

AndroidのWebViewでローカルのHTMLファイルを読み込んで
アンカーに移動してたりしたら変な挙動したのでメモ。

loadURLでassets内のHTMLファイルを読み込んだ後に
JavaScriptでlocation.hashを実行してアンカーに移動してました。

4.0系では問題なかったんですが、2.3系で2度目以降の読み込みで
正常に移動しない場合が結構ありました。

2度目というのは画面をリリースした後なのでなんでじゃろ?と。

で、根本の原因はキャッシュでしたと。
WebViewコントロール単体でキャッシュ持ってるのではなく
裏のWebKitがキャッシュとかを管理してるらしくこれが悪影響になってたと。

なので、loadURLする前にキャッシュ消して対応しました。
が、

webview.getSettings().setCacheMode

でキャッシュ利用しないっていう風にしても良かったな。
と書いてて思いました。

以上です。


2012年12月5日水曜日

node.js勉強会 #0に参加してきました

node.js勉強会 #0

node.js、サーバサイドでJavaScriptが動くってものですが、
以前一度試して、こういうもんかー。。。で使い道は?
って感じだったので勉強会に参加しました。

場所は、クラウドガーデン
会社から徒歩5秒の好立地なコワーキングスペースです。

第0回ということで、各自の自己紹介と
普段の使用言語など話しながらのスタートとなりました。

主催者の野呂さんからnode.jsって?っていう軽めの話があり
あとは、Node.jsビギナーズブックを使用してのハンズオンとなりました。

インストールから始まり、HelloWorld、Webサーバと
短い時間ながら結構な内容が盛り込まれてたように思います。

正直JavaScriptは自分の中で得意言語ではない(修正とかなら雰囲気でやれる)感じだったのですが、
雰囲気でやってることとかは理解できた感じ。

個人的な感想としては「手軽だな」と思いました。
すでにモジュールが多数用意されているので、
簡単なロジックのサーバであれば用意出来る感じです。

次回は1月中旬ぐらいを予定で、DB接続周りなんかをやるらしいです。

以上です。


2012年11月29日木曜日

iOS Devアカウントを更新しました

毎年の納税義務があるiOS開発者。
納税は事前にしていたのですが証明書の更新はまだでした。

11月末でちょうど(というか今日)に証明書の期限が切れて
無事に実機転送できなくなったので証明書を更新しました。

やり方は以下のページを参考に。

iPhone用アプリ開発メモ(証明書の更新)

リンク先にある通りProvisioningFileも更新する必要あり。
ProvisioningFileをオーガナイザにぶち込んだ後、念のため
Xcodeは再起動させたほうが良いと思います。

これで向こう1年はまた自由に開発できるってもんです。

以上です。


2012年8月30日木曜日

スマートフォンテストラボみやぎに行ってきました

7月にオープンしたスマートフォンテストラボみやぎ(以下SPTみやぎ)に行って
スマフォアプリのテストをしてきました。

スマートフォンテストラボみやぎ


場所は、宮城県産業技術総合センター内にあります。
産業技術総合センターは泉にあって、今回は車で行きました。
公共の乗り物だと、地下鉄で泉中央まで行ってバスで行く事になりそうです。

予約は上記サイトから、メールか電話にて行います。
時間は、営業時間と同じ10時〜17時。
現在は無料で使用可能です。

ということで到着。
渋滞してて少し遅刻です(^_^;)

センター入り口。
右下にはデザイナーさん。



















センター名が書いてあります。



























受付で「スマフォテストセンターに来たんですが。。。」と言ったら
担当の方を呼んでいただきました。

担当の方に連れられてセンターの4階へ。
SPTみやぎに到着です。


入り口の案内。






















すでに太極拳マスターが来所されて作業されてました。


作業ブース。
これが隣にももう一つある。


















スマフォケース。
大事に収められてます。



















ケースなどの作成にも使えるように
モックも大量にあります。























僕らも持ってきたPCをセットして作業開始です( ・`Д・´)キリッ
今回は開発中のAndroidアプリのデザイン、動作テストなどを中心に行います。



作業風景。




担当者さんから注意事項をもらい一読します。
そしてテストできる端末のリストをもらいます。
このリストの作業したい端末にチェックをして担当者さんに渡すと
カゴにチェックを入れた端末を入れて持ってきてくれるシステムです。
※一度に10台程度。。。ということらしいです。

持ってきてもらった端末は電源を入れて、PCにつなぎアプリを流し込んで
ひらすらテストしていきます。

今回のアプリ、音がかなり出るので迷惑かけてすいませんでした(^_^;)
でも美声だったので邪魔ではなかったはず。。。


卓上のコンセント。
充電用にかUSBもあります。



















スマフォスタンドもあり。
ペタっとくっついて固定されます。




















こんな感じで作業。




















ご利用に当たって

こんなのもありました。
思わず自分の開発用PCの画面を拭きましたw












































ということで、予定を少し繰り上げて午後4時半ぐらいまで作業させていただきました。

結果として計45機種をテストすることが出来ました。
バグ、改善点ともに見つかったので結果には満足しています。

アンケートにも書きましたが、以下思ったこと。ずらずらっと。

・やはり場所が遠い。そして周りになにもないので車は必須かな。(お昼とか)
・遠くて山の奥だが、逆に静かでのどか。
 涼しい部屋でゆっくり作業したい場合は最適な場所かも。
・開示する情報をもっと充実させたほうが良いかも。
 Androidのバージョン、スマフォなのかタブレットなのか。
・スマフォの情報一覧をExcelのファイルでもらえるとありがたい。
・発売後にバージョンアップした端末はそれも用意してあるとありがたい。
・海外端末もあるので海外展開考えてるアプリには非常にありがたい。
 ※個人的に海外展開って大事な要素と思ってるので。
・1ブースに据え置きのWindowsPC、MacPCがあって、使用は自由なのだが
 中に開発環境が整備されてないのが残念。
 恐らくソースプログラムだけ持ってきてそのPCで開発。。。という流れを想定していると
 思われるので開発環境が整ってないとただのブラウジングマシンとなっている。
 ※WindowsにEclipseは入っていたがAndroidPluginが入ってなかった。
  AndroidSDKは入ってたけど。。。
  Macは起動しなかったが聞いた話ではなにもしてないとのこと。
・上記に付随するが、MacでiOSアプリの場合、Apple納税してあって
 開発者ライセンスが付与されてるとありがたいかも。
 普段はシミュレータでだけ開発しててSPTみやぎに行くと、実機でテスト出来る。。。
 だと付加価値あるかも。 → Appleの規約的にNGかも???
・今回は使用しなかったが、無線LANが飛んでて無料で使用可能とのこと。
・モックも豊富にあるので、アクセサリの開発などに使えそう。
 意外とモックがあれだけあるのは他にないかも。。。
・KindleFireがあったのが意外。
 初めて触って意外とサクサク動いた。
・最新機種がない。最近だとAndroid4以降の機種もたくさん出てきたので
 その辺をいろいろ揃えてほしいものです。
 スマフォタイプでICS搭載されてたのは1機種でした。
 新しい機種試せてこそのテストセンターで、そこに意義が出るのではないかと。。。
・施設内に自販機はある。が食事処はなし。近くだと隣の大学か専門学校の学食。

と思いついたことずらーっと書いてみました。
批判的部分が多いのは期待の現れということで(^_^;)

無料であれだけの機種をテストできるのは魅力ですし、宮城ではあそこだけです。
前にも書きましたが、今回のテスト結果には満足してます。

場所がまず遠いですが、東京とか遠方に行ってテストすると思えば
断然安く手軽ではないかと。。。

今回の改善点、バグを修正し9月にまた出直したいと思います。

対応していただいたSPTみやぎの方々ありがとうございました!!

左から、伊藤さん、僕、デザイナーさん、担当者さん(えびさん)




















以上です。

2012年8月22日水曜日

開発中のiOSアプリをiTunes経由でインストールする方法(その後)

開発中のiOSアプリをiTunes経由でインストールする方法



ちょっと前に上記の記事を書きました。
実はこの方法で配布したアプリ、インストールで失敗してました(^_^;)

で、解決方法。

今回本当に遠方の方にファイルを送ってやりとりしたので
結果部分は聞いた話で以下を再現しております。

(こちら)上記記事でファイルを作成し送付。
 ↓
(結果)iTunesには取り込めるけどインストール時にエラー
 ↓
(こちら)プロビジョニングファイルを配布用で構成してなかったので、
     先方のiPad UUIDもらってプロビジョニングファイルを作成し直して
     再度パッケージ作りなおして送付
 ↓
(結果)エラーは出ないけどインストールされず。。。
 ↓
(こちら)ここのページの「3. iPhone構成ユーティリティでインストール」を
     試してもらう。
 ↓
(結果)インストール出来た

キタ━━━━(゚∀゚)━━━━ッ!!

ということで、遠方の方にipaファイルを送付してインストールすることに成功しました。

ということで遠くからお仕事もらったんだけど、ソースは公開しないよ!
って時に有効な手段のお話でした。


以上です。


2012年8月9日木曜日

開発中のiOSアプリをiTunes経由でインストールする方法

前から出来ることは知ってましたが、実際にやったことなかったので
実験がてらやってみました。

参考にさせていただいたサイトは以下。

iOSアプリのAd-Hoc配布方法まとめ


ただ、Xcode4.4.1ではちょっと違ってたので
画面ハードコピー載せていきます。
※どのバージョンからこうなったのかは不明。


まず、開発中のアプリをアーカイブします。
リリースする時と手順同じですね。




















で、Organize開いてArchiveタブを開くと、アーカイブしたアプリが
表示されていると思います。
ここでブログにあった「Share」ボタンがない。。。
なので「Distribute」ボタンを押します。












真ん中の、「Save for Enterprise...」を選択して次へ。




















認証を選択して次へ。




















ipaファイルの保存先が出てくるので、「Save for Enterprise...」は
チェックせずに適当な場所に保存します。












ここらは参考ブログ通り。
iTunes開いてAppのところにさきほど保存したipaファイルを
ドラッグ&ドロップします。
すると以下のようになります。















ここまで来たらあとはiPhone繋いで、Appの設定でアプリに
チェック入れて流し込んでやるだけ。



























無事アプリが起動しました。

広末さんなのは単に好きだからです。
笑顔がステキっ!!




























これだと遠隔地にいる人にアプリを渡してテストしてもらったり
試してもらったり出来るわけです。便利です。

以上です。


2012年7月23日月曜日

cocos2dのサウンド再生時に気づいたこと

今更ですがcocos2dでサウンド再生時に気づいたことを(^_^;)

音声再生方法は以下が詳しく書いていらっしゃいます。

サウンドを再生する


で、BGM再生とEffect再生ってあるんですが、この違い。
まぁメソッドの引数とかはもちろん違いますが
iPhoneなどで音楽聴きながらcocos2dアプリを起動し
上記方法でサウンド再生するとBGMは再生されません。
※Effect再生はちゃんとされます

恐らく、今聞いてる音楽をBGM代わりに。。。
みたいな感じなんだと思います。

cocos2dの実装探っていくとそもそもの再生クラスが違うようだったので
その辺で切り替えが行われていると思われます。

実機でたまたま音楽聴きながらテストしてたら気づきました(^_^;)

以上です。


2012年7月13日金曜日

AdMobとiAdと自社広告の間で

なにがきっけかは既に忘れてしまいましたが、
今週ずっとAdMobとiAdと格闘してます。


なんでだっけ。。。(?_?)


まぁいいやってことで、AdMobとiAdのハイブリッド広告をする
カスタムビューを作成していましたがなんとなく完成しました。

※メディエーションは使ってません。
 とりあえず自力でゴリゴリやってます。


流れは以下な感じ。

・オンラインかチェック

・オンラインであればiAdを表示、表示できなけらばAdMobを表示、
 それでもダメであれば自社広告バナーを表示

・オフラインであれば自社広告バナーを表示

自社広告バナーは複数指定出来てタップすると画像毎のURLに
飛ばすことができます。

広告切り替えはアニメーションで綺麗に実装しました。


やった!出来たよ!!

って最初に書いた通りなんでこんなことやり始めたかすら怪しいので
このカスタムビューも実は使い道が決まってなかったりします(^_^;)

なのでこれを使うためのアプリを近々作ろうかと。。。

開発プロセスが逆ですがまぁそれもありってことで。

ちなみに現在開発中のゲームにも
オフライン時の処理は応用させました。

ま、結果オーライですね。

以上です。



2012年7月12日木曜日

AdMobのメディエーション機能を使ってみた

昨日、iAdとAdMobでグヌヌって記事を書いたら
TwitterでAdMobのメディエーションって機能を使うと
AdMob経由でiAdも表示できるよ!と教えていただきました。
※教えてくれた人AdMobの中の人でした(^_^;)

へー、そんな機能まーったく知りませんでした。
ってことで実装してみました。

参考にしたサイトは以下。

Ad Network Mediation - Publisher Instructions (iOS)

えぇ本家ですね。

ここを参考にしてみた結果が以下。

AdMobを表示
iAdを表示






















これAdMobのViewだけで表示されてます。

AdMobの設定は以下。











わかりやすいように半分づつの表示率を設定しています。A


AdMobとiAdで別々でViewを使うより断然簡単に実装できました。

メディエーション使うと最終的な収益ってどうなるの?とか
細かいことまでは調べてないのでその辺が課題ですかね。

以上です。


2012年7月11日水曜日

iAdとAdMobでグヌヌ

先日のエントリにあったようにiAdを触り始めました。

今開発中のアプリにはAdmobだけを実装していたのですが、
いろいろ調べてみるとiAdの方が単価が高い(けど在庫がない)とのこと。

なので、

・iAdを表示しに行く
・iAdの在庫がなければAdmobを表示する

って実装が主流(?みたいな感じなのです。

でそれを実装していたのだけど、テスト機がオフライン時に思ったこと。。。
オフラインだとiAdもAdMobも関係なく表示すらされないorz

まぁしごく当たり前のことなのですね。

今まではオフラインなんだからしょうがないじゃん。
って思ってましたがどうも気持ち悪い。。。

せっかく作ったアプリの一部が真っ暗。。。
なんか寂しい気持ちになったのです。

なので以下のように実装し直し

・オンラインかどうかチェック
オンライン→iAdを表示。在庫なければAdmob。
Admobもロードされなければ自社バナー表示。
オフライン→自社バナー表示

自社バナーはタップでSafariに飛びます。

これを今開発中のアプリに入れ込み(Admobだけ)、
iAdとAdmobのハイブリッドカスタムビューにも組み込んでます。


たぶんこれでうまくいくんじゃないかなー。


これがちゃんとできればビューを貼っつけるだけで
広告表示対応OKって感じになる予定。

大体実装終わったとこですが、まだ唐突に落ちたり
iAdとAdmobでの実装違いのところを吸収したり課題はありますね。

まぁ少しずつ育てていきます。

以上です。


2012年7月10日火曜日

iAdを触ってみた

Appleの広告表示システムのiAdを使ってみました。
使ってみたというのは大げさかもしれないけど、とりあえずの実装してみただけ。

cocos2dに追加してみた



























以下サイトを参考にしました。

iAdの実装

これだけ、iAd実装のサンプルコード!!


表示の仕方を上記サイトでみて、cocos2dにAdmobと同じような感じで
実装したのが上の画像です。
※リリースされるまではTest広告しか表示されないっぽいです。

感想としてはやはりApple謹製だけあって実装が簡単。

あと以下は個人的な備忘録。

・広告が取得できなかった場合のdelegateメソッドを実装しておかないと
 広告部分が真っ白になるのでちゃんと実装しないとリジェクトされる。
 →失敗時は画面外にオフセットするとか、削除しちゃうとか。

ADBannerViewDelegate
 →広告モーダルが閉じられた時とかのもあるよ

ということで超簡易にiAdを実装してみたってお話でした。
Admobとのハイブリッド実装した例もググるとたくさんあるので
今度はそちらをやってみる予定。

以上です。


2012年6月26日火曜日

StoryBoardのStaticCellsで高さを指定する方法

StoryBoardのStaticCellsで高さを指定する方法がわからず
ソース上でやってたのですが、見つかったのでメモがてら。







































上記の方法で各セルごとに高さ設定できました。
コードで書くのと文言変わってますが、ちらほらとそれっぽい
プロパティがあるようです。(選択可否とか)

以上です。


2012年5月16日水曜日

インスタンス=0でハマったよ

Objective-C+Cocos2dで開発しててちょっとハマったのでメモ。

画面のinit処理
スプライト生成
画面に追加

ってことしてて、別関数で上記でインスタンス化したスプライトを参照してたけど
なぜかメモリ上は開放されてて画面に反映されないよって状態でした。

原因はコード上、

スプライト=0

って書いちゃってたこと。
※本当はただの整数型の初期化処理部分

構文上のエラーにもならないし、おまけに参照カウンタが
2だったのが0になってる。。。

ちょっとしたコーディング上のケアレスミスなんだけども
すぐには発見できなかった。。。orz

これ、

インスタンス=nil

と同じ効果なんだろうか。。。
ちょっと余裕出来たら調べてみよう。




2012年5月9日水曜日

cocos2dのActionでのこと

時々は技術的なことを。。。(^_^;)

今cocos2dでゲームを作ってますが、ちょこちょことアニメーションを
作りこんでたりします。

cocos2dだとCCMoveToとかCCRotateToとかで動かすやつです。

例えば、スプライトAを動かす場合、

CCMoveToインスタンス生成
[スプライトA runAction:生成したCCMoveTo];

でやるわけです。

で、連続してやりたい場合、合成したい場合は、CCSequenceとか使うわけです。
が、最終的にはrunActionするのは1つのNodeになるわけです。

例えばスプライトAとスプライトBに対して、同時にアクションさせたいとか
スプライトA→スプライトBってシーケンシャルに呼び出したい場合もあるかと。。。

今回のアニメーションはそんなのばっかり。

で、CCCallBlockとかCCCallFuncの出番。
これでブロック構文か関数を呼び出す。

試しにブロック構文の中でアクションを書いてみましたが
エラーも出ずに実行できたみたいです。
※関数だと煩雑になるのでブロック構文使いました、今回は。

他になにか良い方法ありそうですが、ちょっと手元にある書籍には
この手の方法って書いてなかったので上記の方法で実装をしてみました。


2012年3月22日木曜日

半年間の開発実績

今月いっぱいで今の会社を退職するにあたり
開発実績をずらっと書いてみます。

藍空チャット














しりとり














笛モールス














伊達な東西線カメラ













※2人とかでのチーム開発も含みます。

下に行くに従って最近のものになります。
なので内部的に使ってるフレームワーク的なのも充実してきたという感じ。
ログ、DB、Preference周りは簡単に操作できるにしてあります。
特にDBはね、力入れました。

上記以外にあと一本受注案件でスマフォアプリを開発しました。
※加速度、ジャイロを使ったバランス系アプリ。

となると関わったのは合計5本ですかな。

裏の作り込みとかも含めるとあと1本ぐらいはありそうだけど
とりあえずそこはノーカン。

機種互換に悩まされたり、ほんと良い経験だったなぁ(白目

この経験活かして頑張っていきます。

2012年3月15日木曜日

伊達なカメラアプリをリリースしました

弊社で開発しました、「伊達な東西線カメラ」アプリをリリースしました!
私は開発を担当させていただきました。

以下リンク先よりダウンロードしてください。
※Android2.3.1以降のアプリとなります。

伊達な東西線カメラ











現在仙台市では地下鉄東西線の工事をしています。
その工事現場で伊達武将隊との合成写真を撮れるアプリとなっています。

実際は、工事現場の人の顔が中抜きとなっているので
そこに顔を合わせて写真を撮影すると、
工事現場の人の顔にあなたの顔が。。。
というものです( ̄ー ̄)ニヤリ

各駅ごとにフレームがあり、熱いメッセージが刻まれているので
いろいろなシーンで撮影してTwitter、Facebookに投稿しましょう!

よろしくお願いします!

2012年3月7日水曜日

Androidの9-patchでハマった事

Androidでは画像の伸縮に対応した9-patchという画像形式がサポートされてます。

これどんなものかというと画像に印を打っておいて
伸びる時にその場所を伸ばして他の部分を変に伸ばさないようにするもの。

こちらのサイトがわかりやすく解説されてます。
9patchを覚えよう!

で、この9patch、コードでリソースを指定する際は
NinePatchDrawrableってクラス使わないといけません。

自分はいつもどおりBitmapDrawableを生成してやってたら
9patchの画像を指定しているはずなのに伸びない。。。

なーんでっていろいろ調べてたらNinePatchDrawableというのがあると。。。

NinePatchDrawable

これ使ったら伸びました。
Drawableが親クラスだったからエラーもなにも出てなかったのですな。。。

これで一件落着と思いました。
が、使う上で?って部分が多いので今だに勉強中です(^_^;)

便利だなと思う反面、実際にゴリゴリ使うにはもう少し時間かかりそうです。