Google
خانه / آموزش / کار با Account-manager اندروید

کار با Account-manager اندروید

learning-tempelate

مطلبی که این جلسه قصد آموزش آن را دارم کار با سیستم مدیریت حساب داخلی اندروید می باشد. می خواهیم در یک پروژه عملی یک حساب کاربری دلخواه بسازیم و بعد از ثبت نام اولیه , تایید از سرور، برنامه با استفاده از حساب کاربری داخلی ایجاد شده بطور خودکار لاگین کند. با توجه به اینکه منابع زیادی در این رابطه حتی به انگلیسی موجود نمی باشد، امیدوارم این مطلب برایتان مفید واقع شود. در واقع مشکل از جایی شروع شد که خودم به دنبال پیداکردن جوابی برای آن بودم نهایتاً تجربه شخصی خودم را برایتان به اشتراک می گذارم. البته در آموزش امروز با اصول اولیه حساب کاربری آشنا خواهیم شد و اصل مطلب برای آموزش بعدیست!

This class provides access to a centralized registry of the user’s online accounts. The user enters credentials (username and password) once per account, granting applications access to online resources with “one-click” approval.

طبق تعریف رسمی اندروید: AccountManager کلاسی است که ثبت نام های آنلاین کاربر را متمرکز کرده و با توجه به اطلاعاتی که از کاربر نگهداری می کند( از قبیل نام کاربری و کلمه عبور)، ارتباط با آن (کاربر ثبت شده) و استفاده از منابع آن را توسط برنامه ها به آسانی فراهم می کند.

برای کار با AccountManager اندروید نیاز به سه آیتم اصلی داریم که هرکدام را ملاحظه خواهید کرد.

  • سرویس ویژه مدیریت حساب
  • فایل xml حاوی اطلاعات مربوط به حساب کاربری
  • یک نمونه از کلاس AbstractَAccountAuthenticator

در این کلاس مشتق شده متدها بطور خودکار تولید می شوند و توضیح اینکه کار اصلی آن چه است برای آموزش بعدی و فقط این را بدانید که اجباری است. من  فقط در متد addAccount یک لاگ گذاشتم تا ببینید چه موقع فراخوانی می شود و بدانید اتفاقات این کلاس ارتباط مستقیمی به حساب کاربری دارد. مثلا هرجایی از Account-Manager استفاده کنیم و توسط آن اکانتی را اضافه کنید، متد addAccount در این کلاس فراخوانی می شود. ارتباط این کلاس با Account-manager توسط سرویسی است در پایین می بینید.
سرویس را بصورت زیر بسازید:

حال فایل xml در پوشه xml پروژه بسازید. من اسم این را account_data.xml می گذارم. همانطور که مشاهده می کنید نام برنامه، نوع دلخواه حساب کاربری و آیکون حساب کاربری تعریف می شود. (این آیکون همان آیکونی هست که وقتی از تنظیمات وارد حساب کاربری گوشی می شوید، انواع حساب های کاربری موجود  را با آیکن آنها را می بینید!)

سپس لازم است تا سرویس تولید شده را در فایل Manifest  تعریف کرده و فایل account_data.xml را ضمیمه کنیم:

حال تنها کاری که باید انجام دهیم استفاده از دستور accountmanageraddAccountExplicitly در هر جای دلخواه است.

خیلی خوب! شما موفق شدید با اجرای برنامه و لمس fab button حساب کاربری جدیدی از نوع “com.mahdi” ایجاد کنید که در آن نام کاربری و کلمه عبور قرار داده شده است. می توانید به تنظیمات گوشی رفته و حساب کاربری تولید شده را مشاهده کنید. امیدوارم آموزش براتون مفید بوده باشدو  در آموزش بعدی نحوه استفاده از این نام کاربری و کلمه عبور برای لاگین خودکار و همچنین اتفاقات و متد های MyAutenticator را بطور مفصل مورد برسی قرار خواهیم داد. درصورتی که نکته نظر یا سوالی داشتید کامنت کنید.

۵ دیدگاه

  1. سلام میشه ادامه آموزشتون رو بزارید خیلی نیاز دارم ممنون میشم
    با تشکر

  2. سلام.ممنون از مطالب مفیدتون
    کاربرد این مبحث برام واضح نبود ،منتظر بقیه آموزش هستم
    مرسی

    • سلام. خوشحالم که براتون مفید بوده. همانطور که در مقاله اشاره کرده ام، کاربرد این کلاس وقتی هست که بخواهیم در پروژه Accounting داشته باشیم و کاربر بتواند با یک یوز و پسی وارد برنامه شود. با استفاده از AccountManager می توانیم دسترسی موازی به یوزر های محتلف جهت اپ داشته باشیم. همانطور که شما می توانید با یوزر گوگل موجود در گوشیتان در برنامه های گوناگون به راحتی ثبتنام کنید. چشم، حتماً در اولین فرصت بخش تکمیلی را می نویسم.

  3. چقدر جالب.آموزش رو بیشتر کنید تو سایتتون.ممنون

دیدگاهتان را ثبت کنید

آدرس ایمیل شما منتشر نخواهد شدعلامتدارها لازمند *

*

bigtheme