我是Libgdx的新手,我在游戏中使用数据库时遇到了麻烦.
我搜索了一个关于如何使用Libgdx使SQLite在Android和桌面应用程序上工作的教程,但我找不到一个简单的教程.
我最后一次在Android中使用数据库时,创建了一个扩展自的类SQLiteOpenHelper.
使用Libgdx有一种简单的方法吗?或者至少,有人能指点我一步一步的教程或类似的东西吗?
编辑
我忘了说我正在寻找让我管理版本的东西SQLiteOpenHelper.换句话说,当我在代码上更改我的数据库版本时,我想在apk安装上在Android中重新创建我的数据库.
解
在@42n4回答之后,我管理了如何使用SQLiteOpenHelperAndroid应用程序和JDBC桌面应用程序连接到SQLite数据库.
首先,我为桌面和Android应用程序创建了一个"通用类":
//General class that needs to be implemented on Android and Desktop Applications
public abstract class DataBase {
protected static String database_name="recycling_separation";
protected static DataBase instance = null;
protected static int version=1;
//Runs a sql query like "create".
public abstract void execute(String sql);
//Identical to execute but returns the number of rows affected (useful for updates)
public abstract int executeUpdate(String sql);
//Runs …Run Code Online (Sandbox Code Playgroud) 我想知道如何将给定的字符串转换为指定的数组:
串
all ("hi there \(option\)", (this, that), other) another
Run Code Online (Sandbox Code Playgroud)
想要的结果(数组)
[0] => all,
[1] => Array(
[0] => "hi there \(option\)",
[1] => Array(
[0] => this,
[1] => that
),
[2] => other
),
[2] => another
Run Code Online (Sandbox Code Playgroud)
这用于我在PHP上制作的一种控制台.我尝试使用preg_match_all但是,我不知道如何在括号内找到括号以"在数组中创建数组".
编辑
应将示例中未指定的所有其他字符视为String.
编辑2
我忘了提到括号外的所有参数都应该被space字符检测到.
我是Android游戏开发的新手,在我开始使用libgdx ShapeRenderer并进行了一些搜索后,如果我用右脚开始,我会感到困惑.
所以,我真正想知道的是什么时候应该使用ShapeRenderer,Mesh + SpriteBatch,Box2D和Scene2D.
在Libgdx中有一种方法可以验证Polygon和Circle之间的碰撞吗?
我看到了这个Intersector类,但只发现了Circle和Rectangle的碰撞测试.那么其他任何多边形呢?
如果我需要手动完成,使用Libgdx最好的方法是什么?
我有一个ajaxSubmit的问题...问题是,当我提交一个表单并从PHP获得一个带有window.location脚本的响应时,页面根本不会改变...
当正确提交表单时,我的PHP脚本只返回一个带有window.location的脚本,否则,它返回一个在success函数上解析的JSON.
使用Chrome的工具,我看到它在网络选项卡上加载了window.location URL,但它没有向用户显示...
这是我的代码:
$("form").submit(function(e) {
e.preventDefault();
$("form").ajaxSubmit({
success: function(resp){
try{
resp=JSON.parse(resp);
alert(resp["error"]);
} catch(e){
$("<div></div>").html(resp);
}
}
});
return false;
});
Run Code Online (Sandbox Code Playgroud)
如何使其工作?AjaxSubmit的options参数是否有任何属性可以解决这个问题?
我想知道如何ImageView使用固定的宽度和高度来裁剪具有缩放背景图像的图像parent.
基本上,我想要使用缩放图像ImageView android:background,然后我想裁剪图像中父节点边界之外的部分.
到现在为止,我有这个代码:
<RelativeLayout android:id="@+id/time_foregrd"
android:layout_width="57px"
android:layout_height="100px"
android:layout_marginLeft="100px"
android:layout_marginTop="285px"
android:clipChildren="true"
>
<ImageView android:layout_width="57px"
android:layout_height="338px"
android:minWidth="57px"
android:minHeight="338px"
android:background="@drawable/time_foreground"
/>
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
但它不起作用......我做错了什么?
我想知道jCryption + Challenge Response身份验证机制是否是SSL的一个很好的替代方案.
我知道SSL非常好,但我正在制作一个项目,业主不想购买SSL证书,我想找到一个解决方案,提供最好的安全方法,可以在不使用的情况下获得SSL
有任何想法吗?
我有一个使用相同属性的常量对象数组。像这样的东西:
const allData = [{
name: 'info', content: Info
},{
name: 'other', content: Other
},{
...
}];
Run Code Online (Sandbox Code Playgroud)
现在我想创建一个变量,在运行其他一些代码后,该变量会将它们映射到一个对象中,其中键是name属性的字符串,值是content属性的实例。鉴于此,我想知道如何在 Typescript 中定义这样一个类型,它基本上会从我的常量中提取这些属性,最终会变成这样:
Type ContentInstances = {
info: Info,
other: Other
...
}
Run Code Online (Sandbox Code Playgroud)
有没有这样的方法使用 typeof 和 Typescript 上的其他东西来基于allData常量动态实现这一点?
编辑 基本上在稍后阶段,我会有这样的事情:
let myVar: ContentInstances;
...
myVar = allData.reduce((obj, value) => {
obj[value.name] = new value.content(customParam);
return obj;
}, {})
Run Code Online (Sandbox Code Playgroud)