サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
体力トレーニング
harukazepc.hatenablog.jp
Google検索には、豊富なオプションが存在する 普段なにげなく使っている、Googleの検索。 この検索には、多くのオプションが用意されている事をご存知ない方もいらっしゃるかもしれません。 そのオプションでは、以下のような検索が可能になります。 検索結果に含めないキーワードの指定 検索結果に含めるページの言語の指定 検索結果に含めるページの最終更新日の指定 検索結果に含めるページのサイトまたはドメインの限定 以下のURLへアクセスするか、 Google検索オプション Googleで検索後に、検索ボックス下の「設定」の「検索オプション」からどうぞ。 まずは普通に検索 たとえば、「新宿 イタリアン 評価」と検索します。(あまりいい例じゃないのですが・・・) Google検索:新宿 イタリアン 評価 トップに食べログが表示されます。 特定のサイト内だけを検索したい 「食べログの評価だけをいっぱ
Titanium製のAndroidアプリで、TableViewで頻繁に落ちる事がたまに起こります。 たとえばこんなエラー java.lang.ClassCastException: ti.modules.titanium.ui.LabelProxy cannot be cast to ti.modules.titanium.ui.ImageViewProxy at ti.modules.titanium.ui.widget.TiUIImageView.setProxy(TiUIImageView.java:202) ... 原因として、やたらTableViewRowを更新しているとか、スクロールの処理がトリガーになってるとか、いろんなのを探ってしまうけど、意外な盲点が。 TableViewRowのclassName指定によって落ちるのです。 classNameは、TableViewRow内
絶賛 Titanium2.0 & ACS 祭りの中、いろいろ乗り遅れてます・・・ (先週もmeetup参加できず、、、残念、すいません) mediba ad および nend の広告SDKをTitaniumで使うためのモジュールを作りました。 各社の提供している、Android用SDKを利用します。 現在のものは、Titanium Mobile SDK 1.7 以下のものです。 (自分の環境的に。。。追々1.8以降版も対応するつもりです。みなさんAndroid2.1は切り捨てたの?) harukazepc/TiMedibaad4Android - GitHub harukazepc/TiNend4Android - GitHub もしよろしければご利用いただき、なにかあればフィードバックいただければと思います。 これらのModuleは、各社のSDKの利用方法にそって、Titaniumからア
WebView内での遷移(ページのロードとか、リンククリックとか)のタイミングにあわせて、処理を行いたい場合があるかと思います。 その際に、WebViewでは以下の様なイベントが用意されています。 Appcelerator Developer Center - API for Titanium.UI.WebView beforeload : WebView内でページの読み込みを開始した時 load : WebView内でページの読み込みが完了した時 error : ページの読み込み中に問題が発生した時 WebViewを利用したアプリケーションの場合によくあるのが、 特定のドメイン(URL)じゃないページへ遷移する場合は、通常のブラウザアプリ(Safari等)で開く という要件です。 その際、beforeload イベントで遷移先のURLが取得できるように(ドキュメント上は?)なっています。
WebViewのUserAgentを変えたい ※さっさとやり方だけ知りたい方は、飛ばしてね WebViewにより、サーバ側に用意したサイトなどと連携するアプリを作ったりすることがあると思います。 その際に、アプリから来た時にだけ○○する、みたいなことって、必要になったりします。 その場合、カスタマイズした UserAgent でアクセスし判定することが、一番スマートな感じじゃないでしょうか。 ただ、Titanium には標準ではまだいい感じのUserAgentの変更方法がないようです。(1.8.1現在) Titaniumには、Titanium.userAgent ってのがあるのですが、これはWebViewには反映されません。 Titanium.Network.HTTPClient によるアクセスであれば、 setRequestHeader で設定可能。 ただし、リクエストを自分で制御して、
※この記事は、@astronaughtsさん企画の「Titanium Advent Calendar 2011」向けの記事です。 ※この記事は、数日前に概要を考えていたのですが、十八日目の@yagiさんの【Titanium Advent Calendar 2011:18日目】Titanium MobileでAndroidと、まさかのネタ被り・・・詳細な内容は違うので、このままいっちゃいますw 前置き(能書き) 僕はAndroidが大好きです!! Android派(?)でTitaniumな人は、珍しいんじゃないでしょうか。むしろ誰か友達になってください。 僕のような人は、 NativeなAndroid派からは、「Androidは裁量大きくてアプリの作りがいがあるなー。Titaniumなにその機能縮小版?」 iOSなTitanium派からは、「iOSアプリがjsでサクッと作れれば十分。Andr
Androidの2.2以上では、アプリ側で対処することで、SDカード等外部記憶媒体へアプリを保存・移動することができます。 App Install Location ただ、2.1以下でも動くアプリで、2.2以上ならSD移動可とする、というのは若干テクニックが必要。 この対応は、 AndroidManifest.xml 上で <manifest xmlns:android="http://schemas.android.com/apk/res/android" android:installLocation="preferExternal" ... > を指定するのだけど、さらに、 android:minSdkVersion で、実行可能なOSを指定 ビルド時のターゲットを「API Level 8」とする なぜなら、構文上 installLocation が導入されたのは、2.2(API L
GDD2011のセッションメモ。 1つめは、「Android の優れたユーザーエクスペリエンス」 by Ryosuke Matsuuchiさん。 個人的にとっても有意義なセッションでした。 AndroidアプリにおけるUI品質とUIパターン、4.0でのUIなどについて、幅広く・でもわかりやすく納得できる内容でした。 自分が日々感じている、Androidアプリらしさ、っていうものをよりわかりやすく、意図を持って紹介されていました。 # Androidアプリで戻るボタンや下タブなiPhone的UIとか、もっとむちゃくちゃな独自UIとか見ると、なんとも言えない気持ちになる派です。 特にUIクオリティ5箇条! すごいわかりやすいし、一緒に作る企画者やデザイナーにも念頭に置いて欲しいものばかり。 キレイにサンプルと併せてまとめられれば、すごいいいものになりそうだなぁ。 Android公式サイトとかで
Android2.2以上であれば、WebView内でもFlashなコンテンツが利用できます。 以下のように、WebViewの設定を実施する必要があります。 public class WebViewApl extends Activity { ... WebView wv = new WebView(this); // Flash等のプラグインを有効にする wv.getSettings().setPluginState(WebSettings.PluginState.ON); ... } ここで、たとえば HOMEボタンの押下等でアプリを中断するときに、Flash等WebViewの動作自体も止めたくなります。 たとえば、Flash内でBGM等の音声が流れているとして、backgroundに回った時には止めたい、とか。 ActivityのonPauseで、再度 setPluginState(W
Android x Flash シリーズ!(そんなにやりたくない) webviewなAndroidアプリでFlashを使っている時に、backgroundに回った時にFlashを中断(音や動画の停止)する方法 タブレット端末(というか3.xですかね)にて、WebView上でFlash(swf)を動かしたかったのですが、なんか音しか出ねー、画面は真っ黒真っ暗、みたいな現象が起きてたんです。 ブラウザだと、該当Flashは問題なく表示され実行できる。 結構根深い問題だとやだな、、、と思ってたんですが、解決できた風。 解決法:ハードウェアアクセラレーションのオプションを使う AndroidManifest.xml のorへ以下を追記 android:hardwareAccelerated="true" Android 3.x の場合は、明示しないとなのですね・・・おそろしあ 以下のサイトを参考に
昨日、「Ti.Developers.meeting Vol 0.3 in Kyoto」に参加させていただきました。 懇親会まで参加させていただき、大変濃く楽しい1日でした。 関東からでも参加して良かったです。 交流できなかった方も多く、ぜひまた機会があればと思っています。 その際に、自分の仕事でのアプリ開発事例について共有させていただきました。 本日SlideShare上にアップロードいたしました。 TitaniumでiOS/Android同時リリース:NIFTY-Serveの事例 View more presentations from Tomoya Narita 当日の各セッションのメモや感想などは近日中に。 とりあえず自分の分だけ取り急ぎ。
Titanium な人たちが黙々とコーディングする(?)、Titanium meetup Tokyo #11 へ行ってきました。 http://atnd.org/events/19245 会場は、DNPソーシャルリンク様。会場への誘導や無線LAN設定のビラ、サンドウィッチやミネラルウォーターなどなど、本当に申し訳ないくらいの手厚いセッティングです。ありがとうございます! 本日は、黙々の前にAppcelerator増井さんが、QAに回答する、という感じでした。 以下まとめ。 iPhoneアプリをTitanium mobileで開発するにあたって、TabGroup周りの修飾を行うにはどのように行うのが一番スマートなのでしょうか。 bit.ly/titabbar2 をご参照ください。 皆さんviewの実装ツールとか、デザイナーとプログラマーの分業をどうしているのか、ベストプラクティスを知りたいで
タイトルの通りですが、TitaniumのAdMakerモジュールを作ってみました。 AdMakerの提供している、Android用SDKを利用します。 (というか、そういう外部提供SDKを組み込んだ、Tiモジュールを作るのを試したかった、という裏目的) harukazepc/TiAdMaker4Android - GitHub (動作確認:2011/8/15時点, AdMakerSDK1.1) もしよろしければご利用いただき、なにかあればフィードバックいただければと思います。 簡単な利用方法 モジュールの設定 モジュール一式をダウンロードする 上記のgithubのDownloadsから、一式をダウンロード dist/modules/android/tv.harukaze.ti.admaker.android/0.1/lib を作成 AdMakerのSDKを配置する AdMakerの配信者向
という問題。微妙にはまる。 Default@2x.png を add しようとすると、 % svn add Default@2x.png svn: warning: 'Default@' not foundそんなファイルは確かにない・・・そういう解釈か。 どうやら、@(アットマーク、atmark)を含む場合は、最後に@を付けると良いらしい。 % svn add Default@2x.png@ A (bin) Default@2x.png参照元はこちら。
アプリをリリースした後、それを多くの人に知ってもらわないと、DL/利用してもらえないですよね。 (AndroidMarketは、結構 検索してDLされる印象・実績もありますが・・・) そんなとき、これまで一番見返りの大きかったのは、レビューサイトでの掲載です。 レビューサイトを見てる人、レビューサイトのtwitterアカウントをフォローしている人、そのRTを見ている人、と広がり、掲載日にはDL数がかなり違います。 というわけで、iPhone/Androidのレビューサイトをば。 個人的効果の評価もあります。 レビューには以下の種類があります。 依頼:運営者からのレビューを依頼するタイプ 寄稿:自ら アプリ内容について説明したものを寄稿するタイプ リリース:プレスリリースを受け付けるタイプ 個人的に意外だったのは、寄稿タイプ(開発者自ら説明)でもユーザの反応は良好だったりします。 Andro
iPhoneのディスプレイサイズは現在、320x480と640x960(Retina Display)の2種類が存在します。 で、Titaniumで実装するときに、Retina用の高解像度画像を反映させるのは、 ROOT/Resources/images/aiueo.png ROOT/Resources/images/aiueo@2x.png のように、「通常ディスプレイ@2x.拡張子」として配置します。 実際のjs内での呼び方としては「@2x」を意識せずに、 Ti.UI.createImageView({image:'images/aiueo.png'}); のように呼び出すことで、ディスプレイサイズに応じて出し分けをしてくれます。 ただし、上記2つのファイルのwidth/heightは、正しく縦横比2倍になっていないと、Retina用の画像の比率が狂ってしまうようで注意が必要です。
http://developer.appcelerator.com/question/46261/tableview-setonitemlongclicklistener-android と同等の要件です。(元記事は解決していないですが、、、) こんなテーブルを作ったとします。 var tableView = Ti.UI.createTableView(); var tableRow1 = Titanium.UI.createTableViewRow(); var tableRow1Label = Titanium.UI.createLabel({text:"label1"}); tableRow1.add(tableRow1Label); var tableRow2 = Titanium.UI.createTableViewRow(); var tableRow2Label = Tita
アプリの背景画像を用意して、それを画面サイズに合わせるのではなく、 オリジナルサイズのまま(拡大・縮小なし) 中央寄せ はみ出る部分は無視 した状態でおきたい。 普通にlayout.xml等でlayoutに背景画像指定すると、画面サイズに縮小/拡大されてしまう。 Drawable Resources | Android Developersによると、 XML Bitmap An XML bitmap is a resource defined in XML that points to a bitmap file. The effect is an alias for a raw bitmap file. The XML can specify additional properties for the bitmap such as dithering and tiling. で出来るっぽ
最近はandroidな実装をやってます。 で、ListViewをよく使うのですが、結構くせがあるので備忘録。 すべてlayoutで対応する前提です。 クロール時に上下の境目にでる影を消したい 個人的にはそこまで気になってないのですが、スクロールさせると上下が白く潜り込むようになって影ができるんです。 ただ、横の人やデザイナーにも言われて対応しました。実際に無くすと、結構いい感じ! android:fadingEdge="none" 区切り線を変えたい 区切り線に色付けたり、2色な線を引いたりしたい時。 android:divider="[color|reference]" android:dividerHeight="[dimension]" 画像も可能なので、1x2 な画像作って、影付き線を作って上記指定、とかもできます。 タッチスライドしたときに、真っ黒になる これもよくある。各所で対
javaでmd5を実装していたのだけど、他の言語で出来たmd5値と違うことがあり。 日本語入ると違う値になる状況。 @IT:Java TIPS -- Javaでダイジェストを生成するをそのまま利用させてもらっていた。が、うまくいかずなんでだろうと。。。 原因は、String.getBytes()でした。 Stringのjavadocによると、引数を与えないと「プラットフォームのデフォルト文字セットを使用」するとのこと・・・ 変換対象はwindows-31jな文字列なんだけど、別の文字セットでやろうとしてしまったらしい。 md.digest(str.getBytes()); を md.digest(srt.getBytes("Windows-31j")); と、charsetNameを明示する事で同じになりました。。。よかったよ。java脳になりきれてないな。 全体としては以下な感じ。dig
福岡に出張してきました。福岡Rubyビジネス拠点推進会議(F-Ruby)総会と、F-Ruby&RBC合同イベント「フクオカRubyDays」Vol.1 への参加です。 最初に、参加した感想を言うと、「フクオカに来てよかったよ!」 特にいわゆるユーザ企業や自社サービス開発者などとしては。JRubyの適用事例や楽天の取り組みのオーバービュー(これまでの楽天の発表で一番わかりやすかったです)、カカクコムのRuby導入についての詳細(体制やつまづいた点など)とか、これはちょっとここだけの話だったらもったいない、と、ここに書き記す感じです。 総会議事など F-Rubyの概要/取り組みはこちらから。以下メモ。予算面など、本気度がすごい。 目標 福岡をRuby世界No.1拠点に 課題 技術者育成 今後 福岡ニューディール17施策中の1つとして採択 取り組み フクオカRuby大賞(初年度7カ国20件、国内
puttygenで生成した鍵を利用し、puttyを使ってsshログインしていた。 でその鍵を使って、poderosaやらMacのターミナル(iTerm)とかでログインしようとするとエラーになるわけです。 で、ちゃんとわかってないですが対処法。 putty → poderosa puttygenでputty鍵読み込み→変換→ssh.com形式へ変換。この鍵を設定する。 putty → Mac(iTermとか) puttygenでputty鍵読み込み→変換→OpenSSH形式へ変換。この鍵を設定する。 ~/.ssh/id_rsaとかid_dsaとか。 どうやら puttygen:SSH2互換 poderosa:SECSH互換 Mac=OpenSSH:OpenSSH互換 ということで、まったく別の形式の鍵フォーマットらしいです。
よく考えがちなのは、 広告配信側のサーバのレスポンスが悪い・遅い だけど、結構html上の問題もある。 特にIEの場合。 自分で今回体験したのは、 adsenseから先が出ない adsenseの表示箇所(google_ad_request_done())は外部js化 それを直接html上に記述すると早い というもの。IEの場合のみ顕著。 で、よくよく解析すると、adsense前に画像を大量に呼び出していて、そこが原因。 しかも、ページングして表示可能みたいな画像一覧表示とか。 dhtml的に書くと、IEはいったん非表示の画像も取得している模様。 で、IEの接続MAXに達して、遅延。 画像のあとにあるadsenseの外部jsファイルを取りにいくのも遅れる、という流れ。 adsenseの外部jsを直接htmlに書けば、当然最初に読まれるhtml内のためレスポンスの待ち行列に並ばずにいける、と。
RMagickでの画像加工で、 固定サイズのサムネイルを作る でも、単純に指定サイズへのリサイズ/縮小では、画像が歪むのでやだ 縦横どちらかに縮尺比をあわせ、画像自体の縦横比は変えずに、真ん中を切り取る ということがしたい時です。 結論:crop_resized! (たぶん) http://studio.imagemagick.org/RMagick/doc/image1.html#crop_resized ていうか、http://studio.imagemagick.org/RMagick/doc/index.html:RMagickのユーザーズガイドの充実っぷりがやばい。 メソッド実行のサンプルも載っているので、とてもイメージしやすいです。たのしい。 Rails的に、attachment_fuとかで画像を扱ってサムネイルを生成しようとしてました。 /vender/attachment_
やたら悩んでしまいましたという恥ずかしい告白。 confirmなアクションとかで、params[:hoge]で渡ってきた更新内容を、saveせずにvalid?したいとか。そんな感じ。 正解は、 Hoge.attributes = params[:hoge] Rubyist Magazine - RubyOnRails を使ってみる 【第 3 回】 のupdate_attributes項目にたどり着いた時に、「self.attributes = attributes して save します。」と書いてあったのを見た瞬間のしょんぼり具合ったらなかったです。
このページを最初にブックマークしてみませんか?
『harukazepc’s blog』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く