অ্যান্ড্রয়েডে এসকিউএলাইটের সংস্করণ ব্যবহার করা হয়েছে?


271

অ্যান্ড্রয়েডে ব্যবহৃত এসকিউএলাইটের সংস্করণটি কী?

কারণ: আমি কীভাবে স্কিমা মাইগ্রেশন পরিচালনা করব তা ভাবছি। নতুন এসকিউএল সংস্করণগুলি একটি "অল্টার টেবিলে" এসকিউএল কমান্ড সমর্থন করে যা আমাকে তথ্য অনুলিপি করতে, টেবিলটি ফেলে দিতে, টেবিলটি পুনরায় তৈরি করতে এবং পুনরায় সন্নিবেষ্টিত ডেটা সংরক্ষণ করতে পারে।


1
আপনি এখনও কপি-ড্রপ-পুনর্নির্দেশ-পুনরায় সন্নিবেশ করতে চাইতে পারেন; এসকিউএলাইটের অল্টার টেবিলটি খুব পূর্ণ বৈশিষ্ট্যযুক্ত নয়।
জে.পলফার

দয়া করে সঠিক উত্তরটি চয়ন করুন, ৩.৪.০ সঠিক নয়
নূহ

1
আপনি চালিয়ে যাচ্ছেন এমন অ্যান্ড্রয়েডের সংস্করণটির উপর নির্ভর করে না? আমার সত্যিই আমার পুরানো মাই টাচ 1.6 চলমান এসকিউএলাইট 3.4.x থাকতে পারে বা আমার নতুন জি 2 চলমান 2.2 এ আমার একটি উচ্চতর সংস্করণ থাকতে পারে। আসল উত্তরটি হ'ল আপনার নির্দিষ্ট হ্যান্ডসেটটি পরীক্ষা করা।
এানো

অ্যান্ড্রয়েড.আর.কোর্সটির ০.০.০: ডিবি এবং android.arch.persistance: ডিবি-ফ্রেমওয়ার্ক কয়েক সপ্তাহ আগে পাঠানো হয়েছিল।
প্রাগস

উত্তর:


478

অক্টোবর ২০১ UP আপডেট করুন: আপডেট হওয়া অফিসিয়াল ডক্সের এখানে একটি লিঙ্ক রয়েছে যা এই উত্তরের মূল বিষয়গুলি অন্তর্ভুক্ত করেছে: android.datedia.sqlite প্যাকেজ-স্তরের জাভাদোক

অনুকরণকারী ব্যবহার:

adb shell sqlite3 --version   

আপডেট: এসডিকে 29 (এমুলেটর রিভিশন 8), অ্যাডবি শেল কমান্ড দেয়:

/system/bin/sh: sqlite3: inaccessible or not found

কোন ধারণা কেন? এখানে ট্র্যাকার ইস্যু করুন

SQLite 3.28.0 ( জানালা ফাংশন !):

  • 30-11.0-আর (এসডিকে ম্যানেজারে সংশোধন 2)

SQLite 3.22.0 :

  • 29 -10.0-কিউ (SDK ম্যানেজারে রিভিশন 8)
  • 28 -9.0-পি

SQLite 3.19.4 (কিছু কারণে 3.19.4 জন্য SQLite রিলিজ নোট বিদ্যমান নেই তাই পরিবর্তে সংস্করণ নিয়ন্ত্রণ চেক-ইন লিঙ্ক!):

  • 27 -8.1.0-হে এম 1

SQLite 3.18.2 :

  • 26-8.0.0-O (দ্রষ্টব্য: ও বিটা সংস্করণ ব্যবহৃত হয়েছে 3.18.0 )

এসকিউএলাইট 3.9.2 :

  • 25-7.1.1-এন এমআর 1
  • 24 -7.0-N (দ্রষ্টব্য: পূর্বরূপগুলি একই সংস্করণ ব্যবহৃত হয়েছে)

SQLite 3.8.10.2 :

  • 23-6.0-এম (দ্রষ্টব্য: এম প্রিভিউ 1 (এসডিকে স্তর 22) 3.8.10 ব্যবহৃত হয়েছে )

SQLite 3.8.6.1 (SQLite লিঙ্কের জন্য 3.8.6 কারণ 3.8.6.1 কিছু কারণে অস্তিত্ব নেই):

  • 22-5.1.1-Lollipop এ

SQLite 3.8.6 :

  • 21-5.0-Lollipop এ

এসকিউএলাইট (অজানা):

  • 20-4.4W.2-Android Wear (কোনও এমুলেটর উপলব্ধ নেই তবে সম্ভবত 3.7.11 বা 3.8.4.3)

SQLite 3.7.11 :

  • 19-4.4-কিটক্যাট
  • 18-4.3-জেলি বিন
  • 17-4.2-জেলি বিন
  • 16 -4.1-জেলি বিন (ভাঙা লিঙ্ক, এখানে দেখুন )

