如何使用Flash CS6和AS3语言将SQLite与AdobeAIR for Android连接?

如何使用Flash CS6和AS3语言将SQLite与AdobeAIR for Android连接?,android,sqlite,actionscript-3,flash,air,Android,Sqlite,Actionscript 3,Flash,Air,我正在用flash CS6为Air Android开发一个小游戏,这个游戏我正在用AS3编写的类编写面向对象的程序 我想让你帮我写一个从零开始连接到SQLite的类,请 我在谷歌上搜索过,但只有FLEX的信息或插入框架的代码(我迷路了,因为我不知道要导入哪些库),这不是我想要的 我想创建要在我的类Main中使用的连接类 我希望得到你的支持,谢谢 请原谅我说英语,但我说西班牙语。您需要“同步”或“异步”sqlite连接吗?您可以在这里看到差异:- 1.“异步”连接有一个例子:-您只需修改和删除事务

我正在用flash CS6为Air Android开发一个小游戏,这个游戏我正在用AS3编写的类编写面向对象的程序

我想让你帮我写一个从零开始连接到SQLite的类,请

我在谷歌上搜索过,但只有FLEX的信息或插入框架的代码(我迷路了,因为我不知道要导入哪些库),这不是我想要的

我想创建要在我的类Main中使用的连接类

我希望得到你的支持,谢谢


请原谅我说英语,但我说西班牙语。

您需要“同步”或“异步”sqlite连接吗?您可以在这里看到差异:-
1.“异步”连接有一个例子:-您只需修改和删除事务部分(如果您不需要它)
2. '“同步”很简单,我更喜欢这种方式

    import flash.data.SQLConnection;
import flash.filesystem.File;
import flash.data.SQLMode; //if you use SQLMode: CREATE | UPDATE | READ
import flash.data.SQLStatement;
import flash.data.SQLResult;
import flash.errors.SQLError;

public class SQLiteConn 
{
    private var dbFile:File = new File("pathtofile");
    private var conn:SQLConnection;
    private var stmt:SQLStatement;
    private var arr:Array;


    public function SQLiteConn() 
    {
    }

    //open sqlite DB    
    public function openSQLite():Boolean {
        conn = new SQLConnection;
        if (dbFile.exists) {
            try {
                conn.open(dbFile);
                return true;
            }
            catch (error:SQLError) {
                trace(error.details, error.message);
            }
        }
        return false;
    }

    //execute statement and get result/s
    public function executeStatement(stmtText:String, param1:String, param2:String):Array {
        if (conn.connected) {   
            stmt = new SQLStatement();
            stmt.sqlConnection = con;
            stmt.text = stmtText;
            stmt.parameters[0] = param1;
            stmt.parameters[1] = param2;

            try {
                stmt.execute();
                var result:SQLResult = stmt.getResult();

                if (result.data != null) {
                    var total:int = result.data.length;
                    for (var i:int = 0; i < total; i++) {
                            row = result.data[i];
                            arr.push( { id:row.tablerowID } );
                    }
                }
                else {
                    arr.push({id: -1}); //no result/s
                }
            }
            catch (error:SQLError) {
                arr.push({id: -2}); //sqlite error
            }
        }
        else {
            arr.push({id: -2}); //no connection
        }
        return arr;

    }

    //close sqliteConnection
    public function closeSQLiteConn():void {
        if (conn.connected) {
            conn.close();
        }
    }
}
导入flash.data.SQLConnection;
导入flash.filesystem.File;
导入flash.data.SQLMode//如果使用SQLMode:创建|更新|读取
导入flash.data.SQLStatement;
导入flash.data.SQLResult;
导入flash.errors.SQLError;
公共类SQLiteConn
{
private var dbFile:File=新文件(“pathtofile”);
私有var-conn:SQLConnection;
私有var stmt:SQLStatement;
私有var-arr:数组;
公共函数SQLiteConn()
{
}
//打开sqlite数据库
公共函数openSQLite():布尔值{
conn=新的SQLConnection;
if(dbFile.exists){
试一试{
conn.open(dbFile);
返回true;
}
catch(错误:SQLError){
跟踪(error.details、error.message);
}
}
返回false;
}
//执行语句并获取结果
公共函数executeStatement(stmtText:String,param1:String,param2:String):数组{
如果(连接){
stmt=newsqlstatement();
stmt.sqlConnection=con;
stmt.text=stmtText;
stmt.parameters[0]=param1;
stmt.parameters[1]=param2;
试一试{
stmt.execute();
var result:SQLResult=stmt.getResult();
如果(result.data!=null){
变量总计:int=result.data.length;
对于(变量i:int=0;i

您也可以从该类中“发送事件”-这是您的选择:)

谢谢您的回答,我打开了一个新的答案,因为我粘贴了一段代码。。。请检查。我们无法帮助您“从头开始”编写代码。见: