10 ارسال در این موضوع قرار دارد

با عرض سلام

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

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

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

    • فصل اول : آموزش مقدمات برنامه نویسی – رایگان
    • فصل دوم: آموزش دیتابیس در اندروید – ۱۶ هزار تومان  
    • فصل سوم: آموزش فایلینگ در اندروید – ۱۲ هزار تومان  
    • فصل چهارم: آموزش ارتباط با سرور در اندروید – ۳۶ هزار تومان   
    • فصل پنجم: آموزش سخت افزار در اندروید – ۲۴ هزار تومان  
    • فصل ششم: آموزش ساخت کتاب در اندروید- ۳۲ هزار تومان  
    • فصل هفتم : آموزش ساخت برنامه برای وب سیات – ۳۰ هزار تومان  
      • آموزش ساخت فرم لاگین و ثبت نام برای برنامه – ۵ هزار تومان 
      • آموزش ساخت فرم پرداخت درون برنامه ای کافه بازار – ۱۲ هزار تومان

      [*]آموزش دیکد برنامه های اندروید – ۵ هزار تومان 

      [*]آموزش کار با پیامک ها در اندرود – ۲ هزار تومان

      [*]سورس بازی آتاری برای اکلیپس – ۸ هزار تومان 

      [*]سورس برنامه ماه حسین برای اکلیپس – ۸ هزار تومان

      [*](NEW)آموزش امکان دانلود و آپلود فایل -۱۰ هزار تومان 

      [*](NEW)آموزش کار با ویدیو های آنلاین و آفلاین-۱۰ هزار تومان  

      [*](NEW)آموزش ساخت محتوای پیشرفته (قرار دادن تصویر بین متن) – رایگان

      [*](NEW)آموزش اضافه کردن قابلیت پرداخت و اتصال به درگاه بانک – ۲۵ هزار تومان

با تخفیف 53 درصدی  میشه 110 هزار تومان

از مدیران خواهشمندم این تاپیک حذف نکنند.

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

من موافقم در صورتی که متقاضیان زیاد باشند.

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

من موافقم در صورتی که متقاضیان زیاد باشند.

جوابتون در خصوصی دادم. ممنون از اعلام موافقتتون

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

من موافقم در صورتی که متقاضیان زیاد باشند.

جوابتون در خصوصی دادم. ممنون از اعلام موافقتتون

لطفا به من پیام بدید

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

این آموزش ها که برای سایت نیک اندروید هست! نکنه شما یکبار خریدین و حالا دارین لینک هاش رو میفروشین؟

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

این آموزش ها که برای سایت نیک اندروید هست! نکنه شما یکبار خریدین و حالا دارین لینک هاش رو میفروشین؟

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

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

این آموزش ها که برای سایت نیک اندروید هست! نکنه شما یکبار خریدین و حالا دارین لینک هاش رو میفروشین؟

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

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

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

الته سایت نیک اندروید ب مناسبت دهه کرامت قیمتش 90 هزار کرده بود اما دقیقا وقتی داشتم این متن و درخواست برای خرید اشتراکی می نوشتم و رفتم تو سایتش تا سرفصل های آموزشی را کپی کنم دیدم قیمتش زده 110 هزار تومان

امیدوارم این توضیحات برای رفع اتهام کافی بوده باشه

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

این آموزش ها که برای سایت نیک اندروید هست! نکنه شما یکبار خریدین و حالا دارین لینک هاش رو میفروشین؟

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

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

موفق باشید

این آموزش ها که برای سایت نیک اندروید هست! نکنه شما یکبار خریدین و حالا دارین لینک هاش رو میفروشین؟

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

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

بسیار عالی دوست عزیز، اگر میخواین شریکی بخرین اتفاقا خیلی هم خوبه و انشالله که یاد بگیرین و موفق باشید

من از شما معذرت میخوام بخاطر پست قبلیم، چون شما هم در پست اول کمی گنگ توضیح داده بودین به خاطر همین لابد منم منظور شما رو بد متوجه شدم! دور از جون شما از بس از این مسائل در ایران دیدیم که برای همین این سوال رو پرسیدم

به هرحال من از شما معذرت میخوام و انشالله که موفق و سربلند باشید

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

این آموزش ها که برای سایت نیک اندروید هست! نکنه شما یکبار خریدین و حالا دارین لینک هاش رو میفروشین؟

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

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

موفق باشید

این آموزش ها که برای سایت نیک اندروید هست! نکنه شما یکبار خریدین و حالا دارین لینک هاش رو میفروشین؟

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

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

بسیار عالی دوست عزیز، اگر میخواین شریکی بخرین اتفاقا خیلی هم خوبه و انشالله که یاد بگیرین و موفق باشید

من از شما معذرت میخوام بخاطر پست قبلیم، چون شما هم در پست اول کمی گنگ توضیح داده بودین به خاطر همین لابد منم منظور شما رو بد متوجه شدم! دور از جون شما از بس از این مسائل در ایران دیدیم که برای همین این سوال رو پرسیدم

به هرحال من از شما معذرت میخوام و انشالله که موفق و سربلند باشید

:heart::heart::heart::heart::heart:

مرسی دوست عزیز. خوشحالم که سوتفاهم ها برطرف شد.

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری

  • مطالب مشابه

    • توسط SIMMORSAL
      سلام، این لینک آموزشه: https://github.com/SIMMORSAL/ViewDrag
       
      فقط این به انگلیسیه. کسی میتونه ترجمش کنه به فارسی که همه استفاده ببرن؟

    • توسط Omid Zakeri
      این فریمورک مختص اندروید طراحی نشده ولی سبک بودن آن موجب شده‌است که بسیاری از برنامه نویسان از آن در برنامه‌های اندرویدی استفاده کنند. این فریم ورک جهت اتصالات JDBC وSpring و اندروید طراحی شده است.
       
       
      @DatabaseTable(tableName = "users") public class User { @DatabaseField(id = true) private String username; @DatabaseField private String password; public User() { // ORMLite needs a no-arg constructor } public User(String username, String password) { this.username = username; this.password = password; } // Implementing getter and setter methods public String getUserame() { return this.username; } public void setName(String username) { this.username = username; } public String getPassword() { return this.password; } public void setPassword(String password) { this.password = password; } }
    • توسط Omid Zakeri
      با آمدن ORM‌ها به دنیای برنامه نویسی، کار برنامه نویسی نسبت به قبل ساده‌تر و راحت‌تر شد. عدم استفاده کوئری‌های دستی، پشتیبانی از چند دیتابیس و از همه مهمتر و اصلی‌ترین هدف این ابزار "تنها درگیری با اشیا و مدل شیء گرایی" کار را پیش از پیش آسان‌تر نمود.
      در این بین به راحتی می‌توان چندین نمونه از این ORM‌ها را  نام برد مثل IBatis , Hibernate ,Nhibernate و EF که از معروفترین آن‌ها هستند.
      من در حال حاضر قصد شروع یک پروژه اندرویدی را دارم و دوست دارم بجای استفاده‌ی از Sqlitehelper، از یک ORM مناسب بهره ببرم که چند سوال برای من پیش می‌آید. آیا ORM ای برای آن تهیه شده است؟ اگر آری چندتا و کدامیک از آن‌ها بهتر هستند؟ شاید در اولین مورد کتابخانه‌ی Hibernate جاوا را نام ببرید؛ ولی توجه به این نکته ضروری است که ما در مورد پلتفرم موبایل و محدودیت‌های آن صحبت می‌کنیم. یک کتابخانه همانند Hibernate مطمئنا برای یک برنامه اندروید چه از نظر حجم نهایی برنامه و چه از نظر حجم بزرگش در اجرا، مشکل زا خواهد بود و وجود وابستگی‌های متعدد و دارا بودن بسیاری از قابلیت‌هایی که اصلا در بانک‌های اطلاعاتی موبایل قابل اجرا نیست، باعث می‌شود این فریمورک انتخاب خوبی برای یک برنامه اندروید نباشد.

      معیارهای انتخاب یک فریم ورک مناسب برای موبایل: 
      سبک بودن: مهمترین مورد سبک بودن آن است؛ چه از لحاظ اجرای برنامه و چه از لحاظ حجم نهایی برنامه سریع بودن: مطمئنا ORM‌های طراحی شده‌ی موجود، از سرعت خیلی بدی برخوردار نخواهند بود؛ اگر سر زبان هم افتاده باشند. ولی باز هم انتخاب سریع بودن یک ORM، مورد علاقه‌ی بسیاری از  ماهاست. یادگیری آسان و کانفیگ راحت تر. greenDAO-master.zip
    • توسط Omid Zakeri
      تا به حال نرم افزار های زیادی از قبیل توییتر(twitter) , گوگل پلاس (+google) , جیمیل (gmail)  را در اندروید دیده‌ایم که باswipe/pull down ( کشیدن صفحه به سمت پایین) محتوای خود را بروز میکنند . زمانی که صفحه را از بالا به پایین میکشیم یک محتوای جدیدی به ما نشان داده می‌شود یا اینکه محتوای قبلی بروزرسانی خواهد شد.  در این آموزش میخواهیم کار با SwipeRefreshLayout را آموزش دهیم. این لایه به ما کمک می‌کند که طراحی اصولی (material designn) و کاربر پسندی را در برنامه های خود داشته باشیم.
       
      در یک آموزش مختصر با ما باشید تا به طور ساده با  نحوه کار SwipeRefreshLayout (کشیدن صفحه به سمت پایین) آشنا شویم.
      این مثال نحوه ی Refresh(تازه سازی) کردن صفحه با استفاده از SwipeRefreshLayout را به شما نشان  میدهد.مراحل را طبق زیر دنبال کنید.
      1-با استفاده ار اندروید استودیو یک پروژه ی جدید با نام Swipe تحت بسته ی com.example.Swipeایجاد کنید. نحوه ی ایجاد پروژه ی جدید در بخش آموزشی ساخت اولین پروژه در اندروید استودیو توضیح داده شده است.
      2-
      محتوای فایل res/layout/activity_main.xml را مانند آنچه در ادامه آمده است تغییر دهید. 3-محتوای فایل اکتیویتی اصلی java/com.example.sendemail/MainActivity.java را به منظور اجرای کدهای دلخواه پس از انجام عمل swipe/pull downn (کشیدن صفحه به سمت پایین)مانند آنچه در ادامه آمده است تغییر دهید.
      محتوای زیر مربوط به فایل res/layout/activity_main.xml می باشد.
      <?xml version="1.0" encoding="utf-8"?> <android.support.v4.widget.SwipeRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/mySwipe" android:layout_width="match_parent" android:layout_height="match_parent" > <!-- کد خود را اینجا وارد کنید--> </android.support.v4.widget.SwipeRefreshLayout>   این لایه(بالا) از کتابخانه‌ی زیر است.  
       
      android.support.v4.widget
      در کد بالا ما لایه‌ی SwipeRefreshLayout را به عنوان لایه‌ی والد یا ریشه استفاده کرده ایم و درون آن می‌توانیم لایه ها و عناصر دیگر را به کار ببریم.
      به عنوان مثال میتوان به صورت زیر نوشت. <?xml version="1.0" encoding="utf-8"?> <android.support.v4.widget.SwipeRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/mySwipe" android:layout_width="match_parent" android:layout_height="match_parent" > <ScrollView android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:text="من یک متن هستم" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="16dp" android:gravity="center"/> </ScrollView> </android.support.v4.widget.SwipeRefreshLayout>  
      معمولا درون این لایه یک recyclerView  یا listView به کار می‌رود که در صورت تازه سازی (refresh) مقادیر آیتم ها دچار تغییر شوند(آیتم جدیدی  وارد لیست شده یا از آن حذف شود). همچنین این لایه می‌تواند به عنوان یک لایه ی فرزند ظاهر شود.
      حالا نوبت این است که در اکتیویتی (activity) خود این لایه را وصل کنیم و از آن استفاده کنیم.در زیر محتوای فایل java/com.example.location/MainActivity.java آورده شده است.
      package com.example.Swipe; import android.os.Bundle; import android.support.v4.widget.SwipeRefreshLayout; import android.support.v7.app.AppCompatActivity; public class MainActivity extends AppCompatActivity { SwipeRefreshLayout mySwipe; @Override protected void onCreate(Bundle savedInstanceState) { ;( super.onCreate(savedInstanceState ;( setContentView(R.layout.activity_main ;( mySwipe = (SwipeRefreshLayout) findViewById(R.id.mySwipe () mySwipe.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener { @Override () public void onRefresh{ //اعمالی را که میخواهیم هنگام تازه سازی انجام شود ;( mySwipe.setRefreshing(false } ;({ } }     داخل کد بالا ما با صدا زدن متد setOnRefreshListener با ورودی رابط (interface) OnRefreshListener می‌توان متد onRefresh را بازنویسی (override) کرده و داخل آن هر عملی که برای تازه سازی لازم است انجام داد. برای مثال زمانی که ما برنامه ای متصل به اینترنت داریم و میخواهیم با swipe کردن مقادیر را بروزرسانی کنیم در متد onRefresh میتوانیم وضعیت اتصال به اینترنت را چک کنیم و اگر متصل بود دیتا را از اینترنت دریافت کرده و مقادیر محتوای صفحه را بروزرسانی کنیم. در اخر کد با نوشتن mySwipe.setRefreshing(false) انیمیشن ایجاد شده را متوقف میکنیم.
      اگر در جایی از برنامه بخواهیم خاصیت swipe pull down و انیمیشن را غیر فعال کنیم میتوانیم از دستور setEnabled(false) استفاده کنیم.
    • توسط Omid Zakeri
      اپلیکیشن ها به طرق گوناگون با کاربران خود تعامل برقرار می کنند و استفاده از سرویس های موقعیت یاب نیز یکی از روش های رایج برای نمایش اطلاعات شخصی سازی شده به کاربر می باشد، بدین ترتیب اپلیکیشن می تواند با دنیای فیزیکی ارتباط برقرار کرده و به افزایش تعامل کاربر منجر شود. بسیاری از اپلیکیشن ها این قابلیت را مورد استفاده قرار می دهند، اما موضوع این مطلب آموزشی پرداختن به Geofences است که اغلب نادیده گرفته می شود.
      Geofence یک مجموعه فضای مجازی را بر روی یک منطقه جغرافیایی واقعی تعیین می کند. با ترکیب موقعیت قرارگیری کاربر با geofence perimeter امکان فهمیدن اینکه آیا کاربر در داخل یا خارج یک geofence قرار دارد و یا در حال ورود یا خروج از یک منطقه خاص است، ممکن می شود.
       

       
      یک اپلیکیشن دانشگاه را تصور کنید که می تواند شما را از همکاران و استادانی که در محوطه دانشگاه قرار دارند، اگاه سازد و یا اپلیکشن یک مرکز خرید بزرگ که به مشتریان خود هدیه می دهد، احتمالات دیگری نیز وجود دارند که می توان مورد بررسی قرار داد.
      در این مطلب آموزشی نحوه استفاده از geofence در اندروید را فرا خواهید گرفت،
       
      ابتدا باید مجوزها را در AndroidManifest وارد کنید.
      <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission. ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.INTERNET" />  
      Geofencing نیاز به سرویس API گوگل دارد.
      build.gridle خود را باز کنید و dependency را اضافه کنید.
      compile 'com.google.android.gms:play-services-location:8.4.0'  
      پیاده سازی Geofencing :
      ابتدا باید بررسی کنیم آیا این سرویس دارای سرویس های Google Play نصب شده است یا خیر.
      int resp = GooglePlayServicesUtil.isGooglePlayServicesAvailable(this); if (resp == ConnectionResult.SUCCESS) { mGoogleApiClient = new GoogleApiClient.Builder(this) .addApi(LocationServices.API) .addConnectionCallbacks(connectionAddListener) .addOnConnectionFailedListener(connectionFailedListener) .build(); mGoogleApiClient.connect(); } else { Log.e(TAG, "Your Device doesn't support Google Play Services."); } برای گرفتن آخرین مکان شناخته شده، می توانیم از API GoogleServices خود استفاده کنیم.
      // Create the LocationRequest object mLocationRequest = LocationRequest.create() .setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY) .setInterval(10 * 1000) // 10 seconds, in milliseconds .setFastestInterval(1 * 1000); // 1 second, in milliseconds  
       
      دریافت موقعیت مکانی
      Location location = LocationServices.FusedLocationApi.getLastLocation(mGoogleApiClient); if (location == null) { LocationServices.FusedLocationApi.requestLocationUpdates(mGoogleApiClient, mLocationRequest, this); } else { currentLatitude = location.getLatitude(); currentLongitude = location.getLongitude(); }  
       
      Location Listeners
      @Override public void onLocationChanged(Location location) { currentLatitude = location.getLatitude(); currentLongitude = location.getLongitude(); } Now we will add both Success and Fail Listeners. private GoogleApiClient.ConnectionCallbacks connectionAddListener = new GoogleApiClient.ConnectionCallbacks() { @Override public void onConnected(Bundle bundle) { } @Override public void onConnectionSuspended(int i) { } }; private GoogleApiClient.OnConnectionFailedListener connectionFailedListener = new GoogleApiClient.OnConnectionFailedListener() { @Override public void onConnectionFailed(ConnectionResult connectionResult) { } };  
       
      اضافه کردن Geofencing
      /** * Create a Geofence list by adding all fences you want to track */ public void createGeofences(double latitude, double longitude) { String id = UUID.randomUUID().toString(); Geofence fence = new Geofence.Builder() .setRequestId(id) .setTransitionTypes(Geofence.GEOFENCE_TRANSITION_ENTER | Geofence.GEOFENCE_TRANSITION_EXIT) .setCircularRegion(latitude, longitude, 200) // Try changing your radius .setExpirationDuration(Geofence.NEVER_EXPIRE) .build(); mGeofenceList.add(fence); }  
       
      ایجاد Geofencing Request
      private GeofencingRequest getGeofencingRequest() { GeofencingRequest.Builder builder = new GeofencingRequest.Builder(); builder.setInitialTrigger(GeofencingRequest.INITIAL_TRIGGER_ENTER); builder.addGeofences(mGeofenceList); return builder.build(); }  
       
      افزودن PendingIntent
      private PendingIntent getGeofencePendingIntent() { // Reuse the PendingIntent if we already have it. if (mGeofencePendingIntent != null) { return mGeofencePendingIntent; } Intent intent = new Intent(this, GeofenceTransitionsIntentService.class); // We use FLAG_UPDATE_CURRENT so that we get the same pending intent back when // calling addGeofences() and removeGeofences(). return PendingIntent.getService(this, 0, intent, PendingIntent. FLAG_UPDATE_CURRENT); }  
       
      یجاد کلاس "GeofenceTransitionsIntentService" که اکستند می کند از  IntentService 
      public class GeofenceTransitionsIntentService extends IntentService { private static final String TAG = "GeofenceTransitions"; public GeofenceTransitionsIntentService() { super("GeofenceTransitionsIntentService"); } @Override protected void onHandleIntent(Intent intent) { GeofencingEvent geofencingEvent = GeofencingEvent.fromIntent(intent); if (geofencingEvent.hasError()) { Log.e(TAG, "Goefencing Error " + geofencingEvent.getErrorCode()); return; } // Get the transition type. int geofenceTransition = geofencingEvent.getGeofenceTransition(); if (geofenceTransition == Geofence.GEOFENCE_TRANSITION_ENTER){ showNotification("Entered", "Entered the Location"); } else if(geofenceTransition == Geofence.GEOFENCE_TRANSITION_EXIT) { showNotification("Exited", "Exited the Location"); } else { showNotification("Error", "Error"); } public void showNotification(String text, String bigText) { // 1. Create a NotificationManager NotificationManager notificationManager = (NotificationManager) this.getSystemService(Context.NOTIFICATION_SERVICE); // 2. Create a PendingIntent for AllGeofencesActivity Intent intent = new Intent(this, MainActivity.class); intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_CLEAR_TOP); PendingIntent pendingNotificationIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT); // 3. Create and send a notification Notification notification = new NotificationCompat.Builder(this) .setSmallIcon(R.mipmap.ic_launcher) .setContentTitle(text) .setContentText(text) .setContentIntent(pendingNotificationIntent) .setStyle(new NotificationCompat.BigTextStyle().bigText(bigText)) .setPriority(NotificationCompat.PRIORITY_HIGH) .setAutoCancel(true) .build(); notificationManager.notify(0, notification); } }  
       
      **منبع**
       
       
       
       
       
       
       


  • دوره آموزشی اندروید ایران کانادا آموزش ویدئویی اندروید آموزش برنامه نویسی اندروید اندروید کاپ دوره آنلاین اندروید کتاب های آموزشی اندروید بسته آموزشی اندروید دوره برنامه نویسی اندروید آموزش Kotlin آموزش برنامه نویسی ios
  • فایل