SQLite 3.7.4 :

  • 15-4.0.3-আইসক্রিম স্যান্ডউইচ
  • 14 -4.0-আইসক্রিম স্যান্ডউইচ (ভাঙা লিঙ্ক, এখানে দেখুন )
  • 13-3.2-মউচাক
  • 12-3.1-মউচাক
  • 11 -3.0-মধুচক্র (ভাঙা লিঙ্ক, এখানে দেখুন )

এসকিউএলাইট 3.6.22 :

  • 10-2.3.3-জিনজার ব্রেড
  • 9-2.3.1-জিনজার ব্রেড
  • 8 -2.2-ফ্রয়েও (ভাঙা লিঙ্ক, এখানে দেখুন )

SQLite 3.5.9 :

দ্রষ্টব্য: অ্যান্ড্রয়েড এসডিকে স্তরের লিঙ্কগুলি যেখানে android.datedia.sqlite প্যাকেজ পরিবর্তন করেছে তা দেখায় । যেখানে কোনও লিঙ্ক নেই (যেমন SDK স্তর 17), সেই প্যাকেজে কোনও পরিবর্তন নির্দেশ করে না।

দ্রষ্টব্য: এখানে কিছু অসঙ্গতি রয়েছে (কোনও উপায়ে বিস্তৃত তালিকা নয়):

SQLite 3.7.13 (3.7.11 পরিবর্তে):

  • LG Optimus L70 MS323 LGMS323 | KOT49I.MS32310b (19-4.4-কিটকাট)
  • LG Optimus G E975 LG-E975 | JZO54K (16-4.1-জেলি বিন)
  • LG G2 D802 LG-D802 | জেডিকিউ 39 বি (17-4.2-জেলি বিন)

SQLite 3.7.6.3 (3.6.22 পরিবর্তে):

  • LG Optimus Sol E730 / myTouch E739 / myTouch Q C800 (10-2.3.3-জিঞ্জারব্রেড, জিআরজে 22)
  • এলজি অপ্টিমাস ভ এফ 100 এস / এফ 100 এল (10-2.3.3-জিঞ্জারব্রেড, আরকে 39 এফ)
  • এলজি অপ্টিমাস এলটিই ট্যাগ এফ 120 কে / এফ 120 এল (10-2.3.3-জিঞ্জারব্রেড, জিআরকে 39 এফ)
  • LG Optimus LTE L-01D (10-2.3.3-জিনজারব্রেড, জিআরজে 90)
  • এলজি অপ্টিমাস নেট পি 690 বি (10-2.3.3-জিনজারব্রেড, জিঞ্জারব্রেড)
  • এলজি প্রদা কেইউ 500
  • এলজি প্রদা পি 940 (10-2.3.3-জিনজারব্রেড, জিডাব্লু কে 74)
  • LG LU6200 / SU640 (10-2.3.3-जिঞ্জারব্রেড, জিআরজে 90) এস

SQLite 3.7.5 (3.7.4 পরিবর্তে):

  • স্যামসং গ্যালাক্সি নোট (15-জিটি-এন 7000 | আইএমএল 74 কে.জেডএসএলপিএফ)
  • স্যামসং গ্যালাক্সি এসআইআই (15-এসসি -02 সি | IML74K.OMMP4 এবং জিটি-আই9100 | আইএমএল 74 কে.ডিএক্সএলপি 7)
  • স্যামসং গ্যালাক্সি এস ডুওস (15-জিটি-এস 7562 | IMM76I.S7562XXBMD6)
  • স্যামসং গ্যালাক্সি ট্যাব 7.7 (15-জিটি-পি 6810 | IMM76D.ZSLP8)

SQLite 3.7.0.1 (3.6.22 পরিবর্তে):

  • LG Esteem MS910 (10-2.3.3-জিনজারব্রেড, জিএসই-_ভি.05)
  • AndroTab (8-2.2-Froyo, 1.0.7100.0385)
  • GPLUS MUSN M500 (8-2.2-Froyo, FRG83G)

SQLite 3.6.23.1 (3.5.9 পরিবর্তে):

  • মটোরোলা ব্যাকফ্লিপ এমবি 300 (7-2.1-এক্লেয়ার, ERD79)
  • গারমিন-আসুস নেভিফোন এ 10 / এ 50 / গারমিনফোন (7-2.1-এক্লেয়ার, ERE27)

দ্রষ্টব্য: এসকিউএলাইট সংস্করণ পেতে অ্যাডবি কমান্ডটি কেবল অনুকরণকারী এবং sqlite3 সহ ডিভাইসগুলিতে কাজ করে: https://stackoverflow.com/a/3645800/444761

অন্যান্য ডিভাইসের জন্য, জুড়ির উত্তর দেখুন

আমি অ্যান্ড্রয়েড ইস্যু ট্র্যাকারে # 58909 ইস্যু যুক্ত করেছি । আপনি যদি এটি সমর্থন করতে চান দয়া করে এটিকে তারা করুন।

