جستجو در انجمن

در حال نمایش نتایج برای برچسب های 'برنامه نویسی اندروید'.



تنظیمات بیشتر جستجو

  • جستجو بر اساس برچسب

    برچسب ها را با , از یکدیگر جدا نمایید.
  • جستجو بر اساس نویسنده

نوع محتوا


برنامه نویسی اندروید | آموزش برنامه نویسی اندروید | آموزش اندروید

  • اندروید
    • ابزار های برنامه نویسی اندروید
    • آموزش برنامه نویسی اندروید
    • رفع مشکلات و سوالات
    • امنیت در اندروید
    • پروژه های اندروید
  • پشتیبانی اندروید
    • اندروید Lollipop
    • اندروید marshmallow
    • اندروید nougat
    • اندروید Oreo
  • کاتلین (Kotlin)
    • آموزش های برنامه نویسی Kotlin
    • سوالات و رفع مشکلات Kotlin
  • مباحث مرتبط با اندروید
    • ابزارها و سایتهای مفید
    • گرافیک موبایل
    • آموزش های ویدئویی
    • برنامه نویسی جاوا
  • تکنولوژی های اندروید
    • وب موبایل
    • توسعه اندروید با #C
    • توسعه اندروید با Basic4Android
  • متفرقه
    • اپلیکیش های ایرانی
    • برنامه نویسی
    • درخواست همکاری
    • مباحث متفرقه
    • مهارتهای فروش و بازاریابی
  • پشتیبانی محصولات مارکت
    • پرسش و پاسخ مرتبط با مارکت انجمن اندروید ایران
    • پشتیبانی مارکت پروژه های اندروید
    • پشتیبانی مارکت آموزش اندروید
    • پشتیبانی مارکت گرافیک موبایل
  • انجمن اندروید ایران
    • اخبار و اعلانات
    • صندوق پيشنهادات و انتقادات
    • تازه‌های دنیای کامپیوتر و فناوری
    • قوانین انجمن تخصصی اندروید ایران

دسته ها

  • پروژه اندروید
    • سورس پروژه اندروید
    • کامپوننت های اندروید
    • کتابخانه های اندروید
  • آموزش اندروید
    • فیلم آموزشی کاربردی
    • مقالات آموزشی اندروید
  • گرافیک موبایل
    • قالب طراحی اپلیکیشن
  • اپلیکیشن های اندروید
    • کاربردی
    • کسب و کار
    • آموزش
    • کتاب‌ها و منابع
    • ویدئو و رسانه
    • بازی‌

تقویم ها

  • Community Calendar

