কোথায় (এবং কীভাবে) অ্যান্ড্রয়েড সঙ্গীত প্লেলিস্টগুলি সঞ্চয় করে?


32

আমি লক্ষ্য করেছি যে অ্যান্ড্রয়েড একই সঙ্গীত প্লেলিস্টগুলি সঙ্গীত অ্যাপ্লিকেশনগুলিতে রাখে। এই প্লেলিস্টগুলি কোথায় সঞ্চয় করা আছে? কীভাবে (কোন বিন্যাসে) সেগুলি সংরক্ষণ করা হয়? আমি কি ইউএসবি স্টোরেজ লিঙ্কের মাধ্যমে এগুলি দূর থেকে অ্যাক্সেস করতে পারি, না এর পরিবর্তে আমি কোনও অ্যাপ্লিকেশনটি সেগুলি অ্যাক্সেস করতে পারি?

সম্পর্কিত প্রশ্ন: সঙ্গীত স্থানান্তর এবং প্লেলিস্টগুলি


উত্তর:


24

এগুলি আপনার music.dbফাইলে সংরক্ষণ করা হয়েছে - আমার হয় /data/data/com.google.android.music/databases; আমি নিশ্চিত না যে এটি সমস্ত ডিভাইস জুড়ে একই রকম কিনা তবে আমি অনুমান করি এটি সম্ভবত।

তারা টেবিলে LISTSএবং LISTITEMSসারণীর সংমিশ্রণে বাস করে , যা এরূপ হিসাবে সংজ্ঞায়িত করা হয়:

sqlite> .schema lists
.schema lists
CREATE TABLE LISTS(Id INTEGER PRIMARY KEY AUTOINCREMENT, Name TEXT NOT NULL, 
    SourceAccount INTEGER, SourceId TEXT, _sync_version TEXT, 
    _sync_dirty INTEGER NOT NULL DEFAULT 0, MediaStoreId INTEGER, 
    ListType INTEGER NOT NULL DEFAULT 0, ListArtworkLocation TEXT);
CREATE INDEX LIST_SYNC_INDEX on LISTS(SourceAccount,SourceId);
sqlite>

sqlite> .schema listitems
.schema listitems
CREATE TABLE LISTITEMS(Id INTEGER PRIMARY KEY AUTOINCREMENT, 
    ListId INTEGER NOT NULL REFERENCES LISTS, MusicSourceAccount INTEGER NOT NULL,  
    MusicSourceId TEXT NOT NULL, ClientPosition INTEGER NOT NULL, 
    ServerPosition INTEGER NOT NULL DEFAULT 0, SourceAccount INTEGER, SourceId TEXT,
    _sync_version TEXT, _sync_dirty INTEGER NOT NULL DEFAULT 0, 
    ServerOrder TEXT DEFAULT '', ClientId TEXT);
CREATE INDEX LISTITEMS_ORDER_INDEX ON LISTITEMS (ListId, ServerOrder, ClientPosition);
CREATE INDEX LISTITEMS_SYNC_INDEX on LISTITEMS(SourceAccount,SourceId);
sqlite>

মজার বিষয় হল আপনি যদি নতুন গুগল মিউজিক বিটা ব্যবহার করেন তবে আপনার তৈরি প্লেলিস্টগুলি অন্য অ্যাপ্লিকেশনগুলিতে উপস্থিত হবে না বলে মনে হয় তবে তাদের ডিবিতে প্রবেশ রয়েছে have দেখে মনে হচ্ছে এটি সম্ভবত কারণ MusicSourceAccountক্ষেত্রটি আপনার Google সঙ্গীত অ্যাকাউন্ট আইডিতে সেট করা আছে; অন্যান্য অ্যাপ্লিকেশনগুলি এটিকে 0 তে সেট করে এবং সেগুলি সমস্ত অ্যাপ্লিকেশন জুড়ে প্রদর্শিত হয় যা ডিবি থেকে ডেটা নেয়।


1

আমি এক্সডিএ ডেভেলপারদের একটি পোস্ট পেয়েছি ।

এটি পড়ার কেউ যদি উপরের তালিকাভুক্ত ডিরেক্টরিটিতে এটি খুঁজে না পান তবে পরিবর্তে এটি ব্যবহার করে দেখুন:

/data/data/com.android.providers.media/databases/external-{{some hex here}}.db

তারপরে আপনি এটি আপনার কম্পিউটারে অনুলিপি করতে পারেন, আপনার স্বাদের এসকিউএলাইট সম্পাদক ব্যবহার করতে পারেন এবং নিজের ইচ্ছায় ডেটা ম্যানিপুলেট করতে পারেন।

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