Sample code for 30+ languages & platforms
Android™

Serialize / Deserialize Hashtable to/from XML

Demonstrates how to seralize / deserialize a Hashtable to/from XML.

Note: This example requires Chilkat v9.5.0.64 or later.

Chilkat Android™ Downloads

Android™
// Important: Don't forget to include the call to System.loadLibrary
// as shown at the bottom of this code sample.
package com.test;

import android.app.Activity;
import com.chilkatsoft.*;

import android.widget.TextView;
import android.os.Bundle;

public class SimpleActivity extends Activity {

  private static final String TAG = "Chilkat";

  // Called when the activity is first created.
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    // Note: This example requires Chilkat v9.5.0.64 or later.

    // Add some entries to a hashtable.
    CkHashtable hashTab = new CkHashtable();

    hashTab.AddStr("aaa","111");
    hashTab.AddStr("bbb","222");
    hashTab.AddStr("ccc","333");

    // Serialize to XML
    CkStringBuilder sb = new CkStringBuilder();
    hashTab.ToXmlSb(sb);
    Log.i(TAG, sb.getAsString());
    Log.i(TAG, "---");

    // The output is as follows.  Each hash table entry
    // is contained in an "e" node.  The entry's key
    // is in the "k" node, and the value in the "v" node.

    // <?xml version="1.0" encoding="utf8-8"?>
    // <hashtable>
    // <e><k>aaa</k><v>111</v></e>
    // <e><k>bbb</k><v>222</v></e>
    // <e><k>ccc</k><v>333</v></e>
    // </hashtable>
    // 

    // Now load (deserialize) into a new hash table.
    CkHashtable hashTab2 = new CkHashtable();
    hashTab2.AddFromXmlSb(sb);

    // Get the hash table keys, and lookup each (to show 
    // that the hash table was correctly deserialized).
    // The GetKeys method can return the keys in any order.
    CkStringTable sTable = new CkStringTable();
    hashTab2.GetKeys(sTable);

    int i = 0;
    int numKeys = sTable.get_Count();
    while (i < numKeys) {
        String key = sTable.stringAt(i);
        Log.i(TAG, key + ": " + hashTab2.lookupStr(key));
        i = i + 1;
        }


  }

  static {
      System.loadLibrary("chilkat");

      // Note: If the incorrect library name is passed to System.loadLibrary,
      // then you will see the following error message at application startup:
      //"The application <your-application-name> has stopped unexpectedly. Please try again."
  }
}