如果记录存在否则插入如何更新sqlite表?

2024-01-06

这可能是重复的问题,但我很困惑,因为我是 sql 的新手,android 正在从服务器获取响应,如果表中的值已存在,则需要将其保存在 sqlite 数据库中更新,否则插入 il 检查任务 id,这是唯一的不知道如何为了做到这一点,我已经搜索并做了很多模式,但没有一个有效,你能帮助我吗?在这里让我发布我的代码:

这是模型类:

import java.io.Serializable;

/**
 * Created by 4264 on 02-02-2016.
 */
public class Model_Task_List implements Serializable {


    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public int id;
    public String UserName;
    public String Subject;
    public String TaskStatus;

    public int getTaskID() {
        return TaskID;
    }

    public void setTaskID(int taskID) {
        TaskID = taskID;
    }

    public int TaskID;
    public static String KEY_table="task";
    public  static String KEY_id="id";
    public  static String KEY_username="name";
    public  static String KEY_subject="subject";
    public  static String KEY_task="status";
    public static String KEY_taskid="taskid";
    public static String KEY_owner="owner";

    public String getUserid() {
        return userid;
    }

    public void setUserid(String userid) {
        this.userid = userid;
    }

    public String userid;

    public String getSubject() {
        return Subject;
    }

    public void setSubject(String subject) {
        Subject = subject;
    }

    public String getTaskStatus() {
        return TaskStatus;
    }

    public void setTaskStatus(String taskStatus) {
        TaskStatus = taskStatus;
    }

    public String getUserName() {
        return UserName;
    }

    public void setUserName(String userName) {
        UserName = userName;
    }

    public Model_Task_List(String subject, String taskStatus, String userName) {
        Subject = subject;
        TaskStatus = taskStatus;
        UserName = userName;
    }
    public Model_Task_List(){

    }
}

这是我的数据库查询:

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

import java.util.ArrayList;
import java.util.List;


    public class Database_SF_APP  extends SQLiteOpenHelper {
    Context context;
    private static final int DATABASE_VERSION = 4;
    private static final String DATABASE_NAME = "crud.db";

    public Database_SF_APP(Context context ) {

        super(context, DATABASE_NAME, null, DATABASE_VERSION);
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        String CREATE_TABLE_TASK = "CREATE TABLE " + Model_Task_List.KEY_table  + "("
                + Model_Task_List.KEY_id  + " INTEGER PRIMARY KEY AUTOINCREMENT ,"
                + Model_Task_List.KEY_username + " TEXT, "
                + Model_Task_List.KEY_subject + " TEXT, "
                + Model_Task_List.KEY_task + " TEXT, "
                +Model_Task_List.KEY_taskid+ " INTEGER, "
                +Model_Task_List.KEY_owner+ " TEXT"
                + ");";

        db.execSQL(CREATE_TABLE_TASK);

    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        db.execSQL("DROP TABLE IF EXISTS " + Model_Task_List.KEY_table);
        onCreate(db);

    }


    public void insert(Model_Task_List modelobj) {

        SQLiteDatabase db = this.getWritableDatabase();
        ContentValues values = new ContentValues();
        values.put(Model_Task_List.KEY_username, modelobj.getUserName());
        values.put(Model_Task_List.KEY_subject,modelobj.getSubject());
        values.put(Model_Task_List.KEY_task, modelobj.getTaskStatus());
        values.put(Model_Task_List.KEY_taskid,modelobj.getTaskID());
        values.put(Model_Task_List.KEY_owner,modelobj.getUserid());
        db.insert(Model_Task_List.KEY_table, null, values);
        db.close();

        }

        public List<Model_Task_List> getTaskListById(String id) {
            SQLiteDatabase db = this.getReadableDatabase();
            String selectQuery =  " SELECT  " +
                    Model_Task_List.KEY_id + "," +
                    Model_Task_List.KEY_username + "," +
                    Model_Task_List.KEY_subject + "," +
                    Model_Task_List.KEY_task + "," +
                    Model_Task_List.KEY_taskid  + ","+
                    Model_Task_List.KEY_owner +
                    " FROM " + Model_Task_List.KEY_table + " WHERE "   +  Model_Task_List.KEY_owner + "= " + id +"";
            List<Model_Task_List>listobj=new ArrayList<Model_Task_List>();
            Cursor cursor = db.rawQuery(selectQuery, null);
            if (cursor.moveToFirst()) {
                while (cursor.moveToNext()) {
                    Model_Task_List modelobj=new Model_Task_List();
                    modelobj.setId(Integer.parseInt(cursor.getString(0)));
                    modelobj.setUserName(cursor.getString(1));
                    modelobj.setSubject(cursor.getString(2));
                    modelobj.setTaskStatus(cursor.getString(3));
                    modelobj.setTaskID(cursor.getShort(4));
                    modelobj.setUserid(cursor.getString(5));
                    listobj.add(modelobj);

                }
            }
            return listobj;

        }


    public List<Model_Task_List> getTaskList() {
        Model_Task_List model_task_list=new Model_Task_List();
        SQLiteDatabase db = this.getReadableDatabase();
        String selectQuery =  "SELECT  " +
                Model_Task_List.KEY_id + "," +
                Model_Task_List.KEY_username + "," +
                Model_Task_List.KEY_subject + "," +
                Model_Task_List.KEY_task +"," +
                Model_Task_List.KEY_taskid  +
                " FROM " + Model_Task_List.KEY_table;
            List<Model_Task_List>listobj=new ArrayList<Model_Task_List>();
            Cursor cursor = db.rawQuery(selectQuery, null);
            if (cursor.moveToFirst()) {
            while (cursor.moveToNext()) {
                Model_Task_List modelobj=new Model_Task_List();
                modelobj.setId(Integer.parseInt(cursor.getString(0)));
                modelobj.setUserName(cursor.getString(1));
                modelobj.setSubject(cursor.getString(2));
                modelobj.setTaskStatus(cursor.getString(3));
                modelobj.setTaskID(cursor.getShort(4));
                listobj.add(modelobj);

            }
        }
        return listobj;

    }
    public int getTaskCount() {
        int count=0;
        String countQuery = "SELECT  * FROM " + Model_Task_List.KEY_table;
        SQLiteDatabase db = this.getReadableDatabase();
        Cursor cursor = db.rawQuery(countQuery, null);
        if(cursor != null && !cursor.isClosed()){
            count = cursor.getCount();
            cursor.close();
        }
        return count;

    }
    public void update(Model_Task_List student) {

        SQLiteDatabase db = this.getWritableDatabase();
        ContentValues values = new ContentValues();

        values.put(Model_Task_List.KEY_username, student.getUserName());
        values.put(Model_Task_List.KEY_subject,student.getSubject());
        values.put(Model_Task_List.KEY_task, student.getTaskStatus());
        values.put(Model_Task_List.KEY_taskid,student.getTaskID());
        db.update(Model_Task_List.KEY_table, values, Model_Task_List.KEY_taskid + "= ?", new String[]{String.valueOf(student.getTaskID())});
        db.close();
    }

    }

这是需要检查更新或插入位置的代码:

import android.content.Context;
import android.content.SharedPreferences;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v7.widget.DefaultItemAnimator;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Toast;

import com.android.volley.Request;
import com.android.volley.RequestQueue;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.JsonObjectRequest;
import com.android.volley.toolbox.Volley;

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

import java.util.ArrayList;
import java.util.List;

/**
 * Created by 4264 on 27-01-2016.
 */
public class Task extends Fragment  {
    private static final String MY_PREFERENCE_KEY = "yogan";
    private List<Model_Task_List> model_task_lists;

