游戏开发游戏开发书籍汇总
1.《游戏设计的艺术》2.《游戏设计的100个原理

安卓中使用的数据库是:
SQLite(轻量级,嵌入式的数据库)
创建文件时:
1.声明文件对象,文件是不会被创建出来的。
File file = new File("文件名称");
2.写文件(文件才会被创建出来)
FileOutputStream fos = new FileOutputStream(file);
fos.write("hdahfdsaklfh".getbytes());数据库的创建流程:
1.创建一个类,继承SQLiteOpenHelper,覆写父类的方法: public class MySQLLiteOpenHelper extends SQLiteOpenHelper { public MySQLLiteOpenHelper(Context context ) { //context 上下文 //name 数据库名字 //factory 游标工程 // version 数据库版本 (int 类型,从1开始) super(context ,"person.db",null,1 ); } //onCreate 方法在数据库第一次被创建时执行,当数据库创建完毕后,就不会再执行了 //该方法适合做数据库表结构的初始化操作 //db 代表当前数据库 public void onCreate(SQLiteDatabase db) { System.out.println("--------数据库被创建了----------"); //执行sql语句 db.execSQL("creat table info (_id integer primary key autoincrement,name varchar(20),phone varchar(20) )"); } //当数据库的版本号发生升级时调用 //数据库只能升级不能降级 //db 当前数据库,oldVersion 老版本号,newVersion 新版本号 public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { System.out.println("-------数据库升级了--------"); db.execSQL("alter table info add money varchar(20)"); } }
2.创建MySQLLiteOpenHelper 对象,并执行getWritableDatabase/getReadableDatabase()方法,只是创建对象,不会创建数据库,只有执行了getWritableDatabase/getReadableDatabase()方式时才会真正创建可读、可写数据库返回的是同一个数据库的实例,区别就是:操作数据库的时候是否加锁。
注意细节:1)sqlite数据库是一个嵌入式轻量级的数据库,内部不区分数据类型的,不对数据的长度校验。2)onCreate 方法在数据库第一次被创建时执行,当数据库创建完毕后,就不会再执行了3)数据库只能升级不能降级4)数据库文件是在 /data/data/包名/databases/xxx.db5)定义为INTEGER PRIMARY KEY的字段只能存储64位整数, 当向这种字段保存除整数以外的数据时,将会产生错误
利用sqlite3工具查看数据库的内容
> sqlite3 xxx.db如果出现中文乱码 需要修改cmd的编码集:>chcp 6500165001 utf-8 ( 默认是gb2312 )