タグ

2012年11月12日のブックマーク (7件)

  • iPhoneで実装☆デザインパターン 第一回:Singletonパターン | 株式会社ブライトシステム

    2011.03.26 デバイスソリューション部 モバイルソフトウェアデザイングループの高津です。 iPhone開発を行う中でよく使うデザインパターンを紹介していきたいと思います。 実装コードはObjective-Cとなります。 今回はSingleton(シングルトン)パターンでの実装を紹介します。 ▼概要 シングルトンパターンは、あるクラスのインスタンスを生成する際に、 そのインスタンスが1つしか生成されないことを保証することができるデザインパターンです。 よって、毎回インスタンスを生成せずに、どこからでも同じ『シングルトンインスタンス』を共有することができます。 ▼使いどころ データベースやファイルシステムのアクセスオブジェクトを制限したい場合によく利用されるデザインパターンです。 私はCoreDataを使用する際によく利用しています。 また、Cocoaフレームワークの実例として、NSU

  • iPhone:画像をライブラリに保存するメソッドUIImageWriteToSavedPhotosAlbumの注意事項 | mthr Blog+

    画像(UIImage)を自分の画像ライブラリに保存するメソッドUIImageWriteToSavedPhotosAlbumを使用する場合には,注意が必要.保存が非同期処理で行われるので,呼び出し後すぐにアプリを終了すると画像は保存されない.これを防ぐためには,引数に保存完了を知らせるメソッドを与えればよい. // 完了を知らせるメソッド - (void) savingImageIsFinished:(UIImage *)_image didFinishSavingWithError:(NSError *)_error contextInfo:(void *)_contextInfo { NSLog(@"finished"); //仮にコンソールに表示する } // 保存処理を持つメソッド -(void) hogehoge { ...略... // savedImageをライブラリに保存する

  • HandlerとMessage - 別スレッドでのGUI操作 - 愚鈍人

    ProgressDialogのサンプルプログラムをながめていたら、Handlerという見なれぬクラスが使われていた。 Handlerクラスて何だろう、と思って調べてみたらすっかりはまってしまった。 他の記事もそうなのだが、今回は特にサンプルコードをもとに推察で書いている部分が多いので、誤りがあればご容赦いただきたい。 動作確認は、きちんとしているつもりであるが。 別スレッドでのGUI操作の問題点 アンドロイドでも、通常のjavaプログラムのようにThreadクラスが使える。 しかし、アンドロイドのGUIはシングルスレッドにしか対応していないため、 ウィジェット等のGUIオブジェクトを生成したスレッドとは別のスレッドから、ウィジェットに直接アクセスする事はできない。 まず次のプログラムを実行して、別スレッドから直接ウィジェットの操作を試みてみる。 このプログラムを実行してボタンを押すと、新し

    HandlerとMessage - 別スレッドでのGUI操作 - 愚鈍人
  • Android WebView を使う

    公式リファレンスはこちら "WebView | Android Developers" ・AndroidManifest.xml にパーミッションの設定を忘れずに! <uses-permission android:name="android.permission.INTERNET" /> ・onCreate でインスタンスを作る WebView webview = new WebView(this); setContentView(webview); ・layout xml で定義する setContentView(R.layout.main); webview = (WebView) findViewById(R.id.webview); main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:androi

    t-kashima
    t-kashima 2012/11/12
    webview.setWebViewClient(new WebViewClient() {});
  • rokuta96のAndroidアプリ開発 設定値の保存、取得、削除

    2行目は、ファイル編集用のオブジェクト取得です。 3行目は、int型の値を保存します。第一引数にキー(変数名)、第二引数にデータを指定します。 4行目は、String型の値を保存します。 3、4行目以外に他の型用の関数も用意されています。 5行目は、編集内容の確定です。これを呼ばない限り、実際に保存されません。 設定値の取得 SharedPreferences sp = getSharedPreferences("file_name", MODE_PRIVATE); int id = sp.getInt("id", -1); String name = sp.getString("name", ""); 1行目は、ファイルオープンのようなものです。 2行目は、int型のデータを取得します。第一引数にキー、第二引数に取得できなかった時のデフォルト値を指定します。 戻り値に指定した第一引数のキ

  • Activityにダイアログ表示機能を付加する - Kazzz's diary

    Android SDKでは、何か共通で使う機能を追加したい場合は、まずはActivityを拡張することを推奨している。 例えば日付や時間をセットする、以下のダイアログを標準的にアプリケーションに組込みたいとしよう。 日付を入力するDatePickerDialog 時間を入力するTimePickerDialog Activityには以下のイベント用メソッドがあり、ダイアログを表示する機能を簡単に組込むことができるのだ。 ダイアログを生成する protected Dialog onCreateDialog(int id) { return null; } onCreateDialogはshowDialogメソッド内部で呼ばれるが、初期の実装は空であり、idで識別できるダイアログを生成して返すことを前提にしている。 例えばidを区分として日付又は時間を入力する機能を付加することを目的として、同メ

    Activityにダイアログ表示機能を付加する - Kazzz's diary
  • 主にAndroid ダイアログ作成 onCreateDialogについて

    Androidの情報を中心に、自分の備忘録を兼ねて書いてます。プロモーション・広告・PRが含まれています。 Activity#showDialog(ID) でダイアログを呼び出した場合、すでにActivity#onCreateDialog(ID) で作成してあれば、それが呼び出される。 つまりActivity#showDialog(ID)を呼び出す度に何度もインスタンスが作成される、なんてことはない。 そのため、自分でフィールドにDialogを作成して管理するより楽だし、スマートな気がする! private Dialog dialog; public void showDialog(View view){ if(dialog == null) dialog = createDialog(); dialog.show(); } private Dialog createDialog() {