কোনও অ্যান্ড্রয়েড অ্যাপ আপডেট করার সাথে ভাগ করা পছন্দগুলি কী হবে?


86

আমি আমার অ্যাপ্লিকেশনটিতে SharedPreferences এ ব্যবহারকারীর সেটিংস সংরক্ষণ করেছি। আমি যখন গুগল প্লে স্টোরের মাধ্যমে অ্যাপটির নতুন সংস্করণে অ্যাপ্লিকেশন আপডেট করব তখন ভাগ করা পছন্দসইগুলির সাথে কী হবে?

ভাগ করা পছন্দগুলি আপডেটের পরেও থাকবে কি সেগুলি মুছে ফেলা হবে?

এখন পর্যন্ত আমি ওয়েবে বা স্ট্যাকওভারফ্লোতে কোনও উত্তর খুঁজে পাইনি।

আপনি কি আমাকে কিছু লিঙ্কগুলিতে এই প্রক্রিয়াটি বর্ণনা করতে পারেন?

সম্পাদনা: ইতিমধ্যে আমি একটি অন্য উত্তরও পেয়েছি: আপডেট / আনইনস্টল-এ ভাগ করা পছন্দসই আচরণ

সম্পাদনা 2: যেহেতু আমি যখন প্রথম প্রথম এই প্রশ্নটি জিজ্ঞাসা করেছি তখন থেকে আমি সম্প্রতি জানতে পেরেছি যে অ্যান্ড্রয়েড .0.০ (এপিআই 23) যেহেতু এখানে গুগল বর্ণিত বর্ণনা অনুযায়ী আপনার ভাগ করা পছন্দগুলি সুরক্ষিত করতে স্বয়ংক্রিয় ব্যাকআপ কার্যকারিতা ব্যবহার করাও সম্ভব ।

allowBackup="true"আপনার AndroidManifest.xmlফাইলটিতে কেবল যুক্ত করুন।

উত্তর:


72

ক্রিস্টিয়ান এখানে বলেছেন: ব্যবহারকারীরা আপডেট ইনস্টল করলে আপনার অ্যাপ্লিকেশন ডেটা থাকবে।

তবে এটি অবশ্যই package nameপূর্ববর্তী অ্যাপ্লিকেশনটির আপডেট হিসাবে সনাক্ত করতে একই রকম হতে হবে ।

সতর্কবাণী ইবোমাইক ইন অ্যান্ড্রয়েড ব্যবহারকারী যে অ্যাপ্লিকেশন আপডেটটি পুরানো অ্যাপ্লিকেশন সংস্করণ থেকে ডেটা হারাতে পারে? বলেছেন:

একদম সত্যি বলতে, একটি আপগ্রেডের কারণে ডেটা হারানো অগ্রহণযোগ্য।

সম্পাদনা করুন :

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

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

যদি আপনি জানতে চান কোন অ্যাপ্লিকেশন আপগ্রেড করার সময় কোন জিনিসগুলি অবশ্যই ঘটতে পারে / হতে পারে? , আমি এর জন্য কোনও ভাল বিবরণ পাইনি t এটি জটিল এবং এর সাথে সম্পর্কিতAndroid Security , Application signing, copy protectionএবং অন্যান্য অর্থ topics.I যে আপনি যদি কোন উপরে ক্ষেত্র মধ্যে আপনার অ্যাপ্লিকেশান অবস্থা পরিবর্তন, এটি বিভিন্ন ফলাফলের কারণ।
উদাহরণস্বরূপ যদি আপনি CHANGED COPY PROTECTION FROM ON to OFF OR OFF to ON, আপনার অ্যাপ্লিকেশন আপডেট হবে তবে আপনার সমস্ত ভাগ করা পছন্দ হারিয়ে ফেলবে, ফাইল অ্যাক্সেস অসম্ভব এবং ...।
যদিও আপনাকে being consideredপূর্ববর্তী অ্যাপের আপডেট হিসাবে নতুন অ্যাপের কারণ হিসাবে পরিস্থিতি সম্পর্কে যত্নবান হতে হবে ( জিনিসগুলি যা পরিবর্তন করতে পারে না )।

এছাড়াও আপনাকে আপনার কোড সম্পর্কে যত্নবান হতে হবে, এটি আপনার ডাটাবেসগুলির ডেটা মুছে ফেলার কারণ হতে পারে ( প্রিল্লোড এসকিউএলাইট সহ আপডেট অ্যাপ্লিকেশনটি দেখুন )।

