Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

sinkronisasi cepat data data inti dan database mysql

Tidak ada cara tercepat tetapi saya pasti dapat menyarankan sesuatu yang cocok untuk saya. Terbaik atau tidak - terserah Anda untuk memutuskan.

Juga pertanyaan Anda sangat umum - karena mencakup seluruh infrastruktur backend aplikasi seluler. Saya akan mencoba sespesifik mungkin -

1) Buat permintaan posting http ke file php, yang memilih semua data database mysql dan mengembalikan hasilnya ke aplikasi -

Setelah Anda menerima hasilnya, Anda dapat Parse di Data Inti seperti contoh di bawah ini -

    func writeDataToSqliteStore() throws {

                // Configure the Network Call here with NSURL & NSData returning an array that you can write to the Core Data SQLITE backend.
            do {
                jsonResponse = try NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions()) as? NSArray
            } catch {
                print(error)
            }
                let localEntity = self.insertNewEntity("EntityName") as? CoreDataEntityClass

                for singleObject in jsonResponse {

                    localEntity.name = singleObject.valueForKey("name")
                    localEntity.address = singleObject.valueForKey("address")
            }
  }

2) Periksa data mana yang ada di data inti => tidak ada hubungannya, dan data mana yang baru => simpan data baru di data inti -

Anda dapat melakukan panggilan kepala yang baik dengan Stempel Waktu dan memeriksa apakah data telah diperbarui. Jika data telah diperbarui - mungkin akan sedikit rumit memperbarui atribut Data Inti individu. Apa yang selalu berhasil bagi saya adalah menghapus backend SQLITE pada perangkat dan menjalankan metode penulisan data lagi. Anda dapat menggunakan contoh di bawah ini -

func removeSQLITEFiles() {
    let fileManager = NSFileManager.defaultManager()
        let URL1 = self.applicationDocumentsDirectory.URLByAppendingPathComponent("File.sqlite")
        let URL2 = self.applicationDocumentsDirectory.URLByAppendingPathComponent("File.sqlite-wal")
        let URL3 = self.applicationDocumentsDirectory.URLByAppendingPathComponent("File.sqlite-shm")

        if fileManager.fileExistsAtPath(URL1.path!) {
            do {
             try fileManager.removeItemAtURL(URL1)
            }
            catch {error}
        }

        if fileManager.fileExistsAtPath(URL2.path!) {
            do {
                try fileManager.removeItemAtURL(URL2)
            }
            catch {error}
        }

        if fileManager.fileExistsAtPath(URL3.path!) {
            do {
                try fileManager.removeItemAtURL(URL3)
            }
            catch {error}
        }

    }

Setelah itu Anda dapat menjalankan writeDataToSqlieStore() metode lagi.

Semoga membantu.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Daftar dalam klausa 'IN' MyBatis

  2. mereferensikan beberapa kunci asing php mysql

  3. Apakah addlashes() cukup aman untuk menghindari SQL INJECTIONS?

  4. Transaksi eksklusif Laravel 4 dengan pembaruan dan pilih

  5. Desain Basis Data:sistem inventaris dan penjualan?