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

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



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

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

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

نوع محتوا


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

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

دسته ها

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

تقویم ها

  • Community Calendar

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

  1. شاید در حین کار برنامه نویسی در اندروید،با این موضوع روبه رو شده باشید که چگونه بتوانیم یک گالری زیبا برای اپلیکیشن خود طراحی کنیم. در این آموزش به این موضوع میپردازیم و یک گالری ساده را پیاده سازی میکنیم. برای شروع ابتدا چند تصویر را به پوشه drawable خود کپی کنید،تا به عنوان آیتم های گالری مورد استفاده قرار بگیرند.برای اینکه یک Adapter بسازیم و تصاویر خود را معرفی کنیم،ابتدا یک کلاس به اسم ImageAdapter ایجاد کنید.این کلاس باید از کلاس BaseAdapterارث بری کنید تا توابع interface آن Override شوند. public class ImageAdapter extends BaseAdapter { int mGalleryItemBackground; private Context mContext; private Integer[] mImageIds = { R.drawable.icon, R.drawable.icon, R.drawable.icon }; public ImageAdapter(Context c) { mContext = c; } public int getCount() { return mImageIds.length; } public Object getItem(int position) { return position; } public long getItemId(int position) { return position; } public View getView(int position, View convertView, ViewGroup parent) { ImageView i = new ImageView(mContext); i.setImageResource(mImageIds[position]); i.setLayoutParams(new Gallery.LayoutParams(150, 100)); i.setScaleType(ImageView.ScaleType.FIT_XY); i.setBackgroundResource(mGalleryItemBackground); return i; } } شرح کدهای کلاس : متعیر mImageIds : این متغیر که بصورت یک آرایه عددی میباشد ،بدین صورت عمل میکند که id تصاویر را به عنوان تعداد آیتم ها ذخیره میکند تابع getCount : این تابع تعداد تصاویر کلاس را برمیگرداند تابع getItemId : این تابع مکان تصاویر را برمیگرداند تابع getView : این تابع مهمترین تابع کلاس مربوطه میباشد ، که ظاهر تصویر و سایز آن را مشخص میکند،مثلا در این مثال سایز تصاویر 150*100 میباشد. (در صورتی که قصد دارید که یک گالری سفارشی را پیاده سازی کنید،باید در این بخش اینکار را انجام دهید.) بعد از اینکارها ،وارد فایل main.xml برنامه میشویم و بدین صورت عمل میکنیم : <Gallery android:id="@+id/gallery" android:layout_width="match_parent" android:layout_height="wrap_content" /> در مرحله آخر وارد اکتیویتی اصلی خود میشویم و کلاسی که در ابتدا تعریف کرده ایم را به Gallery ، سینک میکنیم. public class GalleryExample extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Gallery g = (Gallery) findViewById(R.id.gallery); g.setAdapter(new ImageAdapter(this)); g.setOnItemClickListener(new OnItemClickListener() { public void onItemClick(@SuppressWarnings("rawtypes") AdapterView parent, View v, int position, long id) { Toast.makeText(GalleryExample.this, "" + position, Toast.LENGTH_SHORT).show(); } }); } }
  2. یکی از کارهایی که در بیشتر اپلیکیشن های اندرویدی ممکن است با آن مواجه شویم پخش فیلم و موسیقی میباشد. در این آموزش قصد داریم به روشهای پلی کردن ویدئو در اندروید بپردازیم. در اندروید ابزارهای زیادی برای اینکار وجود دارد که میتوان به مهمترین های آن مانند Videoview و MediaPlayer اشاره کرد. در این آموزش به Videoview میپردازیم، که ابزاری واقعا قدرتمند در اندروید هستش. خب برای شروع باید یک فایل xml را طراحی کنیم و ویجت Videoview را در آن قرار دهیم: <VideoView android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/videoView" android:layout_width="match_parent" android:layout_height="match_parent" /> سپس در اکتیویتی اصلی خود کارهای زیر را بدین صورت انجام دهیم : در این مثال ، یک ویدئو از طریق sdcard پلی میشود. VideoView videoView = (VideoView)findViewById(R.id.VideoView); videoView.setVideoPath("/sdcard/blonde_secretary.3gp"); videoView.start(); اگر قصد دارید که از طریق Url یک فایل را پلی کنید باید از این روش استفاده کنید : String _uri="http://192.168.10.10/video/1.mp4" _videoview.setVideoURI(Uri.parse(uri)); Manifest <uses-permission android:name="android.permission.INTERNET" />
  3. آموزش پیاده سازی دیتابیس اندروید همراه با مثال عملی در این اموزش میتوانید یک دیتابیس اندروید ایجاد کنید که توانایی افزودن اطلاعات،ویرایش اطلاعات ،حذف و لیست گیری اطلاعات باشید. ابتدا یک کلاس برای ایجاد SqliteopenHelper دیتایس و جداول ایجاد میکنیم و متدهای مورد نظر را نیز در ادامه مینویسیم import java.util.ArrayList; import java.util.HashMap; import java.util.Hashtable; import android.content.ContentValues; import android.content.Context; import android.database.Cursor; import android.database.DatabaseUtils; import android.database.sqlite.SQLiteOpenHelper; import android.database.sqlite.SQLiteDatabase; public class DBHelper extends SQLiteOpenHelper { public static final String DATABASE_NAME = "MyDBName.db"; public static final String CONTACTS_TABLE_NAME = "contacts"; public static final String CONTACTS_COLUMN_ID = "id"; public static final String CONTACTS_COLUMN_NAME = "name"; public static final String CONTACTS_COLUMN_EMAIL = "email"; public static final String CONTACTS_COLUMN_PHONE = "phone"; private HashMap hp; public DBHelper(Context context) { super(context, DATABASE_NAME , null, 1); } @Override public void onCreate(SQLiteDatabase db) { // TODO Auto-generated method stub db.execSQL( "create table contacts " + "(id integer primary key, name text,phone text,email text)" ); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { // TODO Auto-generated method stub db.execSQL("DROP TABLE IF EXISTS contacts"); onCreate(db); } public boolean insertContact (String name, String phone, String email) { SQLiteDatabase db = this.getWritableDatabase(); ContentValues contentValues = new ContentValues(); contentValues.put("name", name); contentValues.put("phone", phone); contentValues.put("email", email); db.insert("contacts", null, contentValues); return true; } public Cursor getData(int id) { SQLiteDatabase db = this.getReadableDatabase(); Cursor res = db.rawQuery( "select * from contacts where id="+id+"", null ); return res; } public int numberOfRows(){ SQLiteDatabase db = this.getReadableDatabase(); int numRows = (int) DatabaseUtils.queryNumEntries(db, CONTACTS_TABLE_NAME); return numRows; } public boolean updateContact (Integer id, String name, String phone, String email) { SQLiteDatabase db = this.getWritableDatabase(); ContentValues contentValues = new ContentValues(); contentValues.put("name", name); contentValues.put("phone", phone); contentValues.put("email", email); db.update("contacts", contentValues, "id = ? ", new String[] { Integer.toString(id) } ); return true; } public Integer deleteContact (Integer id) { SQLiteDatabase db = this.getWritableDatabase(); return db.delete("contacts", "id = ? ", new String[] { Integer.toString(id) }); } public ArrayList<String> getAllCotacts() { ArrayList<String> array_list = new ArrayList<String>(); //hp = new HashMap(); SQLiteDatabase db = this.getReadableDatabase(); Cursor res = db.rawQuery( "select * from contacts", null ); res.moveToFirst(); while(res.isAfterLast() == false){ array_list.add(res.getString(res.getColumnIndex(CONTACTS_COLUMN_NAME))); res.moveToNext(); } return array_list; } } سپس واسط کاربری گرافیکی Layout را طراحی میکنیم activity_main.xml <?xml version="1.0" encoding="utf-8"?> <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/scrollView1" android:layout_width="match_parent" android:layout_height="wrap_content" tools:context=".MainActivity" > <LinearLayout android:orientation="vertical" android:layout_width="match_parent" android:layout_height="370dp"> <EditText android:id="@+id/editTextName" android:layout_width="match_parent" android:layout_height="wrap_content" android:ems="10" android:inputType="text" > </EditText> <EditText android:id="@+id/editTextEmail" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="22dp" android:ems="10" android:inputType="textEmailAddress" /> <EditText android:id="@+id/edit_phone" android:layout_width="match_parent" android:layout_height="wrap_content" /> <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginBottom="28dp" android:text="@string/save" /> </LinearLayout> </ScrollView> برای ذخیره اطلاعات در دیتابیس.میبایستی در اکتیویتی دیتابیس را new کنید تا بتوانید که اطلاعات را در دیتابیس فراخوانی کنید افزودن اطلاعات : public class MainActivity extends AppCompatActivity { DBHelper mydb; EditText editTextName,editTextEmail,edit_phone; Button button1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); editTextName=(EditText)findViewById(R.id.editTextName); editTextEmail=(EditText)findViewById(R.id.editTextEmail); edit_phone=(EditText)findViewById(R.id.edit_phone); button1=(Button)findViewById(R.id.button1); mydb = new DBHelper(this); button1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String name=editTextName.getText().toString(); String email=editTextEmail.getText().toString(); String phone=edit_phone.getText().toString(); mydb.insertContact(name,email,phone); } }); } بزودی آموزش تکمیل میگردد. دوره آموزشی اندروید http://android-learn.ir/online-learning/android-development-training/guruPrograms/1-android-programming/2-programming-mobile-applications-for-android
  4. برای شروع برنامه نویسی اندروید ، به نرم افزاهایی نیاز داریم که بسته به سیستم عامل خود با نسخه مربوطه را نصب کنید،تا برنامه نویسی &nbsp;اندروید را شروع کنیم. 1-جاوا : ابتدا باید جاوا JDK 8 را روی سیستم خود نصب کنید.برای دانلود جاوا به سایت جاوا مراجعه نمایید و آن را دانلود کنید. برای اینکه مطمئن شوید که جاوا بدرستی روی سیستم نصب شده است.میتوانید دستور زیر را در cmd وارد نمایید: Java -version 2-IDE(محیط برنامه نویسی) : برای اینکه برنامه نویسی به اندروید را شروع کنیم،باید IDE موردنیاز را تهیه نماید.پیشنهاد گوگل نرم افزار رایگان اندروید استودیو میباشد،که از سایت اصلی اندروید میتوانید دریافت نمایید. https://developer.android.com/studio/index.html 3-SDK اندروید : برای دانلود SDK اندروید میتوانید از سایت خود اندروید آن را دانلود نمایید،اما به علت تحریم بودن برای ایران،به راحتی نمی توانید دانلود نمایید.برای دانلود میتوانید به نسخه های که در نت موجود میباشد، میتوانید استفاده نمایید
  5. محیط جدید برنامه نویسی اندروید Android Studio اندروید استودیو یک محیط برنامه نویسی برای پلتفرم اندروید است. این برنامه در 16 می 2014 توسط مدیران گوگل در کنفرانس گوگل آی/او معرفی شد. از ماه جوئن 2014 نسخه پیش نمایش این برنامه (به صورت رایگان) برای امتحان در دسترس توسعه دهنده‌ها قرار گرفت. این محیط بر اساس نرم‌افزار محبوب جت برینز طراحی شده است، این استودیو بطور اختصاصی برای اندروید طراحی شده. هم اکنون این استودیو برای دانلود بر روی ویندوز، مک و لینوکس در دسترس می‌باشد. از جمله میتوان به موارد زیر اشاره کرد : 1-کدنویسی سریع و قدرتمند(Powerful code editing) : Android Studio شامل ادیتور ویرایش قدرمتندی میباشد،که بر پایه intellij میباشد،همچنین شامل ویژگی های زیر میباشد smart editing, advanced code refactoring, , deep static code analysis 2- UI قدرتمند و سریع : یکی از امکاناتی خیلی جذابی(خفنی!) که برای ساخت UI در اختیار برنامه نویسان قرار گرفته امکان مشاهده 6 نما در قسمتی از صفحه میباشد،این مسئله شاید به یکی از بزرگترین مشکلات برنامه نویسان اندروید تبدیل شده بود،با ورود این محیط برنامه نویسی قدرمتند این مشکل تا حدود زیادی حل خواهد شد. 3-محیط متن باز(Open source development) : از جمله ویژگی های دیگر این محیط برنامه نویسی متن باز بودن(رایگان) میباشد که از جمله مزیت این محیط قدرتمند میباشد. 4- دسترسی به سرویس های گوگل(Android Tools). برای دانلود برنامه Android Studio به آدرس زیر رفته و آن را دانلود نمایید. چندین ویژگی مهم در این نرم‌افزار برای توسعه دهندگان اندروید : چیدمان زنده: ویرایشگر WYSIWYG – کدنویسی زنده – رندر هم زمان برنامه کنسول توسعه دهنده: راهنمای بهینه سازی – کمک برای ترجمه – ردیابی ارجاع – طریقه استفاده پشتیبانی از ساخت مبتنی بر Gradle رفع و عیب یابی مخصوص اندروید ابزار لینت برای گرفتن عملکرد، قابلیت استفاده، نسخه سازگار با مشکلات دیگر قابلیت Proguard و امضای برنامه مبتنی بر الگوی wizard برای ایجاد طرح اندروید و اجزای مشترک ویرایشگر طرح بندی غنی که به شما اجازه کشیدن و رها کردن UI کامنت‌ها را می‌دهند. گزینه‌ای برای تنظیمات پیش نمایش طرح بندی در صفحه نمایش چندگانه
  6. با سلام خدمت دوستان عزیز خیلی از دوستان رو دیدم که تلاش میکردن سورس تلگرام را بدون خطا اجرا کنند ولی با مشکل برخورد میکردند تصمیم گرفتم این فیلم آموزشی رو ظبط کنم و برای یاد گیری عزیزان روی سایت قرار بدم با این ففیلم آموزشی شما میتوانید بدون هیچ مشکلی سورس تلگرام را بر روی شبیه ساز و هر نوع گوشی دیگری اجرا کنید آموزش پولی هستش که رایگان شده توسط صاحب آموزش لینک دانلود :دانلود TelegramSource_errors.mp4
  7. الگوهای زیادی برای طراحی برنامه نویسی هستند که بستگی به سلیقه شما دارند از آنها استفاده کنید یا نکنید ... برای آموزش Singleton Design Pattern کلیک کنید برای سفارش پروژه پیام بگذارید
  8. کمپ تابستانه برنامه نویسی اندروید 👍مدرس : فرزاد سرسیفی 👍تاریخ برگزاری : 6 الی 9 شهریور 1397 👍تلفن های ثبت نام : ۸۸۵۵۴۲۱۷ -۸۸۵۰۸۰۸۰ 👍همراه با نهار و پذیرایی https://goo.gl/vPF2e5 معرفی دوره و ثبت نام
  9. برای ارسال اطلاعات از یک اکتیوینی دیگر باید بدین روش اعمال کنیم،مثلا وقتی روی دکمه ای کلیک شد ، به صفحه مورد نظر رفته و اطلاعات همراه با آن intent فرستاده میشود. در این نمونه مثال دو مقدار url و name که رشته ای هستند برای صفحه بعد فرستاده میشود Intent i = new Intent(getApplicationContext(), list.class); i.putExtra("url", txt_url.getText()); i.putExtra("name", txt_name.getText()); startActivity(i); سپس باید در صفحه وارد شده مقداری که ارسال شده است را بگیریم : Bundle extras = getIntent().getExtras(); if (extras != null) { _url = extras.getStringurl _name = extras.getString("name");}
  10. دوره آشنایی با جاوا وبرنامه نویسی اندروید درآموزشگاه ویستا تنها با پرداخت ۱۲۰۰۰۰ تومان اما به ارزش ۱۲۰۰۰۰۰ تومان (۹۰% تخفیف) ثبت نام در دوره کارت‌خوان: دارد جای پارک آسان: دارد مخاطب : بانوان وآقایان سرفصل‌ها : فصل اول)آشنایی با جاوا معرفی مفهوم برنامه نویسی و اهداف آن معرفی ویژگی های زبان جاوا و تفاوتهای آن با سایر زبانها معرفی مفهوم انتزاع توزیع های جاوا آشنایی با 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 در آموزشگاه اندروید ایران ثبت نام در دوره
  11. ثبت نام و توضیحات دوره دوره برنامه نویسی اندروید یکی از جذاب ترین دوره های آموزشی میباشد که مخاطبان دوره میتوانند در این دوره اصول طراحی اپلیکیشن های تحت اندروید را طراحی و پیاده سازی نموده و شروع به کسب درآمد در حوزه اپلیکیشن های موبایل نمایند.کاربران این دوره میتوانند با کسب مهارت های مطرح شده در سرفصلهای دوره گام بزرگ و سریعی جهت ورود به بازار اپلیکیشن های اندرویدی برداشته و با انتشار برنامه های طراحی شده خود در فضای مجاری کسب درآمد کنند.هم اینک ده ها هزار نرم افزار تحت موبایل در فضای اینترنتی منتشر شده که تعداد بی شماری از این نرم افزارها با دانلود های حیرت آور منبع درآمدهای چندین میلیونی برای طراح خود بوده اند.اگر قصد ورود به بازار نرم افزارهای موبایل دارید هم اینک در دروه آموزشی برنامه نویسی اندروید شرکت کنید. مدرس (مدرسان) : فرزاد سرسیفی پیشنیاز: آشنایی با مفاهیم برنامه نویسی - آشنایی با زبان جاوا مدت زمان دوره: 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 ثبت نام و توضیحات دوره
  12. Spinner یکی از ویجت های کاربردی و پراستفاده در برنامه های اندرویدی میباشد و بصورت یک منوی بازشونده عمل میکند که میتوانید یک یا چند آیتم را انتخاب کنید. به روش های مختلف میتوانید در Spinner آیتم اضافه کنید مثلا ارایه،xml ،دیتابیس ,..... میتوانید ویجت خود را کنترل نمایید در این تاپیک کلیه روش ها مورد استفاده قرار میگیرند.برای شروع از آرایه استفاده میکنیم 1-لود کردن آرایه در Spinner : ابتدا باید در XML آن را تعریف کنیم: <?xml version="1.0" encoding="utf-8"?> <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <Spinner android:id="@+id/spinner1" android:layout_width="match_parent" android:layout_height="wrap_content" /> </LinearLayout> سپس در اکتیویتی خود باید لیستی را تعریف کرده و در Adapter قرار دهیم: Spinner spinner1 = (Spinner) findViewById(R.id.spinner2); List list = new ArrayList(); list.add("Android"); list.add("BADA"); list.add("Tizen"); ArrayAdapter dataAdapter = new ArrayAdapter(this, android.R.layout.simple_spinner_item, list); dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); spinner1.setAdapter(dataAdapter);
  13. سلام من میخوام یک قسمت برای سکه برای کاربران درست کنم که با انجام کاری یا زدن روی دکمه ای اون عدد زیاد بشه این تیکه کدشو کسی داره؟ و باید برای باز کردن قفل یک قسمت یک مقدار ثابتی سکه داشته باشه مثلا ۵۰تا سکه باید داشته باشه تا به اون قسمت دست رسی داشته باشه من باید آموزش این نوع قسمتارو کجا ببینم یا اگه میشه همینجا کامل راهنمایی کنید ممنون میشم.
  14. اجرای اولین پروژه اندروید ابتدا برنامه Android studio رو باز کنید، سپس مراحل زیر رو انجام بدید : 1- از منوی فایل گزینه New و سپس Android Project را انتخاب کنید 2-در کادر ظاهر شده ابتدا نام پروژه خود را بنویسید بعد گزینه Next را انتخاب کنید 3- در کادر بعدی باید حدهاق API را انتخاب کنید. در این باید تعیین کنید که این برنامه رو قصد دارید برای چه نسخه ای از اندروید بنویسید . بیشتر گوشی های در حال حاضر اندروید 2.3.3 را دارند. هر چند میتوانید هر کدام را که خواستی انتخاب کنید در مرحله آخر نیز باید در قسمت ApplicatonName همان نام اولیه داده شده را که وارد کردید وارد کنید در قسمت PackageName : باید نام پکیج اصلی برنامه رو بنویسید که باید حتما از سه قسمت تشکیل شده باشند و با نقطه از هم جدا میشوند در قسمت Create Activity : نام اکیتیویتی اصلی برنامه رو باید وارد کنید(در حین نوشتن برنامه میتوانید آن را تغییر دهید) در این مرحله اسم اکتیویتی و لایوت شروع کننده برنامه را وارد کنید و سپس گزینه finish را انتخاب کنید ورود به محیط اندروید استودیو در این حالت اندروید استودیو در حال ساخت پروژه اندروید میباشد
  15. انجمن اندروید ایران با همکاری فرانش برگزار میکند: تاریخ برگزاری : 3 آبان 1395 مدرس : فرزاد سرسیفی مکان: مصلی تهرانی،غرفه فرانش عنوان درسی : امنیت در اندروید "شرکت برای عموم رایگان میباشد" با سپاس فراوان فرزاد سرسیفی
  16. با سلام خدمت همه کاربران و مدیران انجمن p30droid این اولین پست منه و خیلی علاقه مند به یادگیری برنامه نویسی اندروید دارم ، (رایگان / پولی) درخواستی که از عزیزان دارم اگه لطف کنید پاسخ کاملی بدین ممنون میشم من تقریبا طراحی سایت بلدم و درصد یادگیریم بد نیست ، میخواستم بدون بهترین برنامه برای استارت کارم اندروید استودیو هست ؟ دنبال آموزشی کامل هستم (رایگان یا پولی فرقی نداره) فقط مدیران یا کاربران تایید کنن ، آموزشی همراه با ساخت یک پروژه از 0 تا 100 تشکر
  17. آیا تا به حال شده که بعد از ارائه اپلیکشن پیغامهایی از طرف کاربران دریافت کنید که ناشی از بسته شدن اپ در حین کار باشه؟ در اینگونه مواقع علاوه بر زمانبر بودن پیدا کردن خطا، شاهد ریزش شدید کاربران اپ خواهید بود. پس بهتر است قبل از ارائه اپ در بازار یا Google Play تمهیداتی را برای اطلاع از پیغامهای احتمالی در نظر بگیرید. یکی از ابزارهای بسیار مفید استفاده کردن از کتبخانه هایی هست مه برای انجام این کار در نظر گرفته شده است، به عنوان مثال کتابخانه ACRA این کار را با ارسال ایمیل برای شما به راحتی انجام میدهد. استفاده کردن از این کتابخانه بسیار راحت هست. در قدم اول باید کتابخانه ACRA را به عنوان dependency به build.gradle اضافه کنید: compile 'ch.acra:acra:4.9.2' در قدم بعدی کلاس Application را بسازید و متدهای مربوطه برای ACRA را در آن پیاده سازی کنید: @ReportsCrashes( formUri = "", mailTo = "yourmail@yourdomain.com", customReportContent = { ReportField.APP_VERSION_CODE, ReportField.APP_VERSION_NAME, ReportField.ANDROID_VERSION, ReportField.PHONE_MODEL, ReportField.BRAND, ReportField.CUSTOM_DATA, ReportField.INITIAL_CONFIGURATION, ReportField.CRASH_CONFIGURATION, ReportField.USER_CRASH_DATE, ReportField.STACK_TRACE, ReportField.LOGCAT}, resToastText = R.string.crash_toast_text, mode = ReportingInteractionMode.TOAST) public class MyApplication extends Application { @Override public void onCreate() { super.onCreate(); ACRA.init(this); } } در بخش ReportField همانطور که میبینید، اطلاعاتی که قرار است به ایمیلتان ارسال گردد را وارد میکنیم. در قدم آخر فایل Manifest را باز کرده و دسترسی های مربوطه و همچنین کلاس Application را در تگ application وارد کنید: <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.acrademo"> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.READ_LOGS" /> <application android:name=".MyApplication" android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest> برای تست عملکرد کدها، یک دکمه بسازید و سپس کدهایی را برای آن وارد کنید که باعث کرش شدن اپ گردد... public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } public void onCrash(View view){ throw new RuntimeException("App Crashed"); } } منبع: www.asifmoinulislam.com
  18. سلام در این بخش آموزشی ظبط کردم که به وسیله ان می توانید یک تایید موبایل مانند واتساپ ایجاد کنید من سعی کردم آموزش کامل روان و ساده باشه برای همین از جملات سخت و غییر قابل درک استفاده نکرده ام این آموزش به وسیله کتاب خانه رتروفیت می باشد در سمت سرور من از دیتا بیس استفاده نکردم شما میتوانید به راحتی از ان استفاده کنید امید وارم آموزش مفید و کاربردی باشد لینک دانلود : دانلود
  19. سلام یه مشکلی دارم خیلی وقته گیرشم لطفا کسی اگر آشناست به این قضیه کمک کنه. زمانی که کد رنگ رو تو RelativeLayout مینوسم eror میده و یا یه پوشه از drawable میزارم اما Linear اینطور نیست و مشکلی نداره. یه عکس گذاشتم اونی که خط قرمز زیرش کشیده.....ممنون از شما
  20. دانلود کتاب 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
  21. همچنان میدانید در بخش اول دیتابیس به توضیفی از sqlite پرداختیم.در صورتی مقاله اول را مطالعه نکرده اید،حتما آن را مطالعه کنید. ابتدا یک پروژه جدید را ایجاد کنید و اسم آن را مثلا dbAndroid بگذارید. سپس ورژن اندروید خود را مشخص کنید...که در این پروژه 2.3.3 را در نظر گرفته ایم در مرحله آخر نام پکیج و اکتیویتی خود را وارد کنید. دکمه finish را بزنید تا پروژه شما اماده شود. اولین قدم برای اینکه بتوانیم از sqlite استفاده کنیم این است که یک کلاس جدید را ایجاد کنید.برای اینکار روی نام پکیچ کلیک راست و گزینه new ->class را انتخاب کنید تا کادر زیر ظاهر شود. بعد از ایجاد کردن کلاس باید از کلاس SQLiteOpenHelper ارث بری کنیم .بعد از اینکار رنگ قرمزی روی نام کلاس ظاهر میشود که برای این میباشد که حتما باید توابع سازنده را ایجاد کنید.که بعد از اینکار سه تابع که در تصویر نشان داده شده اضافه میشوند. بعد از اینکار ها بهتر است در قسمت general متغیر هایی را بصورت سراسری تعریف کنیم تا در کلاس های دیگر نیز بتوانیم فراخوانی کنیم.ابتدا در تابع onCreate دستور مربوطه به ایجاد جدول را بنویسید و در تابع onUpgrade هم دستور مربوط به پاک کردن اطلاعات جدول را بنویسید.بعد از اینکار ها میتونید در هر جای برنامه فقط با صدا زدن نام کلاس و ایجاد کردن یک شی از آن میتوانیم از دیتابیس اندروید به راحتی استفاده کنید بعد از نوشتن دستورات بالا به سراغ طراحی کردن یک UI ساده میرویم تا با وارد کردن اطلاعات در دو EditText اطلاعات را در دیتابیس ذخیره کنید خروجی UI بدین صورت میباشد. کار بدین صورت میباشد که وقتی کاربر روی دکمه save کلیک کرد اطلاعات در دیتابیس ذخیره میشود در خط 13 : ابتدا باید یک شی جدید از کلاس قبلی را ایجاد کنیم خط 14 : یک متغیر از نوع SQLiteDatabase را تعریف میکنیم تا بتوانیم عملیات های مختلف پایگاه داده را انجام دهیم خط 15 : برای اینکه بتوانیم اطلاعات را در مکانی قرار دهیم بعد ذخیره شود از ContentValues استفاده میکنیم در تابع OnCreate هم ابتدا خاصیت مربوط به دکمه را در حالتی وقتی که روی آن کلیک کردیم قرار میدهیم بعد از این کارها نوبت به نوشتن کدهای ثبت اطلاعات میباشد ، بعد از انتخاب دکمه مربوطه یک پیغام چاپ میشود مینی بر اینکه اطلاعات ثبت شد. خط 33: در این خط ما به شی db میگوییم که میتواند که اطلاعات را در دیتابیس بنویسد خط 34: در این خط شی content را ایجاد میکنیم تا مقادیر را در آن قرار دهیم خط های 35 و 36 مقادیر مربوط به فیلدهای name,lname را قرار میدهد خط 37 : اطلاعات در دیتابیس ذخیره میکند خط 38 : یک پیغام را توسط Toast چاپ میکند
  22. در این پست آموزشی قصد داریم نحوه تبدیلات تاریخ(شمسی،میلادی) را مورد بررسی قرار دهیم تا بتوانیم این امکان را در پیاده سازی نماییم. برای اینکار یک کلاسی را استفاده میکنیم که مدیر وب سایت kamyarns آن را ایجاد کرده است و قصد داریم در این آموزش نحوه استفاده از این کلاس را آموزش دهیم از طریق لینک زیر نیز میتوانید به کد دسترسی پیدا کنید https://github.com/dc0d/Roozh/blob/master/Java/src/roozh/main/Roozh.java ابتد کد زیر را به عنوان یک کلاس ( Class ) وارد پروژه خود کنید: public class Roozh { private int day, month, year; private int jY, jM, jD; private int gY, gM, gD; private int leap, march; /** * Calculates the Julian Day number (JG2JD) from Gregorian or Julian * calendar dates. This integer number corresponds to the noon of the date * (i.e. 12 hours of Universal Time). The procedure was tested to be good * since 1 March, -100100 (of both the calendars) up to a few millions * (10**6) years into the future. The algorithm is based on D.A. Hatcher, * Q.Jl.R.Astron.Soc. 25(1984), 53-55 slightly modified by me (K.M. * Borkowski, Post.Astron. 25(1987), 275-279). * * @param year * int * @param month * int * @param day * int * @param J1G0 * to be set to 1 for Julian and to 0 for Gregorian calendar * @return Julian Day number */ private int JG2JD(int year, int month, int day, int J1G0) { int jd = (1461 * (year + 4800 + (month - 14) / 12)) / 4 + (367 * (month - 2 - 12 * ((month - 14) / 12))) / 12 - (3 * ((year + 4900 + (month - 14) / 12) / 100)) / 4 + day - 32075; if (J1G0 == 0) jd = jd - (year + 100100 + (month - 8) / 6) / 100 * 3 / 4 + 752; return jd; } /** * Calculates Gregorian and Julian calendar dates from the Julian Day number * (JD) for the period since JD=-34839655 (i.e. the year -100100 of both the * calendars) to some millions (10**6) years ahead of the present. The * algorithm is based on D.A. Hatcher, Q.Jl.R.Astron.Soc. 25(1984), 53-55 * slightly modified by me (K.M. Borkowski, Post.Astron. 25(1987), 275-279). * * @param JD * Julian day number as int * @param J1G0 * to be set to 1 for Julian and to 0 for Gregorian calendar */ private void JD2JG(int JD, int J1G0) { int i, j; j = 4 * JD + 139361631; if (J1G0 == 0) { j = j + (4 * JD + 183187720) / 146097 * 3 / 4 * 4 - 3908; } i = (j % 1461) / 4 * 5 + 308; gD = (i % 153) / 5 + 1; gM = ((i / 153) % 12) + 1; gY = j / 1461 - 100100 + (8 - gM) / 6; } /** * Converts the Julian Day number to a date in the Jalali calendar * * @param JDN * the Julian Day number */ private void JD2Jal(int JDN) { JD2JG(JDN, 0); jY = gY - 621; JalCal(jY); int JDN1F = JG2JD(gY, 3, march, 0); int k = JDN - JDN1F; if (k >= 0) { if (k <= 185) { jM = 1 + k / 31; jD = (k % 31) + 1; return; } else { k = k - 186; } } else { jY = jY - 1; k = k + 179; if (leap == 1) k = k + 1; } jM = 7 + k / 30; jD = (k % 30) + 1; } /** * Converts a date of the Jalali calendar to the Julian Day Number * * @param Jy * Jalali year as int * @param Jm * Jalali month as int * @param Jd * Jalali day as int * @return Julian day number */ private int Jal2JD(int jY, int jM, int jD) { JalCal(jY); int jd = JG2JD(gY, 3, march, 1) + (jM - 1) * 31 - jM / 7 * (jM - 7) + jD - 1; return jd; } /** * This procedure determines if the Jalali (Persian) year is leap (366-day * long) or is the common year (365 days), and finds the day in March * (Gregorian calendar) of the first day of the Jalali year (jY) * * @param jY * Jalali calendar year (-61 to 3177) */ private void JalCal(int jY) { march = 0; leap = 0; int[] breaks = { -61, 9, 38, 199, 426, 686, 756, 818, 1111, 1181, 1210, 1635, 2060, 2097, 2192, 2262, 2324, 2394, 2456, 3178 }; gY = jY + 621; int leapJ = -14; int jp = breaks[0]; int jump = 0; for (int j = 1; j <= 19; j++) { int jm = breaks[j]; jump = jm - jp; if (jY < jm) { int N = jY - jp; leapJ = leapJ + N / 33 * 8 + (N % 33 + 3) / 4; if ((jump % 33) == 4 && (jump - N) == 4) leapJ = leapJ + 1; int leapG = (gY / 4) - (gY / 100 + 1) * 3 / 4 - 150; march = 20 + leapJ - leapG; if ((jump - N) < 6) N = N - jump + (jump + 4) / 33 * 33; leap = ((((N + 1) % 33) - 1) % 4); if (leap == -1) leap = 4; break; } leapJ = leapJ + jump / 33 * 8 + (jump % 33) / 4; jp = jm; } } /** * Modified toString() method that represents date string * * @return Date as String */ @Override public String toString() { return String.format("%04d-%02d-%02d", getYear(), getMonth(), getDay()); } /** * Converts Gregorian date to Persian(Jalali) date * * @param year * int * @param month * int * @param day * int */ public void GregorianToPersian(int year, int month, int day) { int jd = JG2JD(year, month, day, 0); JD2Jal(jd); this.year = jY; this.month = jM; this.day = jD; } /** * Converts Persian(Jalali) date to Gregorian date * * @param year * int * @param month * int * @param day * int */ public void PersianToGregorian(int year, int month, int day) { int jd = Jal2JD(year, month, day); JD2JG(jd, 0); this.year = gY; this.month = gM; this.day = gD; } /** * Get manipulated day * * @return Day as int */ public int getDay() { return day; } /** * Get manipulated month * * @return Month as int */ public int getMonth() { return month; } /** * Get manipulated year * * @return Year as int */ public int getYear() { return year; } } فراخوانی: 1-برای فراخوانی و استفاده از این کلاس کافیست ابتدا از آن یک شی جدید بسازید ، سپس تاریخ ها را وارد نمایید تا خروجی را براساس داده های وارد شده برگرداند. Roozh jCal = new Roozh(); 2- در مرحله بعدی باید تعیین نماییم قصد داریم چه تاریخی را تبدیل نماییم.این کلاس دارای دو تابع بدین صورت میباشد. 1-)تبدیل تاریخ شمسی به میلادی: jCal.PersianToGregorian(Year,Month,Day); 2-)تبدیل تاریخ میلادی به شمسی: jCal.GregorianToPersian(m_year, m_Month, m_day); نکته:مقدار ورودی برای پارامترهای این توابع باید بصورت Int باشد 3-خروجی: برای نمایش و بدست آوردن خروجی از این کلاس کافیست فقط از دستور زیر استفاده کنید: jCal.toString(); convertDB.pdf convertDB.pdf
  23. به مناسبت دومین سالگرد انجمن برنامه نویسی اندروید پی سی دروید،آموزش گام به گام برنامه نویسی اندروید از پایه را آماده کرده ایم امید است بتوانیم سهمی کوچک در پیشرفت تمامی کاربران گرامی انجمن پی سی دروید را داشته باشیم. این فایل آموزشی در 80 صفحه و پنج فصل تدوین شده است سرفصل ها: معماری و ساختار سیستم عامل اندروید آموزش زبان جاوا Layout در اندروید آموزش کاربردی برنامه نویسی اندروید مارکتینگ اندروید لینک دانلود: http://p30droid.com/Uploader/do.php?id=528 با احترام فرزاد سرسیفی مدیر انجمن برنامه نویسی اندروید p30droid.com
  24. تا به حال نرم افزار های زیادی از قبیل توییتر(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) استفاده کنیم.
  25. دوازدهمین دوره آموزشی برنامه نویسی اندروید(پیشرفته) دوره برنامه نویسی اندروید یکی از جذاب ترین دوره های آموزشی میباشد که مخاطبان دوره میتوانند در این دوره اصول طراحی اپلیکیشن های تحت اندروید را طراحی و پیاده سازی نموده و شروع به کسب درآمد در حوزه اپلیکیشن های موبایل نمایند.کاربران این دوره میتوانند با کسب مهارت های مطرح شده در سرفصلهای دوره گام بزرگ و سریعی جهت ورود به بازار اپلیکیشن های اندرویدی برداشته و با انتشار برنامه های طراحی شده خود در فضای مجاری کسب درآمد کنند.هم اینک ده ها هزار نرم افزار تحت موبایل در فضای اینترنتی منتشر شده که تعداد بی شماری از این نرم افزارها با دانلود های حیرت آور منبع درآمدهای چندین میلیونی برای طراح خود بوده اند.اگر قصد ورود به بازار نرم افزارهای موبایل دارید هم اینک در دروه آموزشی برنامه نویسی اندروید شرکت کنید. اهداف کلی این دوره: پیاده سازی ORM دیتابیس سرویس های Background در اندروید آشنایی با کتابخانه های مفید و پرکاربرد اندروید آشنایی با Fragment پیاده سازی وب سرویس پیاده سازی Api های گوگل پیاده سازی FireBase در اندروید پیاده سازی Push Notification در اندروید تست اپلیکیشن Junit و Espresso مهندسی معکول و خروجی نهایی اپلیکیشن ثبت نام دوره اندروید مشخصات دوره : مدرس (مدرسان) : فرزاد سرسیفی پیشنیاز: آشنایی با مفاهیم برنامه نویسی - آشنایی با زبان جاوا مدت زمان دوره: 10 جلسه ( کارگاه کاملا عملی تحت پروژه) به صورت کارگاهی (در مجموع 40 ساعت)(10 نفر) تاریخ برگزاری: (دوره از 12 آبان ماه 1396 به مدت 10 جلسه - روزهای جمعه 14 الی 18) مدرک: در پایان دوره مدرک پایان دوره از طرف انستیتو آموزشگاه اندروید ایران ارائه میگردد. سه دانشجو نمونه اول به شرکت های معروف ایرانی جهت همکاری معرفی می گردند. به دانشجویانی که در دوره های قبلی آموزشگاه اندروید ایران حضور داشتند 20 درصد تخفیف داده خواهد شد به شرکت کنندگان در دوره کد ویژه خرید محصولات شاپ دروید داده می شود و می توانند برای همیشه محصولات این فروشگاه را با تخفیف 50 درصدی تهیه کنند. ویژگی : آموزش در لابراتوار مجهز به سیستم های روز به صورت شبکه تحت NetSupport و متصل به اینترنت و کاملا اینتراکتیو تحت پروژه عملی انجام خواهد گرفت. مکان برگزاری : این دوره آموزشی با همکاری آموزشگاه ویستا برگزار خواهد شد راهنمای ثبت نام: جهت کسب هر نوع اطلاعاتی در خصوص دوره میتوانید با ایمیل info@android-learn.ir وشماره های تماس ۸۸۵۰۸۰۸۰ -۸۸۵۵۴۲۱۷ -۸۸۵۵۴۲۱۳ تلگرام همراه 09100046764 تماس حاصل نمایید. ثبت نام دوره اندروید سرفصلهای دوره آموزشی برنامه نویسی اندروید پیشرفته به صورت کاملا عملی: پردازش های پس زمینه ای سرویس های پس زمینه Service BroadCastReciver AlramManager ذخیره سازی اطلاعات با دیتابیس SQLite ORM و realm آشنایی با ORM های استفاده از Sugar ORM آموزش و پیاده سازی دیتابیس Realm در اندروید Notification در اندروید پیاده سازی Notification در اندروید Notification های سفارشی طراحی واسط کاربری برای Notification آشنایی با Pending Intent پیاده سازی Push Notification با استفاد از OneSignal Firebase Firebase امکانات Firebase در اندروید پیاده سازی Register و Login در Firebase پیاده سازی Push Notification Crash Reporting وب سرویس ها در اندروید آشنایی با وب سرویس JSON آشنایی با JSON Array آشنایی با JSON Object آشنایی با Retrofit دریافت اطلاعات وب سرویس Retrofit ارسال اطلاعات به سرور Retrofit Image Loader Gson,Jackson json parsing پیاده سازی MVP Pattern در اندروید مفهوم Pattern در برنامه نویسی انواع Pattern های رایج در برنامه نویسی اندروید آشنایی با MVP Pattern در اندروید پیاده سازی MVP در اندروید پیاده سازی Dependency Injection در اندروید مفهوم Dependency Injection در برنامه نویسی انواع کتابخانه های رایج در DI برنامه نویسی اندروید آشنایی با کتابخانه Dagger 2 آشنایی با تغییرات اندرویدM و N Shade Animation CordinatorLayout Permission in Android 6 آشنایی با Kotlin معرفی kotlin پیاده سازی kotlin در اندروید استودیو ایجاد App Widgets برای اپلیکیشن معرفی widget در اندروید هدف از پیاده سازی App widgets در اندروید ارتباط بین App Widgets و اپلیکیشن پیاده سازی App Widgets در اپلیکیشن ایجاد کتابخانه در اندروید معرفی مفهوم کتابخانه در اندروید انواع کتابخانه های قابل پشتیبانی در اندروید ایجاد کتابخانه در اندروید Import کردن کتابخانه به پروژه و استفاده از آن Flavor در اندروید استودیو آشنایی با flavor در اندروید استودیو ایجاد چند خروجی از اپلکیشن ایجاد خروجی های free,purchase,paid برای اپلیکیشن Testing اپلیکیشن آشنایی با مفهوم Test در مهندسی نرم افزار آشنایی با کتابخانه Junit آشنایی با کتابخانه Espresso در Test Driven Android اندروید خروجی اندروید ایجاد کلید Sign در اندروید مهندسی معکوس اپلیکیشن های اندروید آشنایی با Proguard در اندروید انتشار اپلیکیشن در گوگل پلی این دوره توصیه میشود به : اشخاصی كه علاقه مند به آشنایی و كار حرفه ای با اندروید هستند. اشخاصی كه قصد فراگیری كامل طراحی اپلیکیشن های موبایل از ابتدا توسط اندروید دارند. اشخاصی كه قصد راه اندازی اپلیکیشن موبایل شخصی خود توسط اندروید دارند. اشخاصی كه میخواهند با فراگیری حرفه ای شروع به كسب درآمد نموده و به عنوان توسعه دهنده اندروید فعالیت كنند. شركتها و سازمانهایی كه قصد راه اندازی اپلیکیشن موبایل اندروید اختصاصی خود را دارند. دانشجویان رشته های كامپیوتر كه قصد فراگیری كامل توسعه اپلیکیشن های اندروید دارند. اشخاصی كه قصد پیاده سازی ایده های اپلیکیشن های موبایل را در قالب اندروید دارند. اشخاصی كه قصد دارند وب سایت خود را به اپلیکیشن های موبایل اندروید تبدیل كنند. و... ثبت نام دوره اندروید