タグ

2013年2月3日のブックマーク (3件)

  • 難解なSerializableという仕様について俺が知っていること、というか俺の理解 - 都元ダイスケ IT-PRESS

    java.io.Serializable …、ある程度Javaに触れて来た人は必ず見たことがあるインターフェイスだと思う。私も何度も見てきたし、必要に迫られて自分の作ったクラスにSerializableをつけたこともある。しかし、こいつは一体何なのか? 継承の便利さ 僕らがまだJava初心者だった頃。継承というメカニズムに助けられながら育って来た。簡単に言えば、HttpServletクラスを継承しさえすれば、自分の作ったクラスがサーブレットとして認識されるのだ。また、abstractメソッドなどという便利な機能もあり、継承にあたって実装しなければいけないメソッドは確実に指示され、言われた通りにそのメソッドを実装すれば良い。 StrutsのActionも然り。そう、多くの場合は「継承さえすれば、望む物がだいたい出来上がる」というのがJavaの世界だと思っていた。 だが、世の中そんなに甘くない

    難解なSerializableという仕様について俺が知っていること、というか俺の理解 - 都元ダイスケ IT-PRESS
  • Parcelableでオブジェクトを一時的に保存する | TechBooster

    今回はParcelableインタフェースを用いて、インスタンスの状態を保存する方法を説明します。 状態の保存と言うとシリアライズを思い浮かべる方もいると思いますがシリアライズは永続化を目的としていますが、Parcelableはプロセス間通信のときなど、一時的に状態を保存したいときに利用します。 シリアライズの方法に関しては以下の記事を参考にしてください。 データを簡単に保存する方法(シリアライズ編) それでは続きでParcelableインタフェースを用いて、インスタンスの状態を保存する方法を説明します。 大まかな流れ Parcelableインターフェースを実装したクラスの作成の大まかな流れは以下の通りです。詳細は後述します。 インタフェースの抽象メソッドを実装 Parcelable.CreatorクラスをCREATORという名前でStaticフィールドに用意 状態の復元を行うコンストラクタ

  • Activityのライフサイクルを別クラスに通知する | TechBooster

    以下のサンプルコードでは各ライフサイクルで通知用メソッドを実行しています。 ActivityLifecycleCallbacksSampleActivity.java 〜省略〜 @Override protected void onDestroy() { super.onDestroy(); if(mCallbacks != null){ mCallbacks.onActivityDestroyed(this); } } @Override protected void onPause() { super.onPause(); if(mCallbacks != null){ mCallbacks.onActivityPaused(this); } } @Override protected void onResume() { super.onResume(); if(mCallbacks