249 نتیجه پیدا شد

  1. ضمن عرض سلام و احترام خدمت تمامی کاربران فروم محبوب انجمن اندروید ایران ، همانطور که قول دادم بهتون ،قصد دارم یکسری مقالات در زمینه برنامه نویسی های مختلف ، برای شما عزیزان قرار دهم . پیشاپیش از تمامی مدیران فروم قدردانی میکنم بابت این فروم بسیار مفید و کاربردی. در این مقاله می پردازیم به مبحثی کاربردی تحت عنوان :نحوه ی ایجاد کامپوننت های سفارشی در اندروید اندروید لیست بزرگی از ویجت های از پیش ساخته شده مانند Button، TextView، EditText، ListView، CheckBox، RadioButton، Gallery، Spinner، AutoCompleteTextView و غیره را ارائه می کند،که شما میتوانید مستقیما در اپلیکیشن خود از آن ها استفاده کنید. ولی ممکن است موقعیتی به وجود بیاید که شما از قابلیت های ویجت های موجود راضی نباشید به طوری که حس کنید این ویجت ها نیاز و خواسته ی شما را برطرف نمی کند. اندروید ابزار هایی را برای سفارشی سازی این موارد فراهم کرده است که با کمک آن ها می توانید با توجه به نیاز خود ، عمل سفارشی سازی را انجام دهید. اگر فقط نیازمند اعمال تغییرات و تنظیمات کوچکی در یک ویجت یا Layout موجود باشید، می توانید به سادگی یک زیر کلاس از ویجت یا Layout مربوطه ایجاد کنید و متد های آن را override کنید. این کار به شما کنترل دقیقی را ، بر روی ظاهر و عملکرد یک عنصر موجود بر روی صفحه نمایش ، می دهد . این مقاله با استفاده از گام ها و مراحل ساده شرح می دهد که شما چگونه می توانید view های سفارشی خود را ایجاد کنید و آن ها را در اپلیکیشن خود به کار بگیرید . ایجاد یک مولفه سفارشی ساده: در صورتی که شما بخواهید عملکرد یک ویجت موجود مانند Button، TextView، EditText، ListView، CheckBox و غیره را توسعه دهید، ساده ترین راه برای ایجاد مولفه­ ی سفارشی مربوط به خودتان، توسعه کلاس مربوط به ویجت موجود یا زیر کلاس های مربوط به کلاس خودتان است. در غیر این صورت شما باید با شروع از کلاس android.view.View همه کارها را خودتان انجام دهید. در ساده ترین شکل، شما باید سازنده (constructors) های خود را متناظر با همه سازنده های کلاس اصلی بنویسید. 1) یگ پروژه جدید در اندروید استودیو ایجاد کنید و آن را با نام myapplication تحت پکیج com.example.clicksite7.myapplication ایجاد کنید. 2) فایل XML به صورت res/values/attrs.xml برای تعریف اتریبیوت های جدید به همراه نوع داده آنها ، تعریف کنید . 3) فایل src/mainactivity.java را برای اضافه کردن کدها ، جهت تعریف اجزای سفارشی ، ایجاد کنید . 4) فایل res/layout/activity_main.xml را تغییر دهید و کدهای لازم را اضافه کنید.(مطابق کدهای زیر) 5) اپلیکیشن را اجرا کنید و نتیجه را در امولاتور مورد بررسی قرار دهید . فایل اتریبیوت زیر را با نام attrs.xml در پوشه res/values ایجاد کنید : <?xml version="1.0" encoding="utf-8"?> <resources> <declare-styleable name="TimeView"> <declare-styleable name="TimeView"> <attr name="title" format="string" /> <attr name="setColor" format="boolean"/> </declare-styleable> </declare-styleable> </resources> فایل layout استفاده شده توسط اکتیویتی را تغییر دهید : <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" xmlns:custom="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity" > <com.example.clicksite7.myapplication.TimeView android:id="@+id/timeView" android:layout_width="match_parent" android:layout_height="wrap_content" android:textColor="#fff" android:textSize="40sp" custom:title="my time view" custom:setColor="true" /> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/simple" android:layout_below="@id/timeView" android:layout_marginTop="10dp" /> </RelativeLayout> فایل جاوای زیر را با نام timeview ایجاد کنید : package com.example.clicksite7.myapplication; /** * Created by clicksite7 on 9/14/2016. */ import java.text.SimpleDateFormat; import java.util.Calendar; import android.content.Context; import android.content.res.TypedArray; import android.graphics.Color; import android.util.AttributeSet; import android.widget.TextView; public class TimeView extends TextView { private String titleText; private boolean color; public TimeView(Context context) { super(context); setTimeView(); } public TimeView(Context context, AttributeSet attrs) { super(context, attrs); // retrieved values correspond to the positions of the attributes TypedArray typedArray = context.obtainStyledAttributes(attrs, R.styleable.TimeView); int count = typedArray.getIndexCount(); try{ for (int i = 0; i < count; ++i) { int attr = typedArray.getIndex(i); // the attr corresponds to the title attribute if(attr == R.styleable.TimeView_title) { // set the text from the layout titleText = typedArray.getString(attr); setTimeView(); } else if(attr == R.styleable.TimeView_setColor) { // set the color of the attr "setColor" color = typedArray.getBoolean(attr, false); decorateText(); } } } // the recycle() will be executed obligatorily finally { // for reuse typedArray.recycle(); } } public TimeView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); setTimeView(); } private void setTimeView() { // has the format hour.minuits am/pm SimpleDateFormat dateFormat = new SimpleDateFormat("hh.mm aa"); String time = dateFormat.format(Calendar.getInstance().getTime()); if(this.titleText != null ) setText(this.titleText+" "+time); else setText(time); } private void decorateText() { // when we set setColor attribute to true in the XML layout if(this.color == true){ // set the characteristics and the color of the shadow setShadowLayer(4, 2, 2, Color.rgb(250, 00, 250)); setBackgroundColor(Color.CYAN); } else { setBackgroundColor(Color.RED); } } } فایل اصلی اکتیویتی جاوا را به کد زیر تغییر دهید و اپلیکیشن خود را اجرا کنید : package com.example.clicksite7.myapplication; import android.os.Bundle; import android.widget.TextView; import android.app.Activity; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); TextView simpleText = (TextView) findViewById(R.id.simple); simpleText.setText("That is a simple TextView"); } }
  2. دوره آشنایی با جاوا وبرنامه نویسی اندروید درآموزشگاه ویستا تنها با پرداخت ۱۲۰۰۰۰ تومان اما به ارزش ۱۲۰۰۰۰۰ تومان (۹۰% تخفیف) ثبت نام در دوره کارت‌خوان: دارد جای پارک آسان: دارد مخاطب : بانوان وآقایان سرفصل‌ها : فصل اول)آشنایی با جاوا معرفی مفهوم برنامه نویسی و اهداف آن معرفی ویژگی های زبان جاوا و تفاوتهای آن با سایر زبانها معرفی مفهوم انتزاع توزیع های جاوا آشنایی با JDK ثبت نام در دوره فصل دوم) نصب و راه اندازی نرم افزارها نصب JDK 1.8 آشنایی با محیط برنامه نویسی intellj Idea آشنایی با محیط برنامه نویسی Android studio ایجاد پروژه جاوا فصل سوم) متغیر ها ، شرط ها تعریف متغیر در زبان جاوا کلمات رزرو شده در جاوا آشنایی با عملگر ها ترتیب عملگرها شرط ها if شرط های تو در تو if-else if Switch case بررسی شرط های رشته ای در if else تبدیل نوع type casting فصل چهارم) حلقه های - آرایه اشنایی با مفهوم حلقه ها حلقه for حلقه whil حلقه do while حلقه for each ایجاد کردن آرایه آرایه های دوبعدی و چند بعدی فصل پنجم) کار با توابع تاریخ و زمان آشنای با مفاهمیم تاریخ و زمان در جاوا امکانات جاوا برای Date آشنایی با کلاس Date بدست آوردن تاریخ و زمان جاری تبدیلات تاریخ در جاوا بدست آوردن تاریخ شمسی در جاوا فصل ششم) اشنایی با شی گرایی در جاوا آشنایی با مفهوم برنامه نویسی شی گرایی اشنایی با مفهوم ابجکت object ایجاد کردن کلاس ایجاد کردن یک شی از نوع کلاس ها آشنایی با کپسوله سازی کلاس ها ارث بری کلاس ها آشنایی با Abstract class interface class Enum class فصل هفتم)آشنایی با اندروید ورژن های مختلف اندروید از ابتدا تا Oreo انواع دستگاه های اندروید آشنایی با معماری سیستم عامل اندروید فصل هشتم) اندروید استودیو اشنایی با محیط های برنامه نویسی اندروید معرفی اندروید استودیو نصب و راه اندازی اندروید استودیو نیازمندی مورد نیاز برای اندروید استودیو ماشین مجازی اندروید AVD آشنایی با دیباگ پروژه در اندروید استودیو آشنایی با محیط design و text دیزاین اندروید استودیو آشنایی با پنجره Logcat در اندروید استودیو آشنایی با پنل نرم افزاری اندروید استودیو آشنایی با کلید های میانبر اندروید استودیو تست اپلیکیشن های اندروید بر روی دیوایس های واقعی اندروید تغییر Style اندروید استودیو Dark , Light فصل نهم) اکتیویتی ، Sdk اندروید ایجاد پروژه در اندروید استودیو آشنایی با اکتیوتی در اندروید آشنایی با SDK اندروید آشنایی با اکتیوتی و مفهوم اکتویتی در اپلیکیشن های اندروید چرخه حیات اکتیوتی Life Cycle فصل دهم)Layout در اندروید آشنایی با XML در اندروید ساختار پروژه های اندروید آشنایی با فایل مانیفست فصل یازدهم)Layout در اندروید آشنایی با Intent ارتباط بین اکتیویتی ها در اندروید آشنایی با Bundle در اندروید ارسال اطلاعات توسط Bundle بین اکتیویتی ها آشنای با Log در اندروید انواع Log ها در اندروید نمایش Toast و پیغام در اندروید کنترل کردن ویبره دستگاه در اندروید فصل دوازدهم)طراحی واسط کاربری طراحی واسط کاربری برای سایز های مختلف تصاویر استاندارد در اندروید برای سایزهای مختلف استفاده از Vector در اندروید تغییر رنگ پس زمینه View ها اشنایی با مقدارهای استاندارد dp,px,sp استفاده از WebView در اندروید استفاده از فونت های فارسی در UI فصل دوازدهم)متریال دیزاین اندروید متریال دیزاین در اندروید پیاده سازی متریال دیزاین در اندروید فصل سیزدهم)منابع در اندروید ارسال SMS در اندروید ایجاد تماس تلفنی در اندروید آشنایی با منابع در اندروید منابع رشته ای در اندروید منابع Color در اندروید فصل چهاردهم) انتشار اپلیکیشن ایجاد کلید Sign برای ایجاد خروجی ساخت نسخه Release اپلیکیشن نهایی برای انتشار در مارکت ها اندروید فصل پانزدهم) درامدزایی اپلیکیشن های اندروید درامد زایی از اپلیکیش های اندروید چه اپلیکیشن هایی را بنویسیم؟ راه های درامد زایی از اپلیکیشن های اندروید آشنایی با مارکت های اندرویدی ایرانی و خارجی ثبت نام در دوره روز برگزاری دوره : با هماهنگی طول دوره : 4جلسه ، 4ساعته ( 16ساعت ) محل برگزاری : آموزشگاه ویستا نام برگزارکننده دوره : آموزشگاه ویستا زمان برگزاری دوره : با هماهنگی ثبت نام در دوره نام و نام خانوادگی مدرس : فرزاد سرسیفی مدرک تحصیلی : کارشناسی نرم افزار با بیش از 7 سال تجربه در حوزه توسعه اپلیکیشن های اندروید و iOS مدارک جهانی اندوید Training Skills for Android ATC Certified Trainer از کمپانی ATC Android Certified Application Developer از کمپانی ATC Android Application Development Course Bermotech London Android Security Course Bermotech London iOS Application Development Course Bermotech London سوابق کاری : تیم لیدر موبایل شرکت فناپ تیم لیدر موبایل شرکتSigmaTelecom (Turkey) سوابق تدریس: تدریس بیش از 30 دوره عمومی آموزشی حضوری در سال های 1392 ، 1393 ، 1394 ، 1395 و 1396 در آموزشگاه اندروید ایران تدریس دوره برنامه نویسی امنیت در اندروید در شرکت امن افزار شریف- سال 1395 تدریس دوره برنامه نویسی اندروید در موسسه انتظامی فاطمیون - سال 1395 تدریس دوره برنامه نویسی اندروید در شرکت صمیم رایانه - سال 1395 تدریس برنامه نویسی اندروید در فناپ- سال 1394 تدریس برنامه نویسی اندروید صدا و سیما(معاونت رسانه مجازی - معاونت توسعه فناوری) -سال 1393 تدریس برنامه نویسی اندروید در بانک شهر- سال 1394 تدریس برنامه نویسی اندروید در رجا(راه آهن جمهوری اسلامی ایران)-سال 1394 تدریس برنامه نویسی اندروید در سازمان فضای مجازی-سال های 1393 و 1394 تدریس برنامه نویسی اندروید بصورت آنلاین تدریس دوره های آنلاین اندروید بصورت LMS تدریس ده ها دوره خصوصی آموزشی در سال های 1392 ، 1393 ، 1394 ، 1395 و 1396 در آموزشگاه اندروید ایران ثبت نام در دوره
  3. JetPack در اندروید Android Jetpack is a set of components, tools and architectural guidance that make it quick and easy to build great Android apps. Components are individually adoptable but built to work together while taking advantage of Kotlin language features that make you more productive. Jetpack manages tedious activities like background tasks, navigation, and lifecycle management, so you can eliminate boilerplate code and focus on your what makes your app great. Built around modern design practices, Jetpack components enable fewer crashes and less memory leaked with backwards-compatibility baked in. دانلود ویدئوی آموزشی : Introducing Android Jetpack.mp4
  4. ثبت نام و توضیحات دوره دوره برنامه نویسی اندروید یکی از جذاب ترین دوره های آموزشی میباشد که مخاطبان دوره میتوانند در این دوره اصول طراحی اپلیکیشن های تحت اندروید را طراحی و پیاده سازی نموده و شروع به کسب درآمد در حوزه اپلیکیشن های موبایل نمایند.کاربران این دوره میتوانند با کسب مهارت های مطرح شده در سرفصلهای دوره گام بزرگ و سریعی جهت ورود به بازار اپلیکیشن های اندرویدی برداشته و با انتشار برنامه های طراحی شده خود در فضای مجاری کسب درآمد کنند.هم اینک ده ها هزار نرم افزار تحت موبایل در فضای اینترنتی منتشر شده که تعداد بی شماری از این نرم افزارها با دانلود های حیرت آور منبع درآمدهای چندین میلیونی برای طراح خود بوده اند.اگر قصد ورود به بازار نرم افزارهای موبایل دارید هم اینک در دروه آموزشی برنامه نویسی اندروید شرکت کنید. مدرس (مدرسان) : فرزاد سرسیفی پیشنیاز: آشنایی با مفاهیم برنامه نویسی - آشنایی با زبان جاوا مدت زمان دوره: 10 جلسه ( کارگاه کاملا عملی تحت پروژه) به صورت کارگاهی (در مجموع 40 ساعت)(ظرفیت باقی مانده 2 نفر) تاریخ برگزاری: (دوره از ۱۰ تیر ماه 1397 به مدت 10 جلسه - روزهای یک شنبه و سه شنبه ساعت 17 الی 21 ثبت نام و توضیحات دوره سرفصلهای دوره آموزشی برنامه نویسی اندروید به صورت کاملا عملی: فصل اول)فریمورک اندروید و راه اندازی اندروید استودیو آشنایی با اندروید لایه های نرم افزاری اندروید کتابخانه های اندروید ورژن های مختلف اندروید از ابتدا تا Oreo نصب و راه اندای اندروید استودیو نیازمندی مورد نیاز برای اندروید استودیو آشنایی با اندروید استودیو ماشین مجازی اندروید AVD ماشین مجازی genymotion آشنایی با دیباگ پروژه در اندروید استودیو آشنایی با Kotlin در اندروید استودیو فصل دوم) SDK اندروید و اکتیویتی ساختار پروژه های اندروید آشنایی با فایل مانیفست ساختار فایل مانیفست آشنایی با SDK اندروید آشنایی با اکتیوتی و مفهوم اکتویتی در اپلیکیشن های اندروید چرخه حیات اکتیوتی Life Cycle فصل سوم) فرگمنت،View ها و ListView آشنایی با فرگمنت View ها در اندروید آشنایی با ویجت های اندروید سایر استاندارد تصاویر در اندروید فصل چهارم)Intent ها و Intent filters آشنایی با Intent انتقال اطلاعات توسط Intent ارتباط بین اکتیویتی ها با Intent فصل پنجم) Layout های اندروید و View های سفارشی آشنایی با مفاهیم Layout طراحی واسط کاربری برای سایز های مختلف Layout های چند زبانه ساخت View های سفارشی پیاده سازی اپلیکیشن های چند زبانه در اندروید فصل ششم) منابع اندروید،Theme و متریال دیزاین معرفی منابع اندروید Theme های اندروید Style ها بکار گیری Material Design در طراحی اپلیکیشن فصل هفتم)Ui اندروید-دیالوگ ها،منوها و WebView دیالوگ ها AlertDialog اکتیویتی دیالوگ ها منوها OptionMenu فصل هشتم)ذخیره سازی اطلاعات روش های ذخیره سازی اطلاعات در اندروید SharedPrefrences ارتباط با اینترنت فصل نهم)ذخیره سازی اطلاعات با دیتابیس Sqlite معرفی دیتابیس در اندروید پیاده سازی دیتابیس Sqlite در اندروید افزودن اطلاعات به دیتابیس ویرایش اطلاعات در دیتابیس حذف اطلاعات در دیتابیس نمایش اطلاعات در دیتابیس آشنایی با ORM ها فصل دهم)Notification در اندروید پیاده سازی Notification در اندروید Notification های سفارشی طراحی واسط کاربری برای Notification آشنایی با Pending Intent Notification در اندروید 5 فصل یازدهم)Sms،شبکه ها ،بلوتوث ، wifi،ویبره ارسال SMS دریافت پیامک روشن کردن بلوتوث روشن کردن Wifi Detect کردن wifi کنترل کردن ویبره دستگاه فصل دوازدهم)وب سرویس ها- JSON مفهوم وب سرویس انواع وب سرویس ها ارتباط با وب سرویس آشنایی با وب سرویس JSON آشنایی با JSON Array آشنایی با JSON Object آشنایی با Volley دریافت اطلاعات وب سرویس Volley ارسال اطلاعات به سرور Volley Image Loader Picasoo آشنایی با HttpGet و HttpPost آشنایی با HttpResponse فصل سیزدهم)گوگل مپ و موقعیت یابی گوگل مپ گوگل مپ ورژن دو آشنایی با Google Play Service Api گوگل مپ آشنایی با Keytool برای تعریف Sha تعریف api در مانیفست افزودن Permission های مورد استفاده به مانیفست آشنایی با MarkerOptions ایجاد نقاط(point) روی نقشه آشنایی با CameraOption تنظیم کردن Zoom نقشه ایجاد نماهای Normal،Satellite،Terrain،Hybrid بدست آوردن مکان جاری و نمایش آن روی نقشه آشنایی با Lat و Lang آشنایی با LocationListener بدست آوردن موقیت جاری از روی GPS و Internet مسیریابی نقاط: شبیه اسنپ و تپسی فصل چهاردهم)آشنایی با تغییرات اندرویدM و N Material Design Toolbar MenuDrawer CardView and RecycleBinView FloatingActionButton SnackBar فصل پانزدهم) خروجی نهایی ایجاد Key برای Sign ایجاد خروجی نهایی Apk ثبت نام و توضیحات دوره
  5. سلام من میخوام یه نرم افزار بنویسم که با سرور کار میکنه و ی سری داده توی دیتابیسی که روی سرورمه ذخیره و بازیابی میکنه برای این کار یه سری فایل php میخوام به عنوان واسط که همون api های من میشن حالا سوال اینجاس که ایجاد و کار کردن با این api ها امن هست؟ و چطور میتونم امنیتشو برقرار کنم چون الان مثلا یه api برای افزودن پست داشته باشیم نرم افزار یه جیسون ارسال میکنه به سرور با اطلاعات مورد نیاز اون api حالا یه نفر که مشکل داره میتونه با sniff کردن اطلاعات ارسالی به اون api دسترسی پیدا کنه و یه پست به نام شخص دیگه ای ایجاد کنه ! چطور این مشکل رو حل کنم ؟ توی نرم افزار هایی مثل دیوار میخواستم چک کنم چون اونا از ssl استفاده میکردن نتونستم به جیسونی که میفرستم دسترسی پیدا کنم که ببینم چی کار کردن
  6. وقتی با ران ادمین اجراش میخوام بکنم این ارورو میده ولی وقتی با دابل کیلیک میزنم اصلا اینم نشون نمیده چیزی نمایش پیدا نمیکنه یعنی اصلا اجرا نمیشه Could not find main class com/intellij/idea/main اگه کسی بلده چیکاد کنم لطفا بهم بگین❤❤
  7. وقتی با ران ادمین اجراش میخوام بکنم این ارورو میده ولی وقتی با دابل کیلیک میزنم اصلا اینم نشون نمیده چیزی نمایش پیدا نمیکنه یعنی اصلا اجرا نمیشه Could not find main class com/intellij/idea/main اگه کسی بلده چیکاد کنم لطفا بهم بگین❤❤
  8. سلام من میخوام یک برنامه ای بنویسم که به کاربر هر روز بگه چند ساعت با موبایلش کار کرده حالا من یه کرنومتر گذاشتم که این رو حساب کنه ولی یه مشکلی دارم که نمیتونم عملیش کنم, کرنومتر وقتی که صفحه خاموش هست باید استاپ بشه و وقتی که صفحه روشن هست ادامه بده به زمان گرفتن.( به صورت سرویس ) با استفاده از isInterActive میدونم باید انجام بشه که یک مقدار بولین رو برمیگردونه که میگه صفحه روشنه یا نه, اما بلد نیستم که به چه صورت و کجا باید بزارمش!!! ممنون میشم کمک کنید
  9. سلام دوستان من پس از آپدیت اندروید استودیو دیگه دیوایس های مجازی من نمایش داده نمیشه با اینکه ران هستن. بنظرتون مشکل چیه؟؟
  10. سلام من دارم یک اپلیکیشن اندروید درست می کنم که یک بانک فیلم هست و قابلیت لایک و کامنت هم داره به نطر شما چه هاست یا سروری براش خوبه؟
  11. جهت ساخت اپلیکیشنی برای انداوید جهت ارتباط با ماشین آلات از طریق درگاه بلوتوپ و وای فای به یک برنامه نویس اندروید نیاز داریم. سرعت ، دقت و تعهد در انجام کار ضروری می باشد. سورس برنامه نیز باید قابل ارائه باشد. محل پروژه اصفهان 09360107546
  12. سلام من میخوام یک قسمت برای سکه برای کاربران درست کنم که با انجام کاری یا زدن روی دکمه ای اون عدد زیاد بشه این تیکه کدشو کسی داره؟ و باید برای باز کردن قفل یک قسمت یک مقدار ثابتی سکه داشته باشه مثلا ۵۰تا سکه باید داشته باشه تا به اون قسمت دست رسی داشته باشه من باید آموزش این نوع قسمتارو کجا ببینم یا اگه میشه همینجا کامل راهنمایی کنید ممنون میشم.
  13. باعرض سلام وخسته نباشيد وتبريک سال نو من دارم روي يک پروژه کار ميکنم که دران دريک قسمت(در ريسايکل ويو) ميخوام وقتي روي يه دکمه کليک ميشود فايل پي دي اف رو دانلود کنه و بعد با نرم افزار پي دي اف ريدر نمايش بده اگه کمکم کنيد ممنون ميشم
  14. سلام دارم برنامه فروشگاهی میسازم انتخاب قیمت محصول جوریه که کاربر خودش باید انتخاب کنه از بین چند تا مورد این فایلی که فرستادم ببینین متوجه منظورم میشین من داخل برنامه دو تا اسپینر گذاشتم که اطلاعاتش رو از سرور میگیرم و داخل اسپینر ست میکنم که با انتخاب هر کدوم ای دی خودشو برمیگردونه تا اینجا درسته مشکلی نیست ولی برنامه ی لیست قیمت داره که براساس ای دی این دوتا اسپینرباید مشخص بشه یعنی مثلا اسپینر اول ای دی 5 برگردونه و اسپینر دوم ای دی مثلا3 اینجا باید ما سرچ بزنیم تو لیست قیمت ها که ای دی 5و3 قیمتش چنده ... به نظرتون اینو چجوری پیاده کنم ایا میشه تو arraylist بریزم و روش حالت سرچ بذارم و اندیس رو برگردونه. اصلا میشه با arraylist همچین کاری کرد؟ یا تو دیتابیس بریزم؟ دوستان اگه راه حل بهتری دارن لطفا راهنمایی کنن ممنون جیسون قیمت ها به این شکله [ { "cat": "1", "type": "0", "size": "33", "price": "4800" }, { "cat": "1", "type": "0", "size": "34", "price": "7200" }, ] 20180305_163147.mp4
  15. دانلود کتاب Android Development with Kotlin امروزه روند توسعه نرم افزار اندروید بسیار گسترده شده است. در طول چند سال اخیر، ما شاهد چگونگی پیشرفت ابزارهای مختلفی هستیم تا زندگی ما را ساده‌تر کند. با این حال، یکی از عناصر اصلی فرآیند توسعه نرم افزار اندروید یعنی جاوا در طول این مدت تغییر زیادی نکرده است. پلتفرم اندروید خود را با نسخه‌های جدیدتر جاوا سازگار می‌کند، ولی برای استفاده از آن ها، ما باید مدت زمان بسیار زیادی را صبر کنیم تا دستگاه‌های جدید اندرویدی به فروش مناسب بازار دست یابند. همچنین، توسعه برنامه‌ها با جاوا چالش‌های خود را به همراه دارد، چرا که جاوا زبانی قدیمی با بسیاری از مشکلات طراحی است که به واسطه محدودیت‌های سازگاری با نسخه‌های قدیمی، نمی‌توانند به سادگی حل شوند. از سویی دیگر Kotlin، زبانی جدید ولی پایدار است که بر روی همه‌ی دستگاه‌های اندرویدی اجرا می‌شود و بسیاری از مشکلاتی که جاوا قادر به حل آن نبود را حل می‌کند. Kotlin زبان فوق العاده ای است که زندگی توسعه دهنده را بسیار راحت‌تر می‌کند و اجازه می‌دهد تا کد امن تر، بیان گر‌تر و خلاصه‌تر ایجاد شود. کتاب توسعه اندروید با Kotlin، راهنمایی عملی است که به شما کمک می‌کند تا با استفاده از زبان Kotlin، روند توسعه اندروید را بهبود داده و به آن سرعت بخشید. ما میان برها و پیشرفت‌های زیاد نسبت به جاوا و راه‌های جدیدی حل مسائل رایج را ارائه دادیم. در پایان این کتاب، شما با ویژگی‌ها و ابزار‌های Kotlin آشنا خواهید شد و شما قادر خواهید بود که برنامه ای اندرویدی را با کاملا با Kotlin توسعه دهید. What You Will Learn Run a Kotlin application and understand the integration with Android Studio Incorporate Kotlin into new/existing Android Java based project Learn about Kotlin type system to deal with null safety and immutability Define various types of classes and deal with properties Define collections and transform them in functional way Define extensions, new behaviours to existing libraries and Android framework classes Use generic type variance modifiers to define subtyping relationship between generic types Build a sample application Table of Contents 1: BEGINNING YOUR KOTLIN ADVENTURE 2: LAYING A FOUNDATION 3: PLAYING WITH FUNCTIONS 4: CLASSES AND OBJECTS 5: FUNCTIONS AS FIRST-CLASS CITIZENS 6: GENERICS ARE YOUR FRIENDS 7: EXTENSION FUNCTIONS AND PROPERTIES 8: DELEGATES 9: MAKING YOUR MARVEL GALLERY APPLICATION دانلود Packt.Android.Development.with.Kotlin.epub
  16. یک کتابخانه بسیار زیبا که جابجایی بین تب ها در فرگمنت ها را بصورت حبابی نمایش می دهد دانلود : compile 'com.github.florent37:bubbletab:1.0.2' BubbleTab را به صورت زیر به layout.xml خود اضافه کنید شما میتوانید دو پارامتر زیر را اضافه کنید circleColor circleRatio <com.github.florent37.bubbletab.BubbleTab android:id="@+id/bubbleTab" android:layout_width="match_parent" android:layout_height="wrap_content" android:clipToPadding="false" android:background="@android:color/white" android:elevation="10dp" app:bubbleTab_circleColor="@color/colorAccent" app:bubbleTab_circleRatio="1.25" > <ImageView android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1" android:padding="16dp" android:src="@drawable/bubbletab_ic_hourglass_selector" /> <ImageView android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1" android:padding="16dp" android:src="@drawable/bubbletab_ic_event_selector" /> <ImageView android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1" android:padding="16dp" android:src="@drawable/bubbletab_ic_query_selector" /> <ImageView android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1" android:padding="16dp" android:src="@drawable/bubbletab_ic_search_selector" /> <ImageView android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1" android:padding="16dp" android:src="@drawable/bubbletab_ic_home_selector" /> </com.github.florent37.bubbletab.BubbleTab> <android.support.v4.view.ViewPager android:id="@+id/viewPager" android:layout_width="match_parent" android:layout_height="match_parent"/> سپس برای set کردن viewPager از روش زیر استفاده کنید bubbleTab.setupWithViewPager(viewPager); پشتیبانی: BubbleTab BubbleTab-master.zip
  17. مي خواهم داخل اپليكيشن فرم ثبت نامي ايجاد كنم كه با تلفن همراه اعتبار سنجي بشه و به كاربر اس ام اس بياد. مثل تلگرام و .... آموزشي در اين زمينه داريد قرار بديد.
  18. سلام دوستان عزیز من مبتدی هستم لطفا برای نوشتن کدهای این به من کمک کنید ممنونم من چهار TEXTNUMBER دارم که ورودی را از کاربر می گیره A,B,C,D و شش TEXTVIEW دارم که نتیجه محاسبه را به کاربر نشون میدهV1,V2,V3,V4,V5,V6 ویک دکمه که کاربر با کلیک روی اون نتیجه محاسبه را در ویوها ببینه فرمول محاسبه به این صورته V1=A*(B+C)*0.005 V2=V1+A*(B+C) V3=(V2*D)/100 V4=V3*1% V5=(V2+V3+V4)*9% V6=V1+V3+V4+V5 ممنون میشم منو راهنمایی کنید
  19. با سلام ،اینجانب بر ای یک پروژه نیاز به همکاری با برنامه نویس اندروید آشنا به wifi و انتقال صوت (voice over wifi)را دارم. این همکاری در غالب پروژه با دستمزد تعیینی از طرف برنامه نویس می باشد. احسان نیری e.nairy@gmail.com
  20. سلام دوستان وقت بخیر من برنامه نویس مبتدی اندروید هستم میخوام یه صفحه مثل همین گیف رو که تهیه کردم رو درست کنم اما نمیدونم از کجا شروع کنم و از چه روش هایی استفاده کنم خودم فک میکنم باید با custom listView اینکارو انجام بدم اما چون میخوام امکاناتی مثل ستاره دار کردن یا share کردن رو بهش اضافه کنم فک میکنم خیلی سنگین میشه راه ساده تری واسه ساختنش نیست ؟ اگه میشه یکم توضیح بدین ومسیر ساختشو بگین تا یکم روش ساختش دستم بیاد (در ضمن اهنگ هایی ک میخوام پخش شه داخل خود برنامه میخوام قرار بدم ) ممنون
  21. اپلیکیشن ها به طرق گوناگون با کاربران خود تعامل برقرار می کنند و استفاده از سرویس های موقعیت یاب نیز یکی از روش های رایج برای نمایش اطلاعات شخصی سازی شده به کاربر می باشد، بدین ترتیب اپلیکیشن می تواند با دنیای فیزیکی ارتباط برقرار کرده و به افزایش تعامل کاربر منجر شود. بسیاری از اپلیکیشن ها این قابلیت را مورد استفاده قرار می دهند، اما موضوع این مطلب آموزشی پرداختن به 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); } } **منبع**
  22. ActivityNotFoundException این خطا وقتی رخ میده که برنامه سعی کنه یک اکتیویتی که وجود نداره رو اجرا کنه. معمولا وقتی این خطا پیش میاد که فراموش می کنیم اکتیویتی ساخته شده رو به فایل منیفست اضافه کنیم. ClassCastException وقتی با خطای ClassCastException روبرو میشید، یعنی دارید سعی می کنید روی دو آبجکت که از دو نوع مختلف هستن یک عملیات رو انجام بدید. مثلا وقتی که می خواید یه مقدار عددی رو به یک استرینگ اضافه کنید. برای حل کردن این مشکل کافیه از طریق لوگ، خطی که خطا اونجا رخ داده رو پیدا کنید و متغیر ها رو از یک نوع کنید. Error converting byte to dex اگر به این مشکل بر خوردید، اول پروژه رو clean کنید ( Build > Clean Project ) و سپس اون رو بازسازی کنید ( Build > Rebuild Project ) و اگر همچنان با این مشکل روبرو شدید چک کنید که آیا پکیج هایی که در کلاس هاتون استفاده کردید با اسم پکیج هایی که توی فایل منیفست هستن یکی هستن یا نه. INSTALL_FAILED_INSUFFICIENT_STORAGE این پیغام خطا به معنی این هست که فضای کافی برای اجرای برنامه وجود نداره. اگر از شبیه ساز ها استفاده می کنید میتونید از طریق منوی مدیریت AVD در شبیه ساز مورد نظر فضای بیشتری رو به اون اختصاص بدید و اگر از موبایل واقعی استفاده می کنید بهترین کار پاک کردن برنامه های بی استفاده و پاک کردن کش گوشی هست. NullPointerException شاید معروف ترین خطا در برنامه نویسی جاوا NullPointerException باشه. این مشکل وقتی پیش میاد که یک آبجکت ایجاد شده باشه اما هیچ فضایی در حافضه به اون اختصاص داده نشده باشه (null)، یا به زبان ساده تر یک آبجکت ساخته میشه اما تعریف نمیشه. مثلا کد زیر باعث ایجاد همچین خطایی میشه Object obj; obj.toString(); برای حل کردنش هم باید با استفاده از لوگ، آبجکتی که ساخته شده و تعریف نشده رو پیدا کرد و سپس مقدار دهیش کرد. R.layout.main Cannot Be Found / Cannot resolve symbol R راه حل این خطا هم مثل شماره ی ۳ کلین و بازسازی پروژست. البته گاهی انجام این کار برای یک بار مشکل رو حل نمیکنه. اگر با انجام دادن اونها ( حتی برای چندین بار) مشکل حل نشد بهتر هست کش رو پاکسازی کنید (File > Invalidate Caches / Restart ). اگر باز هم مشکل حل نشد پروژه رو چک کنید که فایل های لی آوت در کلاس ها درست استفاده شدن و در نهایت آخرین کار، ساختن یک پروژه ی جدید و انتقال کد ها به اونجاست. OutofMemoryError معمولا وقتی این خطا رخ میده که برنامه سعی می کنه از مقدار خیلی زیادی حافظه ی رم استفاده کنه. معمولا استفاده از فایل های bitmap با حجم بالا علت این خطا هست و کم کردن حجم اون معمولا مشکل رو حل می کنه. Only the original thread that created a view hierarchy can touch its views وقتی که یک UI رو بخواید از خارج از اون آپدیت کنید با همچین خطایی روبرو می شید. همیشه باید سعی بشه که از این کار پیشگیری کنید اما اگر مجبور هستید این کار رو انجام بدید از runOnUiThread استفاده کنید. Too many field references وقتی برنامه بیشتر از ۶۵۵۳۶ رفرنس داشته باشه این پیغام نشون داده میشه. در اندروید فایل هایی که به اونها dex فایل ها گفته میشه وجود داره که بیشترین تعداد رفرنس ها در هر کدوم از اونها عدد بالا هست. روش بهتر کم کردن تعداد رفرنس هاست اما در موقع نیاز میشه از چند دکس فایل استفاده کرد. NetworkOnMainThreadException وقتی بخواید عملیاتی که مربوط به شبکه هست رو در ترد اصلی استفاده کنید با این پیام روبرو میشید. به طور کلی استفاده از عملیاتی که زمانبر هست توی ترد های اصلی با خطا روبرو میشه و راه حل هم استفاده از AsyncTask هست. Activity has leaked window that was originally added here اگر از دیالوگ ها توی برنامتون استفاده کرده باشید احتمالا با این خطا روبرو شدید. این مشکل وقتی پیش میاد که یک دیالوگ در اکتیویتی ساخته شده باشه اما با از بین رفتن اکتیویتی، اون از بین نره. برای این کار کافی هست در متد onDestroy مربوط به اکتیویتی دیالوگ رو دیسمیس کنید ( dialog.dismiss() )
  23. سلام دوستان . خسته نباشید . من به تازگی تصمیم به یادگیری اندروید گرفتم ولی خب متاسفانه همین اول را به مشکلی خوردم که درست بشو نیست به زبان انگلیسی هم سرچ کردم ولی جایی جواب درستی نبود . مشکل من اینه که همون اولی که اندروید استودیو رو باز میکنم این ارور میاد Error:Failed to find Build Tools revision 26.0.2 پیر شدم سر این . حالا روش هایی که امتحان کردم هم زیاد بوده ولی جواب نبوده مثلا تو stackoverflow گفته بود که برو تو project structure بعد تو properties و اونجا ورژن build tools رو عوض کن . در صورتی که اصلا در project structure من اصلا properties نیست . یک جای دیگه گفته بود که این خط رو به build.gradle اضافه کن درست میشه buildToolsVersion "24.0.0" اضافه کردم و هیچ عملی نکرد باز هم همون ارور وقتی دیدم راهی نداره گفتم باید این فایل رو دانلود کنم چندین جا گشتم و نبود ولی یک جا پیدا کردم دانلود کردم و extract کردم تو پوشه build tools ولی جوابی نبود و همون ارور میومد . الان راه چیه ؟ اگی فایلی هست که شما میدونین بگین تا دانلود کنم
  24. دوستان به یک برنامه نویس و توسعه دهنده ios و اندروید در یک شرکت معتبر نیاز دارم. لطفا در صورت داشتن شرایط پیام بدید http://banijob.com/company/پیشگامان-هوا-و-انرژی/jobs/APP-Developer