为什么该应用程序可以在API 19上运行,但不能在API 26上运行?目标API 28

时间:2018-10-24 20:29:15

标签: java android android-studio android-sdcard

为什么该应用程序可以在API 19上运行,但不能在API 26上运行?目标API 28

Logcat:

func insererPersonne(nom xNom : String, prenom xPrenom : String, age xAge : String, db : OpaquePointer) {

    if xNom.count < 4, xPrenom.count < 4,
        xAge.count < 1, xAge.count > 3 {
        return
    }

    var stmt: OpaquePointer?

    let queryString = "INSERT INTO Personne (nom, prenom, age) VALUES (?, ?, ?);"
    //let queryString = "INSERT INTO Personne (nom, prenom, age) VALUES ('Perrin', 'Dave', 33);"

    if sqlite3_prepare_v2(db, queryString, -1, &stmt, nil) != SQLITE_OK{
        let errmsg = String(cString: sqlite3_errmsg(db)!)
        print("Erreur lors de la preparation du insert : \(errmsg)")
        return
    }

    if sqlite3_bind_text(stmt, 1, xNom.cString(using: String.Encoding.utf8), -1, nil) != SQLITE_OK{
        let errmsg = String(cString: sqlite3_errmsg(db)!)
        print("Erreur lors de la creation du nom : \(errmsg)")
        return
    }

    if sqlite3_bind_text(stmt, 2, xPrenom.cString(using: String.Encoding.utf8), -1, nil) != SQLITE_OK{
        let errmsg = String(cString: sqlite3_errmsg(db)!)
        print("Erreur lors de la creation du prenom : \(errmsg)")
        return
    }

    if sqlite3_bind_int(stmt, 3, (xAge as NSString).intValue) != SQLITE_OK{
        let errmsg = String(cString: sqlite3_errmsg(db)!)
        print("Erreur lors de la creation de l'âge : \(errmsg)")
        return
    }

    if sqlite3_step(stmt) != SQLITE_DONE {
        let errmsg = String(cString: sqlite3_errmsg(db)!)
        print("Erreur lors de l'insertion de la nouvelle personne : \(errmsg)")
        return
    }

    sqlite3_finalize(stmt)
}

1 个答案:

答案 0 :(得分:0)

您是否在应用中使用过图片?错误是在设备或仿真器上没有足够的内存时会占用大量内存吗?要解决图像问题,请压缩图像大小,然后使用它。它将起作用