2012-01-01から1年間の記事一覧

PDFページ分割するサービス

ページ数の多いPDFファイルを分割したい時、以下サイトを使うと便利。 http://foxyutils.com/splitpdf/ 長い曲の譜面をネットプリントで印刷しようとするとサイズ制限があったりするので これを利用して分割したりする。 このシリーズ、マージやパスワー…

MsMpEng.exe が鬱陶しい

PC(WinXP)の動作が重くタスクマネージャを見ると MsMpEng.exe なるものが 結構 CPUを占有している。 これは何かというと、Microsoft Security Essentials の中のスパイウェア対策の プログラム、仕事中は鬱陶しい。 タスクマネージャでプロセス終了させ…

TabActivity の getCurrentActivity() は便利

TabActivity の getCurrentActivity() は、現在表示中のタブの Activity を返してくれる。 これは、とても便利で、PopUpMenu などの、TabActivity で管理するアクションから、 表示中のタブの Activity が何であれ、任意のタブを表示させてタブの中の Activi…

onPrepareOptionsMenu を使う

MENUキーを押させるアプリは少なくなってきたが、やはり便利なキーだと思う。 onCreateOptionsMenu でメニューを作ってしまうと、Activity の状態によってメニュー項目を 変えるなんてことができない。 それでも、Activity の状態によってメニュー項目を変更…

Safari localhost:9999 で見るために

iOS エミュレータで UIWebView のページ表示状況、HTMLソース参照など、 Safari で http://localhost:9999 で見るためには、 以下が必要 -(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { […

iOS6 からの UIAlertView

iOS5.1 まで、Notification を受けとって UIAlertView を表示させていた以下のようなコードが、 iOS6 から、EXC_BAD_ACCESS として落ちてしまう。 UIAlertView* dialog = [[UIAlertView alloc] initWithTitle:nil message:localString(@"msg_UnsupportFile")…

Handler を使ってエクスプローラを作る

端末内のファイル、フォルダを探索するアプリを作る時、Handler を使えば、 Activity 1つで構成できる。 こんな画面を作るケース、 まずは、XMLレイアウト、

NSURL で NSInvalidArgumentException !?

UIWebView の shouldStartLoadWithRequest の中で、要求されたURLでなくて他の URL をロードさせる場合、 -[NSURL length]: unrecognized selector sent to instance というエラーで失敗することがある。 例)以下のように何も問題なさそうな URLを編集して…

入力ダイアログ表示をループさせる

テキスト入力のあるダイアログを表示して任意に判定した結果、不正な入力なら再表示するように、 ループを実行する方法は、android.os.Handler を利用すると簡単に書ける。 以下、メールアドレス入力させるサンプルで、正しく入力しないと、キャンセルしない…

再表示確認ありのダイアログ

「今後表示しない」などチェックボックスのある確認のダイアログを表示して、 アプリで任意にリセットする処理が実行されなければ、表示しないようにするケース。 以下のようなダイアログのケース この表示/非表示の制御は、XMLに定義しない Preference を…

iOS で PDFを作成するには

iOS で PDFを作成するには、CoreText.framework を使えば良い。 使用する箇所で、 #import <CoreText/CoreText.h> を挿入 以下が参考になる。 http://www.raywenderlich.com/6581/how-to-create-a-pdf-with-quartz-2d-in-ios-5-tutorial-part-1</coretext/coretext.h>

Spinner の setAdapter で、BaseAdapter を指定する

Android Spinner を使い方としてよく紹介されているのは、ArrayAdapter<String> を使った例である。 確かにシンプルで理解しやすいサンプルになるのだが、実用ではどうだろうか? 例えば、任意のオブジェクト、以下のような オブジェクトのリストを Spinner で選択す</string>…

パスワード更新を DialogPreference 継承で書く

パスワード更新を行う 以下のような、Preference 画面を用意したくなって、 使い回せればと思い、DialogPreference 継承を書きました。 以下、ソースコードです。誤り入力や未入力で再表示するようにしてます。 package sample.setting; import android.cont…

タブ内のActivity遷移で3Dアニメーション

1年以上前に紹介された3Dアニメーションの Activity画面切り替えを タブ画面内(TabHost)で Activity を切り替えるケースに適用してみた。 http://blog.robert-heim.de/karriere/android-startactivity-rotate-3d-animation-activityswitcher/ で紹介され…

Tab内で、Activity 遷移の構成には注意

同じタブ画面(TabWidget)内で、複数 Activity を切り替える為に、ActivityGroup を 使用する方法があるが、気をつけないとレイアウトで困ったことになる。 例として、、、 ActivityGroup で、切替え対象の Activity を表示させる コンテナのレイアウトを用…

sl4j - logback を Maven で持ってくる

sl4j - logback を Maven で持ってくる時の pom.xml の記述 <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7</version> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-core</artifactId> <version>1.0.7</version> </dependency> <dependency> </dependency>

Tab内の Activity 切り替えは、ActivityGroup で

Tab内の Activity を切り替える方法に、TabHost が、TabSpec を内部で java.util.List で管理しているのを リフレクションを屈指して切り替えるなんて、方法は、ダメである。 OSのバージョンが上がって中のTabHost 内のコードが変わったらNGだし、一見、…

暗号化実行前にサイズを計算したいのだけど。。。

暗号化して結果を書きだす前にサイズを計算しておきたいことがある。 時間がかかっても一旦、暗号化実行をするしかないのか。。。 public final class Criptor{ private Key secretKey; private AlgorithmParameterSpec ivParamSpec; public Criptor(byte sa…

Android の WebView で、SIGNAL 11 が発生する

Android の WebView アプリを作っていてどうにも判らない、シグナル 11 を受けて落ちてしまう 現象がある。 Android 4.0,4 で発生している。WebView でちょっと重めのSSL通信のページを開いていて、 いきなり、SIGNAL 11 が発生!! なぜ、そんなメモリアク…

Activity 起動時、キーボードを表示させない。

onCreate で、setContentView の前に SOFT_INPUT_STATE_ALWAYS_HIDDEN セットして実行して表示させない getWindow().setSoftInputMode( android.view.WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN ); setContentView(R.layout.entrance); さ…

Safari のインストール済みプラグインの確認

Safariのプラグインインストール済みを確認するには、 以下に、ブラウザでアクセスすると一覧が表示できる file:///Applications/Safari.app/Contents/Resources/Japanese.lproj/Plug-ins.html

JavaScript alert のオーバーライドは、注意

JavaScript alert のオーバーライドを実行すると、 alert の後に、document の form 、 submit を実行を書いても、 alert よりも、submit が先に動いてしまう。つまり非同期になってる。 少なくとも、iOS の UIWebView はそうであった。 コンテンツ側構築に…

スクリーンロック解除を検知するには、

Android スクリーンロック解除を検知するには、 android.intent.action.USER_PRESENT を BroadcastReceiver で受信する手段がある! IntentFilter filter = new IntentFilter( "android.intent.action.USER_PRESENT" );

iOS NTLM認証を組み込む

BASIC認証、SSL認証も合わせて NTLM認証も対応しようとすると、 かなり長いコードが必要なる。 準備として、NSURLAuthenticationChallenge を一時保存できるようにしておくことで OSによる呼ばれるメソッドの差を吸収させる。 @property (nonatomic, retai…

タブ切り替えの履歴を辿る

タブを表現する TabActivity で、BACKキーの動作が、タブを切り替えた履歴に従うように するには、TabHost の setOnTabChangedListener でタブ切り替えの情況を Stack 等に積み上げて onKeyDown ではなくて、dispatchKeyEvent で KeyEvent.KEYCODE_BACK を拾…

InputFilter で Toast 表示

EditText に、InputFilter を指定して制限以外の文字入力で Toast を出す方法を考えたが、 以下のように単純に出す方法はダメだった。 EditText editText = (EditText)findViewById(R.id.editText); editText.setFilters(new InputFilter{new InputFilter(){…

NEXUS 7 の USBドライバインストールは、、、

NEXUS 7 の USBドライバは以下サポートページでダウンロードできるけど、 http://www.asus.co.jp/Tablet/Nexus/Nexus_7/#download Android SDK のファイルを編集する手段もある。 %android-sdkインストールフォルダ%\extras\google\usb_driver このフォルダ…

iOS 6 でフォーム再送信がされない!

iOS 5 で可能だった、UIWebView の -(void)goBack の動きが iOS 6 では違う。 フォーム送信でページ遷移後に goBack した時、 iOS 5 では、フォーム再送信が実行されていたが、、 iOS 6 では、フォーム再送信が実行されないことがある。

InputFilter の例

EditText 入力を InputFilter で制限するメモです。 import android.text.InputFilter; import android.text.Spanned; /** * 英数字フィルタ */ public final class AlphaNumericFilter implements InputFilter{ @Override public CharSequence filter(CharS…

ListView の選択色や文字色のメモ(2)

ListView の選択色や文字色のメモ(1) の続き、、 ポイントは、TextView に、ColorStateList を指定して、 更に View に、setOnTouchListener で、タッチして離れりたり、 なぞった時に文字列の色を戻す処理を入れる。 前回のメモ(1)と比べてかなり長い…