以下の内容はhttps://anton0825.hatenablog.com/entry/2015/05/18/000000より取得しました。


CookieをSerializeする/SerializableなObjectをStringに変換する

Cookieを永続化することになったので調べた。android-async-httpのPersistentCookieStoreを使うと簡単に永続化できそうだけど、そのためにライブラリをインストールするのはイヤだったので自作しました。

CookieクラスはSerializableを継承していないので、Serializeするには別のクラスにデータを詰め替える必要がある。 以下のSerializableCookie.javaを使うのが楽でした。

android-async-http/SerializableCookie.java at master · loopj/android-async-http · GitHub

SerializableなObjectをStringに変換するには、以下のメソッドを使う。JDKにこういうメソッドないのかな。。

/** Read the object from Base64 string. */

private static Object fromString( String s ) throws IOException , ClassNotFoundException { byte [] data = Base64.getDecoder().decode( s ); ObjectInputStream ois = new ObjectInputStream( new ByteArrayInputStream( data ) ); Object o = ois.readObject(); ois.close(); return o; }

/** Write the object to a Base64 string. */
private static String toString( Serializable o ) throws IOException {
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    ObjectOutputStream oos = new ObjectOutputStream( baos );
    oos.writeObject( o );
    oos.close();
    return Base64.getEncoder().encodeToString(baos.toByteArray()); 
}

これで無事オブジェクトをDBに保存したり復元したり出来るようになった。

参考:




以上の内容はhttps://anton0825.hatenablog.com/entry/2015/05/18/000000より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14