小编sem*_*han的帖子

Android正确清理/处置

有没有办法"清理"您创建的对象和其他变量?或者他们是自动处理还是我错了这整个概念?这样做的正确方法是什么?我试图尽可能地避免使用GC.

java android garbage-collection

8
推荐指数
1
解决办法
1万
查看次数

Android游戏RPG库存系统

我使用ArrayList作为我的"库存".我无法找到一种方法来添加同一项目的多个而不占用"库存"中的一个点.例如:我在我的库存中添加药水.现在我添加另一种药水,但这次不是在库存中添加另一种药水,而是应该显示我有:药水x 2,而只占用ArrayList中的一个点.我想出了一些解决方案,但我觉得它们好像是不好的做法.我尝试过的一个解决方案是将一个AMOUNT变量添加到项目本身并增加它.帮我找到更好的解决方案?

编辑:好的,请忽略上述内容.我已经得到了相当不错的答案,但让我感到惊讶的是,几乎没有关于角色扮演游戏库存系统的教程.我做了很多谷歌搜索,找不到任何好的例子/教程/源代码.如果有人能指出一些好的例子/教程/源代码(无论什么语言,但更好的java,甚至是c/c ++),我将不胜感激,谢谢.哦,还有关于这个主题的任何书籍.

java android arraylist

8
推荐指数
3
解决办法
4079
查看次数

Android弹跳球

因此,我只是想让一个球在屏幕周围反弹,这应该会因为重力而减速,并像普通球一样从墙上反射(反弹).有人可以提供一些基础知识和非常简单的实现吗?其他例子似乎有点"过头",似乎超出了我想做的事情.我试过这个:

public void updateLogic() {

    if (x < -1) {

        xPos += (-x * gravity);
    } else if (x > 1) {

        xPos -= (x * gravity);
    }
    if (y > 1) {

        yPos += (y * gravity);
    } else if (y < -1) {

        yPos -= (-y * gravity);
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我自己最接近的.顺便说一句,x和y值来自加速度计.任何帮助将不胜感激,谢谢!

java android accelerometer

4
推荐指数
1
解决办法
6668
查看次数

Android sqlite让连接打开

我创建一个SQLiteDatabase实例并以这种方式调用getReadableDatabase()getWritableDatabase()操作数据,但我从不关闭数据库db.close().不关闭它不好吗?我尝试添加db.close()到我的onStop()onDestroy()方法,但它只是强制关闭.

java database sqlite android

2
推荐指数
1
解决办法
918
查看次数

Android sqlite日志报告和db.close()

日志报告数据库或游标未关闭.我基本上有一个带有自定义surfaceview的活动,并使用处理程序报告回活动.当我收到消息时,我会显示alertdialog并更新数据库.

private Handler handler = new Handler() {
    public void handleMessage(Message msg) {
        switch(msg.what) {
        case 1:
            dh.open();
            dh.updateEvent("id", "name", "someone");
            dh.close();
            successAlert.show();
            break;
        case 2:
            failAlert.show();
            break;
        }
    }
};
Run Code Online (Sandbox Code Playgroud)

以前我没有"dh.close()",那就是当日志报告数据库/游标未关闭时.但是自从我加入之后,它需要很长时间才能完成.收到消息后,系统似乎挂起了.我做错了什么或通常需要这么长时间.我也尝试使用try块,最后关闭db.

编辑:

public class DatabaseHelper {

private Database dbHelper;
private SQLiteDatabase db;
private Context context;

public DatabaseHelper(Context context) {
    this.context = context;
    //database = new Database(context);
}

public void open() {
    dbHelper = new Database(context);
    db = dbHelper.getWritableDatabase();
}

public void close() {
    dbHelper.close();
}

public void updateEvent(int id, …
Run Code Online (Sandbox Code Playgroud)

java sqlite android

2
推荐指数
1
解决办法
4636
查看次数

来自其他活动的Android通话方法

我如何从不同的活动中调用方法?在我的主要活动中,我有一个按钮,显示一个对话框来设置游戏的难度级别.然后单击开始游戏,开始一个包含所有游戏信息视图的新活动.我需要将选择的难度级别发送到其他活动,但似乎无法弄清楚如何.

java android

1
推荐指数
2
解决办法
1万
查看次数