Делает поддержку Android JDBC

Это не может быть прекрасно (акцент, добавленный начиная с людей, пропускающих эту правовую оговорку), но что я сделал, в этом случае ниже. Можно корректироваться к использованию с потоком.

/// <summary>
/// Removes control characters and other non-UTF-8 characters
/// </summary>
/// <param name="inString">The string to process</param>
/// <returns>A string with no control characters or entities above 0x00FD</returns>
public static string RemoveTroublesomeCharacters(string inString)
{
    if (inString == null) return null;

    StringBuilder newString = new StringBuilder();
    char ch;

    for (int i = 0; i < inString.Length; i++)
    {

        ch = inString[i];
        // remove any characters outside the valid UTF-8 range as well as all control characters
        // except tabs and new lines
        //if ((ch < 0x00FD && ch > 0x001F) || ch == '\t' || ch == '\n' || ch == '\r')
        //if using .NET version prior to 4, use above logic
        if (XmlConvert.IsXmlChar(ch)) //this method is new in .NET 4
        {
            newString.Append(ch);
        }
    }
    return newString.ToString();

}
21
задан eYe 16 March 2015 в 15:48
поделиться

3 ответа

Невозможно легко импортировать JAR-файлы, реализующие классы java. * . Кроме того, JDBC необходимо будет перенести на Android, поскольку он, вероятно, полагается на классы в JavaSE, которых нет в Android. И вам в любом случае нужно будет написать свой собственный драйвер JDBC для SQLite, обернув API, который уже предоставляет Android, поскольку я подозреваю, что существующий драйвер JDBC использует JNI. И когда все это будет сделано, у вас будет приложение, которое добавляет много лишнего, что снижает вероятность того, что люди загрузят и сохранят ваше приложение.

Короче говоря, я бы не пошел по этому пути.

17
ответ дан 29 November 2019 в 20:59
поделиться

Существует (недокументированный?) Драйвер JDBC для базы данных Android SQLite. Попробуй это: (из http://groups.google.com/group/android-developers/browse_thread/thread/cf3dea94d2f6243c )

    try {
        String db = "jdbc:sqlite:" + getFilesDir() + "/test.db";

        Class.forName("SQLite.JDBCDriver");
        Connection conn = DriverManager.getConnection(db);
        Statement stat = conn.createStatement();
        stat.executeUpdate("create table primes (number int);");
        stat.executeUpdate("insert into primes values (2);");
        stat.executeUpdate("insert into primes values (3);");
        stat.executeUpdate("insert into primes values (5);");
        stat.executeUpdate("insert into primes values (7);");

        ResultSet rs = stat.executeQuery("select * from primes");
        boolean b = rs.first();
        while (b) {
            Log.d("JDBC", "Prime=" + rs.getInt(1));
            b = rs.next();
        }

        conn.close();
    } catch (Exception e) {
        Log.e("JDBC", "Error", e);
    } 
11
ответ дан 29 November 2019 в 20:59
поделиться

драйвер JDBC недокументирован и не поддерживается. пожалуйста, не используйте этот код.

избегайте java.sql и используйте вместо него android.database.sqlite.

5
ответ дан 29 November 2019 в 20:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: