چگونه برای ایجاد خود را اول تا کنون برنامه را پروژه

در برنامه نویسی از هر نوع، سنتی ایجاد app جهانی سلام برای پروژه خود را اول است. این به سادگی به این معنی شما واژه “سلام دنیا” به صفحه را چاپ کنید. از آن نیاز به درک بسیار اساسی چگونگی نمایش متن و از همه مهمتر, چگونه برای ایجاد و اجرای یک برنامه اساسی. پس چگونه شما جهانی سلام در اندیشه توسعه می گویند؟

مرکز اندیشه چیزهایی را بسیار آسان می کند. به محض این که شما ایجاد یک پروژه جدید، آن را با کد های بسیار اساسی و تنظیمات لازم را برای “سلام جهان” در صفحه نمایش چاپ جمعیت. این نوع از بازی برای شما. اما بخشی از روی حیله و تزویر در این مورد در واقع app خود را در حال اجرا است!

 سلام جهان اندیشه

معکوس مهندسی جهانی سلام در اندیشه توسعه استودیو اندیشه

app جهانی سلام برای ما پس از آن ساخته شده است، اما ما هنوز درک اساسی از چگونه باید آن را انجام داده است و معکوس مهندسی پروژه، ما می تواند یادگیری برخی از اصول اولیه مفید برنامه نویسی آندروید.

بنابراین، به یاد داشته باشید: MainActivity. جاوا می کد که اجرا می شود راه اندازی app خود را (در صورتی که شما همیشه می خواستم به آن را تغییر دهید که در AndroidManifest. xml، تعریف شده است). ما علاقه مند به این خط:

 setContentView (رضا چیدمان. avitivty_main); 

این اندیشه به activity_main. فایل xml در صفحه نمایش را می گوید. آن داخل “روش” onCreate نامیده می شود و به محض این که برنامه شروع می شود تا هر کد داخل وجود دارد اجرا خواهد شد. دفعات بازدید: پست در پیدا کردن راه خود در اطراف مرکز اندیشه برای اطلاعات بیشتر.

بند “activity_main .xml” به طرح را کلیک کنید. دو دیدگاه مختلف در دسترس هستند برای پرونده های چیدمان: مشاهده طراحی و مشاهده متن. شما می توانید تعویض میان این بندها در پایین پنجره پیدا کردن و کلیک کردن روی گزینه مربوطه.

مشاهده متن کد را به شما نشان می دهد. این کد به این معنا است که نسخه متنی کد است: آن منطق رسیدگی نمی باشد، اما توصیف عناصر در صفحه — آنچه ما می دانیم به عنوان زبان نشانه گذاری. آن همچنین پیش نمایش موجود در سمت راست بسته به اندازه مانیتور شما ممکن است.

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

دوبار کلیک کنید بر روی آن متن و پنجره باز در سمت راست شما را ببینید. این متن در واقع به چیزی به نام مشاهده اضافه شده و نوع خاص مشاهده در این مورد TextView است. همانطور که از اسمش پیداست، نه TextView (ویدجت) که متن را در صفحه نمایش نشان می دهد است. نمونه های دیگر از مشاهدات شامل دکمه های برچسب لیست و بیشتر. بسیاری از برنامه های روزانه استفاده می کنید از نمایش درست مثل این ساخته شده است. کار توسعه دهنده این است که ترتیب آنها را در اینجا طرح و سپس رفتار تعریف کد جاوا.

 سلام فایل طرح جهان

متوجه جعبه با ویژگی های مختلف در سمت راست. “متن” جعبه حاوی کلمه “سلام جهان!” — اگر که تغییر را داده، متن نمایش روی صفحه نمایش تغییر دهید. خوب و ساده!

اگر شما برای رفتن به مشاهده متن و تغییر این خط، به همین ترتیب، شما به همین ترتیب متن نمایش می تواند تغییر: اندیشه

: متن = "سلام جهان!" 

هر گونه تغییرات شما را در مشاهده متن در نمای طراحی و بالعکس منعکس شده است. سعی کنید آن را به “bonjour” تغییر و خودتان ببینید. امکان مشاهده اطراف صفحه نمایش بکشید و آن را بزرگتر با ماوس است.

در حال اجرا برنامه: آشنایی با دستگاه های مجازی

مانند در گفت: ایجاد app جهانی سلام در اندیشه توسعه بخش آسان است. بخش پیچیده تر اجرا می شود. مشکل اینجا را از با استفاده از دستگاه های مختلف از یک ما هدف قرار دادن می آید. ما در حال ساخت برنامه ای برای دستگاه های آندروید اما ما با استفاده از کامپیوتر ویندوز برای انجام این کار (به احتمال زیاد).

برای تست برنامه های دو گزینه داریم:

  • اجرای برنامه بر روی گوشی و یا قرص متصل از طریق USB
  • اجرای برنامه در تالار

مقلد است برنامه ای است که اجازه می دهد تا یک سیستم عامل برای اجرای برنامه های طراحی شده برای دیگری. هر کسی که تا کنون صوتی یا ماریو است در لپ تاپ یا گوشی های هوشمند خود بازی است استفاده کرد. استودیو آندروید همراه با بسته بندی شبیه ساز در از طریق مدیر AVD یا اندیشه مدیریت مجازی.

آزمایش بر روی دستگاه مجازی

برای شروع، انتخاب مدیر AVD اندیشه ابزار >> از منوی بالا.

(چگونه ما در حال شروع به آشنایی با این گزینه ها منوی کنم؟ تا آنجا که مرکز اندیشه خیلی بیشتر استقبال برای مبتدی ها تبدیل شده است، این هنوز بسیار مبهم است. چگونه می خواهم کسی خود را شروع می دانم چه مدیر AVD است? اگر هر چالش به عنوان آن می آید خوشبختانه، شما همه چیز به تدریج آشنا می توانید.)

 مجازی دستگاه آندروید

باید به دستگاه های مجازی آندروید خود ساخت. این اجازه می دهد تا شما را به ایجاد دستگاه با مشخصات مختلف و اندازه صفحه نمایش و بیشتر به مطمئن شوید برنامه خود را سازگار با بسیاری از تلفن های و قرص که ممکن است. دیدن که شما هر ساخته نشده هنوز وجود دارد هیچ چیز در اینجا الان — فقط گزینه “ایجاد دستگاه مجازی”.

که آمار و شما استقبال خواهد شد با یک صفحه نمایش که در آن شما می توانید سخت افزار را انتخاب کنید شما می خواهید. این به طور خاص تعیین اندازه صفحه نمایش و وضوح است. انتخاب پیش فرض در حال حاضر است رابطه 5 x. شما می توانید آن را به عنوان که ترک و سعی کنید اضافه کردن دستگاه های بیشتری در آینده هنگامی که شما می خواهید برای دیدن چگونه نگاه برنامه های خود را بر روی صفحه نمایش بزرگتر یا کوچکتر. بعد به آندروید نسخه می خواهید استفاده کنید را انتخاب کنید کلیک کنید.

 اندیشه سلام استودیو جهان

به شما مربوطه تصویر سیستم نیاز دارید. اگر شما لازم نیست که این نصب, شما را وادار به انتخاب کنید “نصب” و سپس “پذیرش” و آن را برای شما نصب شروع خواهد شد. هنگامی که انجام شده است، شما می توانید که تصویر سیستم را انتخاب کنید و شما سپس به صفحه نهایی که در آن شما می توانید برخی از تنظیمات بیشتر می روید. این اجازه می دهد تا شما تصمیم می گیرید چه مقدار حافظه اختصاص مقلد خود می خواهید. شما می توانید به ترک همه این را به عنوان آن را برای در حال حاضر و پس از آن فقط کلیک کنید “پایان”.

اگر شما با کلیک روی آیکون بازی سبز کوچک در بالای مرکز اندیشه یا رفتن به اجرا > اجرای برنامه ، شما گزینه ای برای انتخاب دستگاه مجازی شما قرار داده می شود. اگر همه چیز طبق برنامه و سپس بعد از مقدار قابل توجهی از بارگذاری رفته است، شما باید با خود برنامه و کلمات “سلام جهان!” شما خیره در صورت استقبال. تبریک: که خود برنامه اول کار است!

 سلام جهان اندیشه نرم افزار

به عنوان سرگرم کننده در کنار, شما در واقع می توانید این تالار اندیشه درست مانند هر دستگاه آندروید دیگر استفاده کنید. “خانه” را کلیک کنید و شما می توانید خروج از برنامه شما ساخته شده است و سپس به هر چیزی شما می توانید با گوشی خود انجام دهید. چرا به فروشگاه بازی (موجود در دستگاه های مجازی با آرم نمایش داده شده در کنار آنها) و نصب بعضی از برنامه های خود را? شما می توانید اطلاعات کاربری گوگل به صورت عادی استفاده کنید!

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

از مقلد برخی از سخت افزار فربه و کمی صبر نیاز به تست در تلفن خود

، شما در عوض سعی کنید تست برنامه های خود را در دستگاه های فیزیکی خود را ممکن است انتخاب کردن. اگر شما یک تلفن یا یک قرص به دست، شما به سادگی می توانید پلاگین که در متن “بازی و.”

خوب، تقریبا.

اول، شما نیاز به فعال کردن گزینه اشکال زدایی USB به نام. این احتمال در “پاسخ گزینه های خود را،” که ممکن است پنهان دور یافت می شود. بنابراین بهترین گزینه این است که انجام یک جستجوی گوگل سریع برای پیدا کردن چگونگی دسترسی به آنها در شما متفاوت فرآیند به این تنظیمات دسترسی از یک دستگاه به بعد،. به طور معمول یعنی رفتن به تنظیمات خود را، پیدا کردن شماره ساخت و بهره برداری از آن هفت بار.

 اندیشه نرم افزار

البته تست، شما همچنین برای اطمینان از صحیح درایور برای دستگاه شما نصب شده دارید و کلیک کنید و روشن کنید. اگر شما شده است با استفاده از تلفن خود را برای انتقال فایل ها، شما باید برای رفتن آماده شود.

پلاگین آن را در متن بازی و تماشا که چکمه های خود برنامه اول تا بر روی گوشی شما. این است تمام طول می کشد!

خلاصه

اندیشه استودیو ابزار پیچیده و آن همه شدن دشوار است. این نیز بسیار قدرتمند و بصری قطعه از نرم افزار بیش از حد است. همانطور که شما شروع به اضافه کردن نظرات و ساخت آنها چیزهای سرد، آن همه خیلی خیلی بیشتری داره دریافت کنید!

به یاد داشته باشید: تقریبا هر برنامه های کاربردی همیشه با برنامه “سلام دنیا” که در برخی از نقطه آغاز شده است. شما به سادگی در زیر راه خود در سنت بزرگ جهانی سلام در اندیشه توسعه.

شروع به توسعه خود را امروز App آندروید!

در اندیشه برنامه توسعه قدرت اندیشه

به آکادمی DGiT در حال حاضر مفتخر است گواهی: بیشتر دقیق و جامع دوره پوشش هر جنبه ای از توسعه نرم افزار آندروید اجرا توسط سیمز گری خود ما. اگر شما مبتدی مطلق با صفر برنامه نویسی دانش و یا برنامه های کهنه این دوره شما از طریق فرایند ساختمان زیبا، کاربردی آندروید نرم افزار و راهنمای شما به سرعت در آخرین امکانات اندیشه و استودیو اندیشه را.

این بسته شامل بیش از 6 ساعت فیلم با کیفیت بالا و بیش از 60 درس های مختلف. Reams اعم از عمق واژه نامه و منابع بسیار دقیق آموزش نوشته شده است و دسترسی منحصر به فرد به گروه اسلاک خصوصی ما که در آن شما می توانید کمک به طور مستقیم از گری و ما توسعه دهندگان دیگر نخبگان.

قلمی خوانندگان اضافی 50% امروز شوم. که پس انداز بیش از 120 دلار است. ادعای خود را تخفیف در حال حاضر با استفاده از کد promo منحصر به فرد: HALFOFF. این بلیط خود را به آینده ای پر سود در اندیشه برنامه توسعه است.

شروع یادگیری، هم

کاوش اندیشه P برش: برش های تعاملی و پویا

ایجاد کار سخت نیست بیش از فقط به خاطر اینکه شما با موفقیت برنامه خود را منتشر و ساخته شده است تا پایگاه کاربر. هنگامی که شما مخاطبان خود را پیدا کرده ام، شما نیاز به آویزان بر روی آنها!

که امسال من/خروجی، گوگل اعلام کرد برش آندروید از ویژگی های جدید به کمک کاربران با درخواست خود را مشغول نگه دارید. برش اندیشه در مکان های که در آن بسیاری از کاربران آندروید صرف بسیاری از زمان، بنابراین آنها یک راه موثر برای نگه داشتن کاربران آینده به درخواست خود را از جمله نتایج جستجوی گوگل ظاهر می شود.

در پایان این مقاله شما دو برش ایجاد: برش ساده است که راه اندازی یک فعالیت و یک تکه پویا است که اجازه می دهد تا کاربران با برنامه شما از خارج از چارچوب برنامه تداخل می کنند.

برش اندیشه چیست؟

اندیشه برش قطعه از محتوای برنامه خود را خارج از برنامه های شما نمایش داده شده است. آنها خواهد شد debuting در جستجوی گوگل و گوگل قصد دارد برای اضافه کردن پشتیبانی از خلال به برنامه ها و مناطق از سیستم عامل های دیگر در آینده.

برش انواع محتوا، از جمله متن، تصاویر، ویدیو، زنده داده، اسکرول کردن مطالب و لینک های عمیق و همچنین کنترل تعاملی تبدیل و لغزنده را نمایش می دهد. برش پویا و به روز رسانی به حوادث اتفاق می افتد در داخل خود نرم افزار نیز می تواند.

تصور کنید شما نصب app برای رزرو بلیط برای سینمای محلی خود را. دفعه بعد که شما Googling آخرین فیلمهای شما نتایج جستجوی معمولی و شاید که برنامه «کتاب، هم» قاچ کنید. این اجازه می دهد تا به شما در رزرو بلیط برای دیدن این فیلم در سینما های محلی خود را بدون نیاز به حرکت به دور از نتایج جستجوی خود را.

از دیدگاه کاربر، این خلال آنها با دسترسی آسان و سریع به ویژگی های مورد نیاز آنها را در آن لحظه دقیق فراهم کرده است. از دیدگاه توسعه دهنده این تکه کردم نرم افزار خود را مقابل کاربر در زمینه های مربوطه و موفقیت آنها را دوباره درگیر.

بنابراین آنها را در همه چیز، از اندیشه 4.4 پشتیبانی کنید بعد برش اندیشه نیز بخشی از Jetpack اندیشه است. به گفته گوگل اگر برش را به پروژه خود اضافه برش پتانسیل رسیدن به 95 درصد از تمام کاربران آندروید دارید!

شما قطعه اول ایجاد برش

می تواند انجام مجموعه اقدامات، اما بیایید نگهداری چیزهای در حال حاضر ساده و ایجاد یک تکه است که ما استفاده MainActivity راه اندازی شد.

با ایجاد یک پروژه جدید با استفاده از آخرین ساخت قناری اندیشه استودیو 3.2 شروع و سپس پروژه شما ساخت. gradle فایل و باز اضافه کنید androidx. تکه وابسته. برای نگه داشتن چیزهای سازگار، من همچنین فضای AndroidX برای وابستگی های دیگر استفاده می کنم. وابستگی

 {اجرای fileTree (شما: 'libs' شامل: ['*.jar']) اجرای ' androidx. appcompat: appcompat: 1.0.0-alpha1 'اجرای' androidx. constraintlayout: constraintlayout: 1.1.0 ' اجرای ' androidx خلال: خلال هسته: 1.0.0-alpha2 'اجرای' androidx. تکه: سازندگان قطعه: junit 'testImplementation' 1.0.0-alpha2: junit: 4.12' androidTestImplementation ' androidx-test: دونده: 1.1.0-alpha1 'androidTestImplementation' androidx test. اسپرسو: اسپرسو هسته: 3.1.0-alpha1 '} 

در زمان نگارش روند ایجاد یک تکه گاهی ناشی از استودیو اندیشه برای افزودن خودکار وابسته برش هسته و سازندگان قطعه تکراری. اگر مواجهه با پیغام خطا عجیب بررسی ساخت . gradle فایل شما برای اطمینان از این اتفاق افتاده.

ایجاد برش دهنده

تکه جزء است که امکان نمایش برش خارج از برنامه خود را در نتایج جستجوی گوگل است.

برای ایجاد کننده تکه:

  • کنترل کلیک کردم پروژه شما بسته “src”، دو جدید… > دیگر > برش دهنده .
  • نام این قطعه ارائه دهنده “MySliceProvider.”
  • کلیک کنید “پایان”.

هر بار که برنامه میزبان نیاز برای نمایش یک تکه، آن درخواست اتصال به دهنده تکه، با یکنواخت منبع شناسه (URI) قاچ می خواهد آن را برای نمایش ارسال. ارائه دهنده قطعه سپس تماس () onCreateSliceProvider و ساخت تکه با تماس onBindSlice () روش . در نهایت، onBindSlice () روش را تکه بازگشت و تصویب آن را به نرم افزار میزبان.

اگر کلاس MySliceProvider خود را به باز کردن کد به صورت خودکار فراهم می کند مروری بر روند این:

 واردات اندیشه. محتوای. ContentResolver;
اندیشه. محتوای. زمینه واردات;
اندیشه. محتوای. قصد وارد کردن;
اندیشه. خالص. نوع واردات;

androidx. مشخصه. NonNull واردات;
واردات androidx حاشیه نویسی system.nullable;
androidx. قاچ. تکه وارد;
androidx. قطعه. SliceProvider واردات;
androidx. قاچ. سازندگان. ListBuilder واردات;
androidx. قاچ. سازندگان. ListBuilder. RowBuilder واردات;

ایجاد یک کلاس است که SliceProvider / / گسترش کلاس های عمومی MySliceProvider SliceProvider {//Initialize دهنده قاچ onCreateSliceProvider//@Override عمومی onCreateSliceProvider بولی () {بازگشت درست؛ تماس با
   } @Override @NonNull عمومی Uri onMapIntentToUri (@Nullable قصد قصد) {Uri ساز جدید uriBuilder نوع ساز () =. طرح (ContentResolver. SCHEME_CONTENT);
       اگر (قصد == null) بازگشت uriBuilder. ساخت ()؛
       نوع داده ها = قصد. getData ()؛
       اگر (داده! = تهی && داده. getPath ()! = تهی) {رشته مسیر داده. getPath () =. جایگزین ("/"، "");
           uriBuilder uriBuilder =. مسیر (مسیر);
       } چهار چوب چهار چوب = getContext ()؛
       اگر (متن! = تهی) {uriBuilder uriBuilder =. اقتدار (getPackageName مضمون. ());
       } بازگشت uriBuilder. ساخت ()؛
   } //Build تکه / / عمومی برش onBindSlice (نوع sliceUri) {چهار چوب چهار چوب = getContext ()؛
       اگر (چهار چوب == null) بازگشت {پوچ;
       } //Check مسیر URI / / اگر (sliceUri. getPath (). برابر ("/")) {//Create ListBuilder است که شما می کنید اضافه کردن ردیف به برش خود را / / //Construct ListBuilder ((getContext)، sliceUri) جدید بازگشت ردیف خود را با استفاده از RowBuilder و سپس آنها را به لیست اضافه کنید / /

                   . addRow (RowBuilder جدید (متن، sliceUri). setTitle ("نوع یافت."))