দ্রষ্টব্য: আপনি যদি আপনার অ্যাপ্লিকেশনটি সমস্ত অ্যান্ড্রয়েড সংস্করণে এসকিউএলাইটের একই সংস্করণটি ব্যবহার করতে চান তবে এই তৃতীয় পক্ষের এসকিউএলাইট সমর্থন লাইব্রেরিটি বিবেচনা করুন


/ সিস্টেম / বিন / শ: স্ক্লাইট 3: পাওয়া যায় নি এটি মূলের অ্যান্ড্রয়েড 4.0.০.২ ডিভাইসে রয়েছে
পয়েন্টার নুল

ধন্যবাদ চিহ্ন আমি কিছুটা বিভ্রান্ত বিকাশের সময় আমি কীভাবে নিশ্চিত করতে পারি যে আমার স্ক্লাইট সংস্করণটি সমস্ত ডিভাইস জুড়ে সুসংগত থাকবে? আমি বলতে চাইছি targetSdkVersionবা buildTargetএর কোন প্রভাব আছে?
মুহাম্মদ বাবর

1
@ মুহাম্মাদবাবার ব্যবহারকারীর ডিভাইসে এসকিউএলাইটের আসল সংস্করণ ইনস্টল করতে আপনাকে জুরির উত্তরটি ব্যবহার করতে হবে। টার্গেটএসডিভিওয়ারসন এবং বিল্ডটারাজেট কোনও পার্থক্য রাখে না।
চিহ্নিত করুন

59

যদিও ডকুমেন্টেশনটি রেফারেন্স নম্বর হিসাবে ৩.৪.০ দেয়, আপনি যদি নিম্নলিখিত স্কেলটি চালান, আপনি লক্ষ্য করবেন যে সেখানে অনেক বেশি এসকিউলেট ইনস্টল করা রয়েছে:

Cursor cursor = SQLiteDatabase.openOrCreateDatabase(":memory:", null).rawQuery("select sqlite_version() AS sqlite_version", null);
String sqliteVersion = "";
while(cursor.moveToNext()){
   sqliteVersion += cursor.getString(0);
}

স্ক্লাইট সংস্করণটি পুনরুদ্ধার করতে এটি কেবল দ্রুত, নোংরা কোডের এক টুকরো। উদাহরণস্বরূপ, অ্যান্ড্রয়েড ২.১ সহ এইচটিসি হিরোতে আমি পেয়েছি: ৩. 3.5.৯

অ্যান্ড্রয়েড ২.২ সহ আমার নেক্সাস ওনে , আমি এমনকি ৩.6.২২ পেয়েছি ।


2
আমি কল্পনা করি 3.4.0 একটি ন্যূনতম সংস্করণ হিসাবে # দেওয়া হয়েছে - বহনযোগ্যতার জন্য আপনার সম্ভবত এটির উচ্চতর সংস্করণটি গ্রহণ করা উচিত নয় যদি না আপনার যদি এরকম করার সত্যিই ভাল কারণ থাকে।
এএনো

2
অবশ্যই, আপনি ঠিক বলেছেন। তবে যদি আপনাকে কিছু উন্নত বৈশিষ্ট্য ব্যবহার করতে হয় যা উচ্চতর এসকিউএল সংস্করণগুলিতে পারফরম্যান্সের উন্নতি করতে পারে, আপনি কোয়েড করতে কোডটি ব্যবহার করতে পারেন এবং অবশেষে মোতায়েন করা সংস্করণ অনুসারে কোয়েরির ধরণটি পরিবর্তন করতে পারেন :)
জুনি

কাস্টম 2.2 রমের সাথে আমার
ড্রোডও 3.6.22

প্রাক-প্রকাশের ২.২ সহ আমার এপিকটি ৩.6.২৩ বলছে - সংখ্যাগুলি উপরে inোকানো বলে মনে হচ্ছে।
dhaag23

1
নেক্সাস 7 অ্যান্ড্রয়েড 4.2 সঙ্গে, দেয় 3.7.11
christophercotton

26
$ adb shell
$ sqlite3 --version
sqlite3 --version
3.5.9

ADP1 1.6 এবং 2.1 এমুলেটারে একই।


এটি আমাকে দেয়: স্ক্লাইট 3: অনুমতি প্রত্যাখ্যান করা হয়েছে
ইয়ার

আমার জন্য ভাল কাজ করে। আমি সিএমডি প্রম্পটটি খুললাম এবং অ্যান্ড্রয়েড ফোল্ডারে নেভিগেট করেছি, যেখানে অ্যাডবি.এক্সই ছিল। তারপরে আমি দুটি কমান্ড টাইপ করলাম
প্যাভেনহেমিয়েলসেফ

8
Nexus 4 KitKat এ "/ system / bin / sh: sqlite3: not পাওয়া" দেয়।
বেন ক্লেটন

6

Andorid APIs এবং সমর্থিত এসকিউএলাইট সংস্করণগুলির একটি সংক্ষিপ্ত বিবরণ।

এখানে চিত্র বর্ণনা লিখুন

ওভারভিউটি মার্ক কার্টার্স উত্তরের লিঙ্কটি থেকে।


আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.