    //Creating Views
    String currentDateTimeString;
    Context context;
    SharedPreferences.Editor editor;
    private RecyclerView recyclerView;
    Task_List_Adapter taskadapter;
    private RecyclerView.LayoutManager layoutManager;
    SharedPreferences sharedPreferences;
    private RecyclerView.Adapter adapter;
    RequestQueue yog;
    String user_id;
    AppController app;
    RequestQueue queue;
    String Url;
    Task_DB task_db = null;
    Database_SF_APP database_sf_app;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fragment_task, container, false);
        recyclerView = (RecyclerView) view.findViewById(R.id.my_recycler_view);
        LinearLayoutManager layoutManager = new LinearLayoutManager(getContext());
        layoutManager.setOrientation(LinearLayoutManager.VERTICAL);
        recyclerView.setItemAnimator(new DefaultItemAnimator());
        recyclerView.setLayoutManager(layoutManager);
        if (model_task_lists == null) {
            model_task_lists = new ArrayList<Model_Task_List>();
        }
        database_sf_app = new Database_SF_APP(getActivity().getBaseContext());
        int count=database_sf_app.getTaskCount();
        sharedPreferences = getActivity().getSharedPreferences(LoginActivity.login, 0);
        user_id = sharedPreferences.getString("user_id", null);
        queue = Volley.newRequestQueue(getContext());
        String date="2016-02-09T19:59:27.9434387+05:30";
        Url = "http://xxx.xx.x.xx/xxx/GetActivitiesByUserID.svc/getlist/getTask/" + user_id ;
        ConnectivityManager cn = (ConnectivityManager) getActivity().getSystemService(Context.CONNECTIVITY_SERVICE);
        NetworkInfo nf = cn.getActiveNetworkInfo();
        if (nf != null && nf.isConnected()) {
            Toast.makeText(getActivity(), "Network Available", Toast.LENGTH_LONG).show();
            JsonObjectRequest jsonObjRequest = new JsonObjectRequest(Request.Method.GET, Url, new JSONObject(),
                    new Response.Listener<JSONObject>() {

                        @Override
                        public void onResponse(JSONObject response) {
                            String server_response = response.toString();
                            try {
                                JSONObject json_object = new JSONObject(server_response);
                                JSONArray json_array = new JSONArray(json_object.getString("GetTaskResult"));
                                for (int i = 0; i < json_array.length(); i++) {
                                    Model_Task_List modelobj = new Model_Task_List();
                                    JSONObject json_arrayJSONObject = json_array.getJSONObject(i);
                                    modelobj.setSubject(json_arrayJSONObject.getString("Subject"));
                                    modelobj.setTaskID(json_arrayJSONObject.getInt("TaskID"));

                                    modelobj.setUserName(json_arrayJSONObject.getString("DueDate"));
                                    modelobj.setTaskStatus(json_arrayJSONObject.getString("TaskStatus"));
                                    modelobj.setUserid(json_arrayJSONObject.getString("Owner"));
                                    model_task_lists.add(modelobj);
                                  ///Here i need to check 

                                    database_sf_app.update(modelobj);
                                    taskadapter = new Task_List_Adapter(model_task_lists, getContext());
                                    recyclerView.setAdapter(taskadapter);
                                }
                            } catch (JSONException e) {
                                e.printStackTrace();
                            }

                        }
                    },
                    new Response.ErrorListener() {
                        @Override
                        public void onErrorResponse(VolleyError error) {
                            Toast.makeText(getContext(), error.toString(), Toast.LENGTH_SHORT).show();
                            Log.e("error", error.toString());
                        }
                    });

            //Creating request queue

            queue.add(jsonObjRequest);

        }

        //sync operation
        //a union b
        //a server
        //b local storage

        //a only - insert local
        //b only - send to server
        //a = b do nothing

        //result
        //bind

        model_task_lists=database_sf_app.getTaskListById(user_id);
        Log.e("Test",model_task_lists.toString());
        taskadapter=new Task_List_Adapter(model_task_lists,getActivity());
        recyclerView.setAdapter(taskadapter);

        return view;
    }


    @Override
    public void onResume()
    {
            super.onResume();
    }


    @Override
    public void onStop() {

        super.onStop();
    }

}

就像这样,我检查表中是否已经存在任何任务 ID(如果是更新或插入):

public void insertOrUpdate(Model_Task_List modelobj)
{
            String query=" SELECT  * FROM " + Model_Task_List.KEY_table+ " WHERE" +Model_Task_List.KEY_taskid+  " =" +modelobj.getTaskID();
            SQLiteDatabase db=this.getReadableDatabase();
            ContentValues values=new ContentValues();
            Cursor cursor=db.rawQuery(query, null);
            if(cursor.moveToFirst()){
                update(modelobj);
            }
             else
            {
                insert(modelobj);
            }
}

The update()函数返回受影响的行数。 因此,如果没有,您知道必须插入:

void updateIfExistsElseInsert(...) {
    SQLiteDatabase db = this.getWritableDatabase();
    ContentValues values = ...;
    values.put( /* all except the ID */ );
    int rows = db.update(KEY_TABLE, values, KEY_ID + " = " + id, null);
    if (rows == 0) {
        values.put(KEY_ID, id);
        db.insert(KEY_TABLE, null, values);
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如果记录存在否则插入如何更新sqlite表? 的相关文章

  • 如何在 Android 中更改 Drawable 的颜色?

    我正在开发一个 Android 应用程序 并且我有一个从源图像加载的可绘制对象 在此图像上 我想将所有白色像素转换为不同的颜色 例如蓝色 然后缓存生成的 Drawable 对象 以便稍后使用它 举例来说 假设我有一个 20x20 PNG 文
  • 应用程序在加载 xml 布局文件的主线程中做了太多工作

    我正在制作一个 9x9 数独网格 其中 81 个单元格本身就是一个 3x3 网格 单个细胞看起来像这样 1 2 3 4 5 6 7 8 9 每个数字代表该单元格的铅笔注释 我有一个名为 cell layout xml 的文件 表示这种 3x
  • Android 应用程序安装失败:包 com.my.app 在条目 AndroidManifest.xml 处没有证书

    在 Android Studio 中 我生成了带有密钥库等的签名 APK 将 APK 安装到设备上时失败 并显示 无法安装应用程序 并且在 Android Monitor 中我看到以下行 Package com my app has no
  • 在 Android 上使用 AT 命令与调制解调器对话

    我试图与三星 Galaxy s2 plus 和华为 p1 xl u9200 调制解调器发送 AT 命令 但无法得到任何结果 我使用 adb shell 发送命令并使用 logcat 查看日志 在三星 当我执行 cat 时 proc tty
  • 在 ChromeO 上安装未知来源的 apk

    我今天早上更新了我的 Chromebook Asus Flip 以获取 Play 商店 我的 Chromebook 安装了 M53dev 通道版本 它运作良好 我可以安装并运行从 Play 商店下载的 Android 应用程序 我想测试我的
  • 吉夫伦致命信号11

    我正在尝试使用一些本机代码来创建 Gif 我使用绘画绘制图像 创建一些笔画 单击 保存 绘制的图像将保存为 JPG 格式 当我单击 创建 Gif 时 它会获取所有图像并开始创建 gif 这是当我收到致命信号 11 并且应用程序重新启动时 我
  • Android 中的列表(特别是 RecyclerView 和 CardView)如何工作

    请原谅我问这个问题 但我是 Android 开发新手 尽管我正在尝试了解developer android com 网站上的基础知识 但大多数示例 即使他们说它们是为 Android Studio 构建的 尚未设置为使用 Gradle 因此
  • 当路径的点超出视野时,Android Canvas 不会绘制路径

    我在绘制路径时遇到了 Android Canvas 的一些问题 我的情况是 我有一个相对布局工作 如地图视图 不使用 google api 或类似的东西 我必须在该视图上绘制一条路径 canvas drawPath polyPath bor
  • 华为手机“受保护的应用程序”设置及处理方法

    我有一台搭载 Android 5 0 的华为 P8 用于测试应用程序 该应用程序需要在后台运行 因为它跟踪 BLE 区域 我发现华为内置了一个名为 受保护的应用程序 的 功能 可以从手机设置 电池管理器 gt 受保护的应用程序 访问该功能
  • 错误类型 3 - 活动类不存在

    我正在尝试运行 webRTC 应用程序 但返回以下错误 启动应用程序 com onlinevoicecallapp com onlinevoicecallapp MainActivity 设备外壳命令 am start n com onli
  • Android上如何获取ImageView的Drawable的矩形?

    我想要获取将包裹 ImageView 的 Drawable 的矩形对象 而不是包裹 ImageView 的矩形 我将使用该矩形在 Drawable 周围绘制一些奇特的矩形 我怎样才能得到那个矩形 Rect rect new Rect Ima
  • 选项卡主机内的 Android Fragment 视图状态 [重复]

    这个问题在这里已经有答案了 可能的重复 使用 Fragment 为 Android 中的每个选项卡单独的返回堆栈 https stackoverflow com questions 6987334 separate back stack f
  • MIUI 权限被拒绝活动 KeyguardLocked

    当应用程序处于后台且屏幕被锁定时 我无法启动活动 没有异常或警告 只是不调用 onCreate 我一直在与这个问题作斗争 我想我终于找到了它的根源 日志中有一行 D com android server am ExtraActivityMa
  • Android 上的 MIDI:Java 和/或 AIR 库

    一段时间以来 我一直在考虑在 iPad 上 重新 构建一个应用程序 其中我将使用 Objective C 和DSMI http dsmi tobw net 将 MIDI 信号发送到主机 这还不错 我的意思是 除了实际编写应用程序之外 现在我
  • 当 minifyEnabled 为 true 时 Android 应用程序崩溃

    我正在使用多模块应用程序 并且该应用程序崩溃时minifyEnabled true in the installed模块的build gradle 以下是从游戏控制台检索到的反混淆堆栈跟踪 FATAL EXCEPTION Controlle
  • Android NDK 代码中的 SIGILL

    我在市场上有一个 NDK 应用程序 并获得了有关以下内容的本机崩溃报告 SIGILL信号 我使用 Google Breakpad 生成本机崩溃报告 以下是详细信息 我的应用程序是为armeabi v7a with霓虹灯支持 它在 NVIDI
  • sql直接获取表行数的方法

    stackoverflow 的朋友们大家好 我的例行程序中有一个我认为不必要的步骤 假设您想从图库中获取所有图像 并限制每页一定数量的图像 db PDO object start pagenum x images per page limi
  • Android SearchView 在启动时隐藏键盘

    我有一个小问题正在尝试解决 当我打开应用程序时 键盘会显示输入搜索视图的查询 不过 我只想在单击搜索视图时显示键盘 我该如何解决 Thanks 这对我有用 用于隐藏焦点的代码 searchView SearchView view findV
  • fs-extra:源和目标不能相同。 (科尔多瓦)

    我在使用 cordova 构建时遇到错误 Error Source and destination must not be the same 构建系统 Ionic ionic cli 4 10 1 ionic framework ionic
  • 丢失应用程序的密钥库文件(但已启用 Google Play 应用程序签名)

    我已经失去了原来的keystore用于签署我的应用程序的文件 我的应用启用了 Google Play 应用签名 如果我联系 Google 支持人员 是否可以重置密钥 以便我可以继续上传到此包 我希望我可以做到这一点 因为应用程序签名已启用

随机推荐

  • 如何使用 TabItem 名称参数调用 XAML 中的绑定方法?

    我有一个在 XAML 中绑定的对象实例 它有一个方法 将返回给我其他对象的列表 根据我传递给此方法的属性值 它将返回具有该属性值的所有对象
  • 限制对 NodeJS 中 API 的并发请求以及 Async/Await

    我在用Request https www npmjs com package request打包在我的 Nodejs 项目中异步 等待中引入的函数节点 V 8 x要使用第 3 方 API 一切都很好 直到我遇到 API 提供商的限制 who
  • 如何获取列表中所有 NaN 的所有索引?

    我正在尝试制作一个包含所有索引的列表NaNs在列表中a 问题是这个列表ind没有填充任何东西 它有效 如果不是NaN 我放了一个随机字符串 例如c import numpy as np a 1 2 3 4 np nan np nan 2 n
  • 在运行时启用和禁用 gprof?

    我想知道里面有没有APIgprof通过受监控的应用程序在运行时启用和禁用分析 我有兴趣禁用对代码某些部分的分析 并使其能够专注于我感兴趣的部分 我的意思是 有没有办法避免这样做 int main void disable gprof uni
  • 从图像中删除颜色

    我想从下图中删除颜色 由于这种颜色 我无法从图像中清晰地提取文本 我正在使用下面的代码 但我没有得到明确的文本 import numpy as np from PIL import Image im Image open my file t
  • 如何在Linux中用户登录认证后运行脚本

    我有一个脚本 我想在用户登录身份验证后运行 为了实现这一点 我将脚本名称添加到 etc rc5 d S rc local文件 但后来我知道 rc local 文件中添加的任何内容都会在系统启动时执行 而不是在登录身份验证之后执行 谁能告诉我
  • 错误:没有名为“PyQt5.QtMultimedia”的模块

    我正在尝试构建一个集成视频的 GUI 为此我需要导入 PyQt5 QtMultimedia 然而 当尝试导入模块 导入 PyQt5 QtMultimedia 时 我收到错误 ModuleNotFoundError 没有名为 PyQt5 Qt
  • 使用 node.js 运行 shell 脚本(childProcess)

    我想在我的 node js 服务器上运行 shell 脚本 但什么也没发生 childProcess exec play sh media external req params movie function not working 另一个
  • 查找给定查询的 firestore 文档的索引

    我正在使用 Firestore 构建游戏 我想显示高分列表 我目前通过以下查询获得了 10 个最高分 const q query doc db scores title orderBy score desc limit 10 除此之外 我想
  • 如何在Excel中使用单选按钮创建过滤搜索框[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我想创建一个搜索文本框来过滤 Excel 中的数据 我有 3 列数据 汽车品牌 型号和颜色是列 我有单选按钮 选择该按钮后我希望搜
  • 将秘密(密码)存储在单独的文件中

    存储 Python 脚本的应用程序机密 密码 访问令牌 的最简单方法是什么 我以为这会是一个 yml文件就像在 Ruby 中一样 但令人惊讶的是我发现事实并非如此 那么到底是什么呢 最简单的解决方案是什么 我想把它们放在一个separate
  • 在 macOS 上通过 psql 创建 PostgreSQL 数据库备份

    我正在尝试创建一个 PostgreSQLlocal使用 macOS 上的终端进行数据库转储psql 我的下一步是将整个数据库上传 导入到我的 Amazon RDS PostgreSQL 数据库实例 https docs aws amazon
  • 将 Hudson 作业移至另一台服务器

    我已经设置了一个持续集成构建 Hudson 在 Tomcat 上运行 我现在需要将其移动到 Tomcat 的另一个实例 但不想从头开始配置所有内容 是否有一个配置文件定义了我可以复制到新服务器的每个作业 或者可以通过用户界面导入 导出作业
  • 使用变量的“原型”

    大多数时候 主要是教程 我看到 原型 用于方法 我很确定它也可以用于变量 也许对于设置 默认值 最有用 它不经常用于函数有什么原因吗 这是不好的做法 还是存在明显的性能差异 在我的脑海中 你失去了功能hasOwnProperty http
  • Networkx read_gml 错误“networkx.exception.NetworkXError:无法在 (3, 1) 处标记 u'graph'”

    我正在尝试使用 networkx 读取 gml 文件 非常简单 对吧 除非每当我尝试读取文件时 我都会收到错误 networkx exception NetworkXError 无法标记 u graph at 3 1 我对gml或netwo
  • 转换为位图时,CardView 阴影未渲染

    问题 我尝试保存一个视图组 其中有一个CardView作为其子级之一 作为 PNG 文件 为了达成这个 我膨胀视图组并使用所需信息填充视图 通过以下方式将图像加载到图像视图Glide https github com bumptech gl
  • 在 SpriteKit 中呈现一个场景而不丢弃之前的场景?

    我的情况是我有一个GameMenuScene在用户选择级别后 我想呈现LevelScene 但我不想再有以前的了GameMenuScene被丢弃是因为LevelScene实际上是一个 property of GameMenuScene用户是
  • 为什么从 spring-data-jpa 保存返回的实体中未设置 ID

    我有一个简单的实体 我正在使用 spring data jpa 版本 1 2 0 RELEASE 和 eclipselink 2 4 1 Entity Table name platform public class Platform Id
  • 如何在symfony2中覆盖奏鸣曲管理包的CSS

    我想覆盖一个css文件 即驻留在sonata管理包项目的sonata project admin bundle Sonata AdminBundle Resources public bootstrap css路径中 请帮帮我 一种可以覆盖
  • 如果记录存在否则插入如何更新sqlite表?

    这可能是重复的问题 但我很困惑 因为我是 sql 的新手 android 正在从服务器获取响应 如果表中的值已存在 则需要将其保存在 sqlite 数据库中更新 否则插入 il 检查任务 id 这是唯一的不知道如何为了做到这一点 我已经搜索