ساخت لیست / /. ساخت ()؛
      } دیگری {بازگشت جدید ListBuilder (چهار چوب، sliceUri). addRow (RowBuilder جدید (متن، sliceUri). setTitle ("نوع نشد."))
                  . ساخت ()؛
       @Override}} / / توجه داشته باشید که ما هنر یک تکه در این مقاله را پوشش نمی / / عمومی خالی onSlicePinned (نوع sliceUri) {//Register هر ناظران است که باید برای مطلع شدن از تغییرات در داده های تکه / /} @Override عمومی onSliceUnpinned خالی (Uri sliceUr در) {نشت //Don ŧ را فراموش کرده ام به unregister هر ناظران برای جلوگیری از حافظه / /}} 

از SliceProvider سازنده است، آن را در پروژه شما بیانیه اعلام است. هنگامی که شما ایجاد کننده تکه با استفاده از استودیو اندیشه با رفتن به جدید … > دیگر > برش دهنده ، این اعلامیه به آشکار خود را به طور خودکار اضافه می شود:

    

                     

ساخت آندروید خود را برش سلامت: اگر این تکه اندیشه می گذرد، برای راه اندازی برنامه ما MainActivity [194ایجادخلالعمل

59008]، ما نیاز به ایجاد برخی از تغییرات در ارائه دهنده تکه: تعریف

SliceAction

شما را یک تکه تعاملی با ایجاد یک یا چند عمل بریدن. SliceAction شامل استفاده از عنوان آیکون و PendingIntent که تعامل با کاربر در برش های خود دسته.

من می روم برای تعریف اقدام تکه تنها برای راه اندازی برنامه ما MainActivity .

 عمومی createActivityAction SliceAction () {قصد قصد = جدید قصد ((getContext)، MainActivity-کلاس);
       بازگشت جدید SliceAction (PendingIntent. getActivity ((getContext) قصد 0، 0), IconCompat-createWithResource (getContext ()، رضا drawable. ic_home)، "راه اندازی MainActivity");
   } 

پس از آن، من می روم به این علامت به عنوان اقدام اولیه تکه هر زمان که تعامل کاربر با هر قسمت برش آن را آغاز کنید:

 createSlice های عمومی تکه (نوع sliceUri) {activityAction SliceAction (createActivityAction) =;... setPrimaryAction (activityAction); 

تعریف خلال مطالب

اگر چه شما می توانید برش اندیشه شما به درجه سفارشی، نهایت templated محتوای آنها. دقیقا نمی تواند از عناصر رابط کاربر یک تکه مثل تعریف طرح نرم افزار از طریق فایل های XML هنگامی که موقعیت.

برای ساخت یک قطعه رابط کاربر، شما نیاز به پیاده سازی ListBuilder ، تعیین نوع ردیف می خواهید نمایش داده و تعریف محتوا برای هر ردیف.

در حال حاضر، بیایید نگهداری چیزهای ساده و اساسی RowBuilder ، که پشتیبانی از همه نوع مطالب زیر استفاده کنید:

  • A مورد عنوان. به نظر می رسد این در آغاز سطر. مورد عنوان می تواند زمان مهر و موم کردن تصویر یا SliceAction.
  • عنوان. این خط از متن قالب بندی شده به عنوان یک عنوان است.
  • زیرنویس. این خط از متن به عنوان متن معمولی قالب بندی است.
  • مورد شروع. این می تواند یک نماد مهر زمان یا SliceAction .
  • آیتم های پایان. اینها مواردی است که در انتهای هر ردیف ظاهر می شود. شما می توانید چند مورد پایان برای هر ردیف عرضه اما فضای موجود برخی از این موارد پایان در دستگاه های خاص نمایش داده نمی شود ممکن است. موارد شروع و پایان یا می توانید برچسب زمان آیکون یا SliceAction.
  • عمل اصلی. این عمل که باعث می خواهید هر زمان که کاربر شیپور خاموشی t باشداو ردیف.

برای نگهداری چیزهای ساده، من برای ایجاد یک ردیف تنها متشکل از عنوان “راه اندازی MainActivity” می روم.

 واردات اندیشه. حدود PendingIntent;
اندیشه. محتوای. قصد وارد کردن;
اندیشه. خالص. نوع واردات;

واردات androidx. هسته. گرافیک. drawable. IconCompat;
androidx. قاچ. تکه وارد;
androidx. قطعه. SliceProvider واردات;
androidx. قاچ. سازندگان. ListBuilder واردات;
androidx. قاچ. سازندگان. SliceAction واردات;

گسترش کلاس های عمومی MySliceProvider SliceProvider {@Override عمومی onCreateSliceProvider بولی () {بازگشت درست؛
   } @Override عمومی برش onBindSlice (نوع sliceUri) {نهایی مسیر رشته = sliceUri. getPath ()؛
       سوئیچ (مسیر) {//Define تکه است نوع; من با استفاده از ' mainActivity ' //case "/ mainActivity": createSlice (sliceUri)؛ بازگشت
       } بازگشت پوچ;
   } عمومی برش createSlice (نوع sliceUri) {activityAction SliceAction = createActivityAction ()؛

ایجاد ListBuilder / / ListBuilder listBuilder = ListBuilder جدید ((getContext)، sliceUri، ListBuilder. بی نهایت);

ایجاد RowBuilder / / ListBuilder-RowBuilder rowBuilder = //Set ListBuilder. RowBuilder (listBuilder) جدید متن عنوان / /. setTitle ("راه اندازی MainActivity.")

تنظیم ردیف عمل اصلی / /. setPrimaryAction (activityAction);

اضافه کردن سطر به ListBuilder / / listBuilder. addRow (rowBuilder);

ساخت لیست / / بازگشت listBuilder. ساخت ()؛
   } عمومی () createActivityAction SliceAction {قصد قصد = جدید قصد ((getContext)، MainActivity-کلاس);
       بازگشت جدید SliceAction (PendingIntent. getActivity ((getContext) قصد 0، 0), IconCompat-createWithResource (getContext ()، رضا drawable. ic_home)، "راه اندازی MainActivity");
   }} 

این همه شما نیاز به ایجاد یک تکه عملکرد است. از آنجا که برش هنوز از ویژگی های تجربی، با این حال، شما نیاز به از طریق hoops چند پرش قبل از اینکه شما می توانید این قطعه را در عمل تجربه.

آزمایش برش اندیشه با قاچ Viewer

در زمان نگارش، شما فقط خود برش آندروید گوگل در قاچ Viewer نرم افزار که تقلید چگونه برش سرانجام در نتایج جستجوی گوگل ظاهر خواهد شد با استفاده از test می تواند.

برای نصب قاچ Viewer:

  • را مطمئن شوید که دستگاه شما آندروید به شما موتور متصل شده و یا خود اندیشه مجازی دستگاه (AVD) تا است و در حال اجرا.
  • دانلود حدود قاچ Viewer
  • حرکت APK قاچ Viewer به پوشه اندیشه/sdk/بستر های نرم افزاری-ابزارها .
  • باز کردن یک اعلان فرمان (ویندوز) یا ترمینال (مک).
  • تغییر دایرکتوری (“cd”)، بنابراین پنجره اشاره در پوشه اندیشه/sdk/بستر های نرم افزاری-ابزارها مانند این:

سی دی/کاربران/jessicathornsby/کتابخانه/اندیشه/sdk/بستر های نرم افزاری-

  • نصب ابزار قاچ Viewer APK در خود دستگاه اندیشه یا AVD تایپ دستور زیر را در خط فرمان و یا پنجره ترمینال و سپس با فشار دادن کلید را وارد کنید:

. / بانک انکشاف آسیایی نصب نی قاچ viewer. apk

بعد، شما نیاز به ایجاد پیکربندی تکه اجرا و تصویب آن خود تکه های منحصر به فرد URI: رفتن

  • به اجرای > ویرایش تنظیمات… از نوار ابزار اندیشه استودیو.
  • کلیک بر روی آیکون کوچک “+” و سپس “آندروید App.”

  • “بریدن به نام” وارد کنید.
  • باز کردن کشویی “ماژول” و سپس انتخاب منوی کرکره ای باز “پرتاب” حدود”
  • ، و”آدرس”را انتخاب کنید
  • بعد، آدرس برش خود را در قالب قطعه-content://package-name/slice-URL وارد کنید. است به عنوان مثال، آدرس من خلال: خلال content://com.jessicathornsby.launchslice/mainActivity

    کلیک کنید خوب.

  • را انتخاب کنید اجرای > تکه از نوار ابزار اندیشه استودیو اجرا و دستگاه خود را انتخاب کنید.

این برنامه خواهد شد در حال حاضر نصب شده بر روی دستگاه شما آندروید. قاچ Viewer قادر به درخواست مجوز برای دسترسی به برنامه خود را برش را; از دست دادن اجازه و برش خود را روی صفحه ظاهر شود.

قطعه “راه اندازی MainActivity” دکمه را کلیک کنید و تکه باید پاسخ درخواست شما MainActivity راه اندازی شده توسط.

دانلود برنامه به پایان رسید از GitHub.

ایجاد تکه پویا

بیایید حرکت بر روی چیزی هیجان انگیز تر و ایجاد برش پویا است که اجازه می دهد تا کاربران برای ارتباط برقرار کردن با نرم افزار مربوط به طور مستقیم از رابط کاربری تکه.

این نرم افزار دوم برای نمایش ارزش کاربر می تواند به افزایش و کاهش یا از نرم افزار خود و یا از تکه می گذرد. بنابراین آنها همیشه دسترسی به آخرین اطلاعات بدون در نظر گرفتن اینکه آیا کاربر تغییر مقدار در برنامه یا تکه، داده های جدید در سراسر هر دو اجزای همگام سازی می شود.

برای ساخت این قطعه ایجاد یک پروژه جدید یا بروز رسانی برنامه های موجود شما. اگر شما تصمیم به ایجاد یک پروژه تازه و سپس شما نیاز به راه اندازی زیر تکرار کنید:

  • ایجاد کلاس MySliceProvider ، کنترل کلیک کردن پوشه “src” پروژه شما و جدید انتخاب… > دیگر > [برشدهنده.
  • اضافه کردن زیر وابسته به خود فایل gradle ساخت.: وابسته
 {اجرای fileTree (شما: 'libs' شامل: ['*.jar']) اجرای ' androidx-appcompat: appcompat: 1.0.0-alpha1 ' اجرای ' androidx. constraintlayout: constraintlayout: 1.1.0 'اجرای' androidx. حاشیه نویسی: حاشیه نویسی: 1.0.0-alpha1 'اجرای' androidx. قطعه: تکه هسته: 1.0.0-alpha2 'اجرای' androidx. تکه: سازندگان قطعه: 1.0.0-alpha2 '
   testImplementation ' junit: junit: 4.12' androidTestImplementation ' androidx-test: دونده: 1.1.0-alpha2 'androidTestImplementation' androidx. test. اسپرسو: اسپرسو هسته: 3.1.0-alpha2 '} 

ایجاد طرح نرم افزار

شروع ایجاد رابط کاربر برنامه را.

پروژه خود را activity_main . xml فایل را باز کرده و ایجاد “افزایش” و دکمه “کاهش” به علاوه TextView دو نهایت نمایش برنامه پویا ارزش:

    

ما نیز نیاز به ایجاد منابع رشته است که نشان می دهد ما ارزش پویا:

   dynamicSlice 
    Count:%du00B   

ایجاد بردار را با بردار مرکز دارایی

در خلال، من می خواهم برای نمایش “تا” و “پایین” فلش است که به تغییر ارزش برنامه شنود گذاشته: کنترل کلیک کنید

  • پروژه شما “پژوهش” دایرکتوری و را انتخاب کنید جدید > سرمایه برداری .
  • با کلیک بر روی آیکون “قطعه هنری” کمی.
  • منبع “پیکان به سمت بالا” را انتخاب کنید و سپس روی تأیید کلیک کنید.
  • دارایی های خود را به نام “ic_count_up” و سپس روی بعدی کلیک کنید.
  • پایان را کلیک کنید.

مراحل بالا را تکرار کنید اما این بار نماد پیکان رو به پایین را انتخاب کنید و آن را به نام “ic_count_down.”

هر بار که کاربر افزایش یا کاهش ارزش یک تکه به روز رسانی که زمان اجرا

، ما می داند ما قطعه مورد آن باید مطمئن شوید!

برای یک تکه اطلاع رسانی درباره تغییرات برنامه ما باید تماس بگیرید چهار چوب. getResolver. notifyChange (Uri, پوچ) onBindSlice () روش را آغاز و باعث تکه را بازسازی باشد با مطالب جدید.

 واردات اندیشه. عامل. بسته نرم افزاری;
اندیشه. محتوای. زمینه واردات;
اندیشه. ویدجت. TextView واردات;
اندیشه. خالص. نوع واردات;
اندیشه. مشاهده. مشاهده واردات;

androidx. appcompat. حدود AppCompatActivity وارد کردن;
androidx. مشخصه. NonNull واردات;

کلاس های عمومی MainActivity گسترش AppCompatActivity پیاده OnClickListener {مشاهده اعضای هیات استاتیک عمومی clickCount = 0؛

   mTextView TextView خصوصی;

   @Override حفاظت شده onCreate خالی (بسته نرم افزاری savedInstanceState) {onCreate super. (savedInstanceState);
       setContentView (رضا چیدمان. activity_main);

       mTextView = findViewById (رضا شناسه click_count);

       findViewById (رضا شناسه افزایش). setOnClickListener (این);
       findViewById (رضا شناسه کاهش). setOnClickListener (این);
   } @Override عمومی خالی onClick (مشاهده مشاهده) {هیات شناسه شماره = مشاهده. getId ()؛
       سوئیچ (شناسه) {رضا increase://Increase شناسه ارزش مورد / / updateClickCount (getApplicationContext () clickCount + 1)؛
               شکستن;
           مورد decrease://Decrease رضا شناسه ارزش / / updateClickCount (getApplicationContext (), clickCount-1)؛
               شکستن;
       } mTextView. setText (getClickString (getApplicationContext ()));
   } عمومی استاتیک رشته getClickString (چهار چوب چهار چوب @NonNull) {بازگشت مضمون. getString (R. click_string، clickCount)؛
   } عمومی updateClickCount خالی استاتیک (چهار چوب چهار چوب، اعضای هیات newValue) {اگر (newValue! = clickCount) {clickCount = newValue؛

بازیابی URI است که به این قطعه نقشه برداری / / نوع uri = MySliceProvider. getUri (چهار چوب، "clickCount");

مطلع قطعه مورد محتوای به روز شده / / مضمون. getContentResolver (). notifyChange (uri تهی)؛
       }}} 

ایجاد تکه چند انتخابي

در ما ارائه دهنده قطعه دوم، ما نیاز به تکمیل مراحل معمول (مانند اجرای onCreateSliceProvider و onBindSlice )، به علاوه موارد زیر: [19659018] ایجاد چند SliceActions. ما نیاز به تعریف اقدامات تکه های جداگانه برای زمانی که کاربر را افزایش می دهد ارزش و زمانی که آنها کاهش ارزش.

  • ورودی کاربر را اداره می کند. ما نیز نیاز به تعریف PendingIntent به ثبت حوادث تغییر ارزش برنامه ما. در مرحله بعد ما BroadcastReceiver امکان ایجاد دو خرید این PendingIntents .
  • برخی از موارد پایان عرضه. شما می توانید مقایسه، آیکن ها، نمایش و بریدن اقدامات در انتهای هر ردیف. من می روم به استفاده از “بالا” و “پایین” به عنوان موارد پایان من خلال بردارها.
  • MySlicePr نهایی اینجاستکلاس ovider :

     واردات اندیشه. محتوای. ContentResolver;
    اندیشه. محتوای. زمینه واردات;
    اندیشه. محتوای. قصد وارد کردن;
    واردات اندیشه. حدود PendingIntent;
    اندیشه. خالص. نوع واردات;
    
    androidx. قاچ. سازندگان. ListBuilder واردات;
    androidx. قاچ. تکه وارد;
    androidx. قاچ. سازندگان. SliceAction واردات;
    androidx. قطعه. SliceProvider واردات;
    
    واردات androidx. هسته. گرافیک. drawable. IconCompat;
    
    com. استاتیک jessicathornsby. dynamicslice. MyBroadcastReceiver. ACTION_CHANGE_COUNT واردات;
    com. استاتیک jessicathornsby. dynamicslice. MyBroadcastReceiver. EXTRA_COUNT_VALUE واردات;
    واردات com. استاتیک jessicathornsby. dynamicslice. MainActivity. getClickString;
    واردات com. استاتیک jessicathornsby. dynamicslice. MainActivity. clickCount;
    
    گسترش کلاس های عمومی MySliceProvider SliceProvider {زمینه متن؛
       تعداد اعضای هیات استاتیک خصوصی = 0؛
    
       @Override عمومی onCreateSliceProvider بولی () {متن = getContext ()؛
          بازگشت واقعی؛
       } @Override عمومی برش onBindSlice (نوع sliceUri) {نهایی مسیر رشته = sliceUri. getPath ()؛
           سوئیچ (مسیر) {//Define URI / / مورد "/ clickCount": createClickSlice (sliceUri)؛ بازگشت
           } بازگشت پوچ;
       } createClickSlice تکه های خصوصی (نوع sliceUri) {//Define دو SliceActions / / SliceAction clickUp = SliceAction جدید (getChangeCountIntent (clickCount + 1)، IconCompat-createWithResource (چهار چوب، رضا drawable. ic_count_up). toIcon () "Incre تعداد دفعات مشاهده آسه ");
           SliceAction clickDown = SliceAction جدید (getChangeCountIntent (clickCount-1)، IconCompat. createWithResource (چهار چوب، رضا drawable. ic_count_down). () toIcon "کاهش تعداد");
    
           Listbuilder listBuilder = ListBuilder جدید (متن، sliceUri)؛
           Listbuilder. RowBuilder clickRow = جدید ListBuilder. RowBuilder (listBuilder);
    
           clickRow. setTitle (getClickString (چهار چوب));
    
    اقداماتی که نمایش داده می شوند در پایان سطر اضافه کنید / / clickRow. addEndItem (clickDown);
           clickRow. addEndItem (clickUp);
    
    اضافه کردن سطر به پدر و مادر ListBuilder / / listBuilder. addRow (clickRow);
    
    ساخت تکه / / بازگشت listBuilder. ساخت ()؛
       } //Define PendingIntent است که در نهایت ما گیرنده پخش را آغاز کنید / / خصوصی getChangeCountIntent PendingIntent (دانشنامه هوشمند مقدار) {قصد قصد = جدید قصد (ACTION_CHANGE_COUNT);
           قصد. setClass (چهار چوب، MyBroadcastReceiver کلاس);
           قصد. putExtra (EXTRA_COUNT_VALUE، ارزش);
           بازگشت PendingIntent-getBroadcast (getContext ()، تعداد دفعات مشاهده ++، قصد، / / اگر PendingIntent در حال حاضر وجود دارد، سپس آن را با داده های جدید بروز / / PendingIntent-FLAG_UPDATE_CURRENT);
       } عمومی استاتیک Uri getUri (چهار چوب چهار چوب، مسیر رشته) {جدید () نوع ساز بازگشت. طرح (ContentResolver. SCHEME_CONTENT). قدرت (چهار چوب. getPackageName ()). appendPath (مسیر). ساخت ()؛
       }} 

    عمل تکه مفاهیم

    در نهایت، ما نیاز به ایجاد گیرنده پخش برای بازیابی هر مقدار جدید و اطلاع رسانی ارائه دهنده تکه هر زمان که نیاز به بازسازی تکه: کنترل کلیک کنید

    • پروژه شما “src” پوشه جدید را انتخاب کنید و > دیگر > پخش گیرنده .
    • نام “MyBroadcastReceiver” را وارد کنید و سپس روی پایان کلیک کنید.
    • شما MyBroadcastReceiver فایل را باز کرده و اضافه کردن زیر:
     واردات اندیشه. محتوای. BroadcastReceiver;
    اندیشه. محتوای. زمینه واردات;
    اندیشه. محتوای. قصد وارد کردن;
    
    واردات com. استاتیک jessicathornsby. dynamicslice. MainActivity. clickCount;
    واردات com. استاتیک jessicathornsby. dynamicslice. MainActivity. updateClickCount;
    
    کلاس های عمومی MyBroadcastReceiver گسترش BroadcastReceiver {عمومی استاتیک رشته ACTION_CHANGE_COUNT = "بازرگاني jessicathornsby. slicetesting. ACTION_CHANGE_COUNT";
       عمومی استاتیک رشته EXTRA_COUNT_VALUE = "بازرگاني jessicathornsby. slicetesting. EXTRA_COUNT_VALUE";
    
       @Override خالی onReceive عمومی (چهار چوب چهار چوب، قصد قصد) {رشته اقدام = قصد. getAction ()؛
    
           اگر (ACTION_CHANGE_COUNT. (عمل) برابر && قصد. getExtras ()! = تهی) {//Retrieve مقدار جدید / / اعضای هیات newValue قصد. getExtras () =. getInt (EXTRA_COUNT_VALUE، clickCount)؛
               updateClickCount (چهار چوب، newValue)؛
           }}} 

    را برش خود را پویا به test دو test

    این تکه، شما نیاز به ایجاد پیکربندی اجرای دوم است که این برش خاص نوع منحصر به فرد: انتخاب

    • اجرای > ویرایش تنظیمات را از اندیشه نوار ابزار استودیو.
    • کلیک بر روی آیکون کوچک “+” و “اندیشه App.” را انتخاب کنید
    • این پیکربندی نام می دهد.
    • باز کردن کشویی “راه اندازی” و سپس “آدرس” را انتخاب کنید
    • URI برای راه اندازی این قطعه را وارد کنید. من با استفاده از موارد زیر: تکه content://com.jessicathornsby.dynamicslice/clickCount
    • “خوب.” را کلیک کنید
    • را انتخاب کنید اجرای > تکه را از نوار ابزار اندیشه استودیو اجرا.

    برش خود را در حال حاضر در تالار و یا دستگاه های آندروید متصل ظاهر می شود.

    برای قرار دادن این قطعه به test, از دست دادن آن “تا” و “پایین” فلش و تبدیل به درخواست شما MainActivity . از دست دادن هر کدام از دکمه “افزایش” یا “کاهش” برنامه، و باید شروع به شمارش از مقدار ایجاد شده به تکه و نه از صفر. اگر شما به تکه، شما باید پیدا کنید ارزش به طور خودکار به روز است.

    دانلود پروژه کامل از GitHub.

    حالا شما بدانید که چگونه برای پیاده سازی این قابلیت جدید پیچیدن تا

    . برش در پروژه های آندروید خود استفاده خواهید کرد؟ ما در نظرات زیر می دانم!