北斗七星高 2014-09-15 02:56 采纳率: 0%
浏览 1344

java中将对象序列化后存入数据库中,IOS系统如何读取

以前开发Android系统,java语言中将一些对象以序列化形式存入了网站的数据库中,这样用户手机如果是Android的话不会有任何问题。
现在开发IOS系统,这样出现的一个难题就是在Object_c语言中如何将原来的已序列化的数据读入到IOS系统中。
有什么好的方法及思路,请指教。
QQ:102697532
mail:mingqixu1@163.com

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-08-02 17:19
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    要将Java对象序列化并保存到数据库中,你需要使用一种持久化技术,比如JDBC(Java Database Connectivity)或HBase。对于iOS系统来说,你可能需要考虑其他方式来存储和检索这些数据,例如本地文件、SQLite数据库或者第三方库(如Swift中的Core Data)。

    以下是一个基本的示例,说明如何将一个简单的Java对象序列化为JSON格式,并将其保存到SQLite数据库中:

    import java.io.*;
    import org.json.JSONObject;
    import android.database.sqlite.SQLiteDatabase;
    
    public class Person {
        private String name;
        private int age;
    
        public Person(String name, int age) {
            this.name = name;
            this.age = age;
        }
    
        // getters and setters...
    }
    
    public class MainActivity extends AppCompatActivity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            try (SQLiteDatabase db = SQLiteDatabase.openDatabase("mydb.db", null,
                    SQLiteDatabase.CREATE_IF_NECESSARY)) {
                String sql = "INSERT INTO persons(name, age) VALUES('John', 30)";
                db.execSQL(sql);
    
                String json = "{ \"name\": \"" + "John" + "\", \"age\": " + 30 + "}";
                JSONObject person = new JSONObject(json);
    
                db.execSQL("UPDATE persons SET name = '" + person.getString("name") + "' WHERE id = " + person.getInt("id"));
            }
        }
    }
    

    在这个例子中,我们首先创建了一个SQLite数据库,然后插入了一条记录。接着,我们将Person对象转换为JSON字符串,并更新数据库中的相应行。请注意,这只是一个非常基础的例子,实际应用中可能会更复杂,包括处理日期、时间等非数字类型的字段。

    对于iOS系统,你可以使用Core Data来实现类似的功能,但需要注意的是,iOS并不支持直接访问SQLite数据库。因此,你需要找到一种方式来将你的数据从数据库复制到本地磁盘上,然后再上传到iOS设备上。这可以通过多种方式完成,例如通过网络请求、共享内存、或者使用第三方库(如Swift中的DataTransfer)。

    评论

报告相同问题?

悬赏问题

  • ¥30 STM32 INMP441无法读取数据
  • ¥100 求汇川机器人IRCB300控制器和示教器同版本升级固件文件升级包
  • ¥15 用visualstudio2022创建vue项目后无法启动
  • ¥15 x趋于0时tanx-sinx极限可以拆开算吗
  • ¥500 把面具戴到人脸上,请大家贡献智慧
  • ¥15 任意一个散点图自己下载其js脚本文件并做成独立的案例页面,不要作在线的,要离线状态。
  • ¥15 各位 帮我看看如何写代码,打出来的图形要和如下图呈现的一样,急
  • ¥30 c#打开word开启修订并实时显示批注
  • ¥15 如何解决ldsc的这条报错/index error
  • ¥15 VS2022+WDK驱动开发环境