তবে শেষ পর্যন্ত, সাবধান হলে আপনি বলতে পারেন:

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

আপনি আরও বিশদ জন্য এই পৃষ্ঠাগুলি দেখতে পারেন:

সাহায্য !? বাজারে আমাদের অ্যাপ্লিকেশনটি আপডেট করা সংরক্ষিত অংশীদারি পছন্দগুলি মুছে দেয়।
বাজারের অনুলিপি সুরক্ষা আপডেট করার পরে ফাইল অ্যাক্সেস সম্পূর্ণভাবে ভেঙে দেয়
কেউ কি অ্যাপ আপডেট প্রক্রিয়াটি ব্যাখ্যা করতে পারে?


ধন্যবাদ, আমার কাছে মনে হচ্ছে যে ভাগ করা পছন্দগুলি ঠিক রাখা উচিত। কিন্তু এই প্রক্রিয়াটির কোনও আনুষ্ঠানিক বিবরণ নেই?
ব্রুনো বিয়েরি

@ বিপরোন কোন প্রক্রিয়া? ভাগাভাগির সংজ্ঞা দেওয়া? বা অ্যাপ্লিকেশন আপগ্রেড করবে?
hasanghaforian

অ্যাপ্লিকেশন প্রক্রিয়া আপগ্রেড করা হচ্ছে। কোন অ্যাপ্লিকেশন আপগ্রেড করার সময় কি জিনিসগুলি অবশ্যই ঘটবে / ঘটতে পারে।
ব্রুনো বিয়েরি

@ ভিবার্বোন দয়া করে আমার উত্তরটি আবার দেখুন I আমি আরও বিশদ যুক্ত করেছি।
hasanghaforian

আরেকটি নোট: নিশ্চিত করুন যে ভাগ করা পছন্দসই নামটি আপগ্রেডের মধ্যে একই! সংস্করণগুলির মধ্যে আমার বিভিন্ন নাম ছিল, সুতরাং নতুন সংস্করণটি পূর্ববর্তী সংস্করণ থেকে সংরক্ষিত পছন্দগুলি বেছে
নিচ্ছে না

7

4 ঘন্টা ধরে ডিবাগ করার পরে আমি জানতে পেরেছিলাম যে আমি একটি মডেলটিকে সিরিয়াল করে স্ট্রিং হিসাবে সংরক্ষণ করছি। সিরিয়ালাইজযোগ্য ক্লাসটির নাম সিরিয়াল ভার্সনইউডিউডের দ্বারা একটি অনন্য আইডি রয়েছে , যা রানটাইমের সময় ডিফল্টরূপে সেট করা হয় এবং আইডিটি বর্গ, ইন্টারফেস এবং ভেরিয়েবলের নাম দিয়েও গণনা করা হয়। আমি জানতে পেরেছি আমি মডেল শ্রেণি পরিবর্তন করেছি, একটি পরিবর্তনশীল যুক্ত করেছি এবং তারপরে অ্যাপটি আপডেট করেছি। যেহেতু ক্লাসটি এখন পরিবর্তিত হয়েছে তাই একটি নতুন সিরিয়াল ভার্সনইউডিউ সেট করা হয়েছিল এবং তাই আপডেটে রয়েছে, এটি স্ট্রিংটি ডিসরিয়ালাইজ করতে এবং মডেলটি তৈরি করতে সক্ষম হয় নি এবং জাভা.ইও.অনুষ্ঠানিক শ্রেণিবদ্ধ ধারণা দিয়েছে

এই সমস্যাটি এড়াতে সুস্পষ্টভাবে সিরিয়াল ভার্সনিউড সেট করুন

static final long serialVersionUID = 42L;

4
তবে নিশ্চিত হয়ে নিন যে আপনার পরিবর্তনগুলি সামঞ্জস্যপূর্ণ বা আপনি জঘন্য বাগ পেতে পারেন।
mjaggard

5

আমি মনে করি গুগল প্লে এর মাধ্যমে যখন আমি আমার অ্যাপ্লিকেশনটি শেষ বার আপডেট করেছি তখন ভাগ করা পছন্দগুলি প্রভাবিত হয়নি।
আমি সেগুলি স্বয়ংক্রিয়ভাবে লগ ইন করতে ব্যবহার করছিলাম এবং আপডেটের পরে এটি এমন হয়েছিল।
এটি এক মাস আগে, আমার স্মৃতিটি ঝাপসা হয়ে উঠতে পারে তাই অন্যান্য লোকের মতামত শুনতে আরও ভাল।

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