<commit_before># AndroidSQLiteServer - Rich IPC friendly SQLite API for Android.

AndroidSQLiteServer solves a common problem developers face when they need the
full flexibility and API simplicity of SQLiteDatabase but where it is necessary
to use a ContentProvider for multiprocess / IPC purposes.

This package provides a drop-in API replacement for SQLiteDatabase but that can
connect to a separate process to execute the database operations.  Better
still, you can even connect to Service components instead of ContentProvider's,
giving you the flexibility to have multiple instances of the same service.

Best of all, using this library does not mean you can't still provide a
traditional ContentProvider API for your component!

# Sample Usage

```java
SQLiteServerConnectionManager connMgr =
  new SQLiteServerConnectionManager(getApplicationContext());
SQLiteServerConnection conn =
  connMgr.openConnectionToContentProvider(MyContentProvider.AUTHORITY);
try {
    Cursor cursor = conn.rawQuery("SELECT foo FROM testTable", new String[] {});
    try {
        while (cursor.moveToNext()) {
            String foo = cursor.getString(0);
            System.out.println("foo=" + foo);
        }
    } finally {
        cursor.close();
    }
} finally {
    /* Closes the connection handle; not necessarily the database being
     * hosted in MyContentProvider. */
    conn.close();
}
```

# Supported Android Versions

The project goal is to support Gingerbread (API level 9) and up.  The current
state is, however, a proof of concept targeting only Jelly Bean.

# Contributing

Feel free to fork and improve.  I will do my best to respond to issues and pull requests!

# License

Apache License, Version 2.0
<commit_msg>Small update to the README.<commit_after># AndroidSQLiteServer - Rich IPC friendly SQLite API for Android.

AndroidSQLiteServer solves a common problem developers face when they need the
full flexibility and API simplicity of SQLiteDatabase but where it is necessary
to use a ContentProvider for multiprocess / IPC purposes.

This package provides a drop-in API replacement for SQLiteDatabase but that can
connect to a separate process to execute the database operations.  Better
still, you can even connect to Service components instead of ContentProvider's,
giving you the flexibility to have multiple instances of the same database
schema.

Best of all, using this library does not mean you can't still provide a
traditional ContentProvider API for your component!

# Sample Usage

```java
SQLiteServerConnectionManager connMgr =
  new SQLiteServerConnectionManager(getApplicationContext());
SQLiteServerConnection conn =
  connMgr.openConnectionToContentProvider(MyContentProvider.AUTHORITY);
try {
    Cursor cursor = conn.rawQuery("SELECT foo FROM testTable", new String[] {});
    try {
        while (cursor.moveToNext()) {
            String foo = cursor.getString(0);
            System.out.println("foo=" + foo);
        }
    } finally {
        cursor.close();
    }
} finally {
    /* Closes the connection handle; not necessarily the database being
     * hosted in MyContentProvider. */
    conn.close();
}
```

# Supported Android Versions

The project goal is to support Gingerbread (API level 9) and up.  The current
state is, however, a proof of concept targeting only Jelly Bean.

# Contributing

Feel free to fork and improve.  I will do my best to respond to issues and pull
requests!

# License

Apache License, Version 2.0

{'fraction_non_alphanumeric': 0.060736902705814624, 'fraction_numerical': 0.002302820955670697, 'mean_word_length': 3.985652797704448, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6998239', 'n_tokens_mistral': 887, 'n_tokens_neox': 862, 'n_words': 407}