Farzad Sarseifi

مدیریت انجمن
  • تعداد ارسال ها

    1,915
  • تاریخ عضویت

  • آخرین بازدید

  • Days Won

    129

تمامی ارسال های Farzad Sarseifi

  1. json

    هاست های رایگان هیچوقت گزینه مناسبی برای کار نمیباشد. آیا وب سایت برای بک اند رایگان تا بحال تست کرده اید؟ https://backendless.com/
  2. حتما باید توجه کنید داشته باشید دستور super.onBackPressed(); را بعد از چک کردن دستوری که میخواهید اجرا شود قرار دهید
  3. کتابخانه org.apache.http در اندروید Deprecate شده است و باید بصورت جدا و فایل jar به اندروید استودیو import کنید دانلود : httpclient-4.0.3.jar.zip
  4. متد OnBackPressed روی اکتیویتی پیاده سازی میشود با این روش میتوانید مشکل رو حل کنید 1-یک کلاس interface ایجاد کنید public interface OnBackPressedListener { public void doBack(); } 2-در این مرحله یک کلاس ایجاد کنید برای مدیریت back که در ادامه برای فرگمنت مورد استفاده قرار میگیرد public class BaseBackPressedListener implements OnBackPressedListener { private final FragmentActivity activity; public BaseBackPressedListener(FragmentActivity activity) { this.activity = activity; } @Override public void doBack() { activity.getSupportFragmentManager().popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE); } } 3- در داخل اکتیویتی زیر کلاس زیر را فراخوانی کنید protected OnBackPressedListener onBackPressedListener; 4-در متد OnBackPressed کلاس onBackPressed را برای کلید back قرار میدهیم @Override public void onBackPressed() { if (onBackPressedListener != null) onBackPressedListener.doBack(); else super.onBackPressed(); 5- در مرحله آخر درداخل فرگمنت کلید back را که در اکتیویتی ایجاد کرده بودیم را به فرگمنت ارجاع میدهیم @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { activity = getActivity(); ((BaseActivity)activity).setOnBackPressedListener(new BaseBackPressedListener(activity)); View view = ... ; //stuff with view return view; }
  5. از کتابخانه اپدیت شده این سورس برای اندروید استودیو استفاده کنید https://github.com/emilsjolander/android-FlipView
  6. درود به همه کاربران انجمن اندروید ایران به عنوان یکی دیگر از هدایای سری جدید انجمن اندروید ایران پروژه کتاب ساز اندروید را برای شما آماده و در اختیار شما عزیزان قرار گرفت. از آنجایی که هدف انجمن اندروید ایران فقط و فقط خدمت به اندروید ایران است و رشد و توسعه آن در گرو همکاری همه عزیزان است لذا به عنوان یک عضو کوچک از این خانواده بزرگ تلاش خود را انجام میدهیم تا خدمتی صادقانه به شما عزیزان ارائه دهیم. چندین وقت بود نیاز بود راهی آسان برای ساخت و ایجاد اپلیکیشن های بر پایه تولید محتوا ایجاد شود،بر همین دلیل انجمن پی سی دروید این نیاز را با ارائه روش "کتاب ساز اندروید" نیز برای توسعه دهندگان گرامی اندروید رفع خواهد کرد. امید است دوستان گرامی بتواند اپلیکیشن های جذابی را در آینده تولید نمایند و باعت پیشرفت صنعت موبایل در کشور باشد از امکانات این کتاب ساز : ورق زدن صفخات بصورت راست به چپ قرار دادن تصاویر و متون در صفحات قرار دادن متون فارسی و ... امکان قرار دادن نامحدود صفحات استفاده از دیتابیس برای نمایش اطلاعات برای استفاده از این پروژه باید حتما کتابخانه FilpBook را نیز به پروژه خود اضافه کنید،کتابخانه مورد نظر نیز در پیوست قرار گرفته است. دانلود پروژه: http://p30droid.com/Uploader/do.php?id=359 کتابخانه پروژه: http://p30droid.com/Uploader/do.php?id=360 پیروز و سربلند باشید. انجمن اندروید ایران
  7. نصب gradle

    کدام خطاها ؟ لطفا اسکرین شات قرار دهید بررسی کنیم
  8. بله تمامی بسته ها توسط کافه بازار بررسی و تایید خواهند شد حدودا هر بسته 3تا 5 روز طول خواهد کشید
  9. ابتدا یک اپلیکیشن را ثبت کنید و سپس حساب Api key google را به پروژه ست کنید
  10. لطف کنید قبل از درج هرگونه پست، #قوانین را مطالعه بفرمایید. P30droid.com 🌺دوره آموزشی اندروید-ثبت نام شروع شد http://goo.gl/vPF2e5 لینک گروه: https://telegram.me/joinchat/Bed-tD6xaGLJgXYWr6Iutg ارتباط با ادمین : @Android_coomunity
  11. قبل از بحث درباره پیاده سازی Singleton، اجازه دهید یکسری سوالات پایه ای را مطرح کنیم و به آنها پاسخ دهیم. هدف استفاده از Singleton Pattern همانطور که از نام آن مشخص است، Singleton Pattern فقط اجازه می دهد یک نمونه از class ساخته شود. چه زمانی نیاز داریم که یک نمونه از کلاس ساخته شود؟ خیلی وقت ها نیاز است که فقط یک نمونه از یک کلاس ساخته شود. مثلاً وقتی که نمی خواهیم وضعیت شی تغییر کند و یا می خواهیم class را به صورت stateless نگه داریم. به عنوان مثال زمانی که می خواهید یکسری داده های master را یکجا بارگذاری کنید و اجازه دهید مصرف کنندگان داده به جای فراخوانی های متعدد، با ساخت یک نمونه از کلاس، یک فراخوانی به یک کلاس Singleton داشته باشند. در حالت کلی، در هر برنامه Enterprise پیچیده، می توان به کلاس های Repository و لایه Data Access به صورت Singleton نگاه کرد. درحالیکه معمولاً نمی خواهیم وضعیت در این لایه ها حفظ شود. از جمله مثال های دیگر می توان به بحث log گیری، تنظیمات (configuration)، Caching و غیره اشاره کرد که می توان آن ها را به صورت Singleton پیاده سازی کرد. چرا که نیاز به یک نقطه مرکزی و سراسری خواهیم داشت تا به این کلاس ها دسترسی داشته باشیم. گذشته از توضیحات فوق، دیده شده است که برخی از برنامه نویسان بی تجربه یکسری نمونه های اضافی می سازند که نه نتها باعث سربار حافظه می شوند، بلکه کارایی برنامه را تحت تاثیر قرار می دهند. چرا کلاس های static به دلایل مختلفی نباید از کلاس های static استفاده کنیم. برخی از این دلایل عبارتند از: · موارد مختلفی هست هست که می خواهید Interface ها را در یک کلاس پیاده سازی کنید (برای مثال پیاده سازی IOC- بعداً به توضیح IOC خواهم پرداخت) و به جای پیاده سازی کلاس به صورت static، آن را به صورت Singleton پیاده سازی می کنیم. · در صورت نیاز، می توانید از یک کلاس singleton به صورت پارامتر یک متد استفاده کنید درحالیکه نمی توان این کار را با کلاس static انجام داد. نکته مهم درباره کلاس های Singleton ایده وضعیت یک کلاس از آنجا نشآت گرفته است که شما نیاز دارید یکسری هماهنگی در محیط های چند نخی (multi-threaded enviroments) ایجاد کنید. اجازه دهید نگاهی به یک پیاده سازی ساده داشته باشیم. در اولین مثال، یک Singleton با Lazy loading پیاده سازی شده است و تا زمانیکه فراخواننده، متد GetInstance را برای اولین بار فراخوانی نکند، نمونه ایجاد نمی شود. public class SingletonClass { private static SingletonClass instance = null; private SingletonClass() { } public static SingletonClass GetInstance { get { if (instance == null) { instance = new SingletonClass(); } return instance; } } اجازه دهید مشکل هماهنگی، که در محیط های چند نخی با آن مواجه هستیم را بر طرف کنیم. برای همین منظور از یک مکانیزم دوقفله استفاده خواهیم کرد: private static SingletonClass instance = null; private static object lockMe = new object(); private SingletonClass() { } public static SingletonClass GetInstance { get { if (instance == null) { lock (lockMe) { if (instance==null) { instance = new SingletonClass(); } } } return instance; } } و در آخر، Singleton با مقداردهی اولیه static. لطفاً توجه داشته باشید .NET Framework ایمنی thread در زمان مقداردهی اولیه تضمین می کند و دیگر نیازی نیست نگران مسائل هماهنگی باشیم. اگر چه دیگر از مزایای Lazy loading اشیاء برخوردار نخواهیم بود. private static SingletonClass instance = new SingletonClass(); public SingletonClass() { } private static SingletonClass GetInstance { get { return instance; } }
  12. @Override public void onBackPressed() { // code here to show dialog // super.onBackPressed(); // optional depending on your needs } این متد را فراخوانی کنید
  13. یک کلاس ایجاد کنید تا بتوانید متدهای onClick و onLongClick را implement کنید import android.content.Context; import android.support.v7.widget.RecyclerView; import android.view.GestureDetector; import android.view.MotionEvent; import android.view.View; public class RecyclerItemClickListener implements RecyclerView.OnItemTouchListener { private OnItemClickListener mListener; public interface OnItemClickListener { public void onItemClick(View view, int position); public void onLongItemClick(View view, int position); } GestureDetector mGestureDetector; public RecyclerItemClickListener(Context context, final RecyclerView recyclerView, OnItemClickListener listener) { mListener = listener; mGestureDetector = new GestureDetector(context, new GestureDetector.SimpleOnGestureListener() { @Override public boolean onSingleTapUp(MotionEvent e) { return true; } @Override public void onLongPress(MotionEvent e) { View child = recyclerView.findChildViewUnder(e.getX(), e.getY()); if (child != null && mListener != null) { mListener.onLongItemClick(child, recyclerView.getChildAdapterPosition(child)); } } }); } @Override public boolean onInterceptTouchEvent(RecyclerView view, MotionEvent e) { View childView = view.findChildViewUnder(e.getX(), e.getY()); if (childView != null && mListener != null && mGestureDetector.onTouchEvent(e)) { mListener.onItemClick(childView, view.getChildAdapterPosition(childView)); return true; } return false; } @Override public void onTouchEvent(RecyclerView view, MotionEvent motionEvent) { } @Override public void onRequestDisallowInterceptTouchEvent (boolean disallowIntercept){} } رویداد کلیک RecyclerView : RecyclerView recyclerView = findViewById(R.id.recycler); recyclerView.addOnItemTouchListener( new RecyclerItemClickListener(context, recyclerView ,new RecyclerItemClickListener.OnItemClickListener() { @Override public void onItemClick(View view, int position) { // do whatever } @Override public void onLongItemClick(View view, int position) { // do whatever } }) );
  14. مشکل مموری هستش.. تعداد آیتم های لیست ویو چند تا میباشد؟ یکی از مشکلات لیست ویو این میباشد که بیشتر از 200 ایتم را نمی تواند نمایش دهد
  15. نگارش 1.0.0

    0 دانلود

    یکی از Layout های اندروید که برای چیده مان المان ها یا ویجت ها، میتوانیم از آن استفاده کنیم RelativeLayout میباشد و همانطور که از اسم آن مشخص میباشد، بطور نسبی ویجت ها را میتوانیم با طراز بندی های خاصی بچینیم. در RelativeLayout میتوانید با استفاده از ویژگی های above,below,left,right تعیین کنید که ویجت ها به چه صورتی کنار هم قرار بگیرند. نکته: RelativeLayout بسیار قابل انعطاف میباشد و میتوان بسیار راحت ویجت ها را با قاعده های آن در صفحه بطور ترو تمیز چید. هر کدام از آیتم های بالا دارای اصول و قاعده های مربوط به خود میباشند که میبایستی تمامی آنها را یادگرفته و بتوانیم تشخیص دهیم در چه زمانی از کدام Layout استفاده نماییم روش تعریف RelativeLayout در اندروید: برای تعریف کردن RelativeLayout میبایستی که تگ آن را تعریف نماییم. <RelativeLayout android:layout_width="fill_parent" android:layout_height="wrap_content"> پس از تعریف، بایستی المان را در داخل این Viewgroup و نسبت های مربوطه را برای هرکدام از ویجت ها قرار داد. قرار دادن خصوصیت Id: Id یکی از مهمترین ویژگی های هر Layout یا ویجت میباشد که باید به آنها نسبت دهیم تا بتوانیم در قسمت Layout و اکتیویتی به آنها دستیابی پیدا کنیم و عملکرد هر کدام را تعریف نماییم. طریقه تعریف Id: {xtypo_code}android:id="@+id/name" بعد از تعریف کردن id مربوطه، name یک مقدار رشته ای برای آن در فایل R ایجاد میکند و از این طریق میتوان به آنها دسترسی پیدا کرد. خصوصیات RelativeLayout: android:layout_above : این خصوصیت تعیین میکند که این ویجت در بالای کدام view یا ویجت دیگر قرار بگیرد. android:layout_below : این خصوصیت تعیین میکند که این ویجت در پایین کدام view یا ویجت قرار بگیرد. android:layout_centerHorizontal : این خصوصیت تعیین میکند که این view یا ویجت بطور افقی وسط چین شود. android:layout_centerVertical : این خصوصیت تعیین میکند که این view یا ویجت بطور عمودی وسط چین شود. android:layout_centerInParent : این خصوصیت تعیین میکند که این view یا ویجت، بطور عمودی و افقی وسط چین شود و دقیقا مشابه استفاده از دو ویژگی centerHorizontal و centerVertical میباشد. android:layout_toLeftOf : این خصوصیت تعیین میکند که این view یا ویجت سمت چپ کدام view باشد. android:layout_toRightOf: این خصوصیت تعیین میکند که این view یا ویجت سمت راست کدام view باشد. android:layout_alignParentRight : این خصوصیت تعیین میکند که این view یا ویجت سمت راست والد خود باشد. Margin : Margin برای ایجاد کردن فاصله بین View ها از طرف خارج خود میباشد یا بطور ساده تر میتوان گفت بین ویجت ها از جهت های بالا، پایین، راست و چپ فاصله ایجاد میکند و به هر اندازه که نیاز باشد، میتوان سایز های مورد نظر خود را به آن اختصاص داد. در این بخش یک مثال را بطور عملی اجرا خواهیم نمود تا بطور کامل روش استفاده از RelativeLayout را بیاموزید. ابتدا یک پروژه جدید اندروید را ایجاد کنید. بر روی پوشه res/layout راست کلیک کنید و سپس گزینه Android xml file را انتخاب کنید و یک اسم برای Layout خود انتخاب کنید. و یا بصورت افقی : <RelativeLayout android:layout_width="fill_parent" android:layout_height="wrap_content"> <EditText android:layout_height="wrap_content" android:text="Email" /> <TextView android:layout_height="wrap_content" android:layout_below="@id/label" /> <Button android:layout_height="wrap_content" android:layout_below="@id/inputEmail" android:layout_alignParentLeft="true" android:layout_marginRight="10px" android:text="Login" /> <Button android:layout_toRightOf="@id/btnLogin" android:layout_alignTop="@id/btnLogin" android:text="Cancel" /> <Button android:layout_alignParentBottom="true" android:text="Register new Account" android:layout_centerHorizontal="true"/> خروجی ارتباط layout با اکتیویتی: setContentView(R.layout.relative_layout); با این دستور براحتی تعیین میکنید، هنگامی که این Activity اجرا شود، کدام Layout ظاهر شود. در ادامه همراه شاپ دروید باشید این آموزش از چه قسمت هایی تشکیل شده است؟ در این آموزش با مفاهیم Layout در اندروید و RelativeLayout بطور کامل آشنا خواهید شد و قادر خواهید بود رابط های گرافیکی مختلفی را پیاده سازی نمایید. از جمله آیتم های موجود میتوان به موارد زیر اشاره کرد: مفهوم RelativeLayout در اندروید انواع Layout های موجود در اندروید برای پیاده سازی رابط های کاربری استفاده از خصوصیت های CenterVertical و CenterHorizontal در RelativeLayout آشنایی و استفاده از Margin آشنایی با id و طریقه تعریف کردن id ها طراز بندی ویجت ها کنار هم حل مشکل بهم ریختگی View ها در RelativeLayout مشخصات ویدئو عنوان:آشنایی با RelativeLayout در اندروید مدرس:فرزاد سرسیفی مدت:21 دقیقه سطح:حرفه ای

    50٬000 ریال

  16. To get full sized camera image you should point camera to save picture in temporary file, like: private URI mImageUri; Intent intent = new Intent("android.media.action.IMAGE_CAPTURE"); File photo; try { // place where to store camera taken picture photo = this.createTemporaryFile("picture", ".jpg"); photo.delete(); } catch(Exception e) { Log.v(TAG, "Can't create file to take picture!"); Toast.makeText(activity, "Please check SD card! Image shot is impossible!", 10000); return false; } mImageUri = Uri.fromFile(photo); intent.putExtra(MediaStore.EXTRA_OUTPUT, mImageUri); //start camera intent activity.startActivityForResult(this, intent, MenuShootImage); private File createTemporaryFile(String part, String ext) throws Exception { File tempDir= Environment.getExternalStorageDirectory(); tempDir=new File(tempDir.getAbsolutePath()+"/.temp/"); if(!tempDir.exists()) { tempDir.mkdirs(); } return File.createTempFile(part, ext, tempDir); } Then after image capture intent finished to work - just grab your picture from imageUri using following code: public void grabImage(ImageView imageView) { this.getContentResolver().notifyChange(mImageUri, null); ContentResolver cr = this.getContentResolver(); Bitmap bitmap; try { bitmap = android.provider.MediaStore.Images.Media.getBitmap(cr, mImageUri); imageView.setImageBitmap(bitmap); } catch (Exception e) { Toast.makeText(this, "Failed to load", Toast.LENGTH_SHORT).show(); Log.d(TAG, "Failed to load", e); } } //called after camera intent finished @Override public void onActivityResult(int requestCode, int resultCode, Intent intent) { if(requestCode==MenuShootImage && resultCode==RESULT_OK) { ImageView imageView; //... some code to inflate/create/find appropriate ImageView to place grabbed image this.grabImage(imageView); } super.onActivityResult(requestCode, resultCode, intent); }
  17. از اندروید 6 یا Marshmello میبایستی Grant Permission را برای لایه امنیتی اندروید کاربران به اپلیکیشن asign کنند بطور مثال کد زیر برای گرفتن مجوز حین اجرا برای مجوز Write_Exteranl_storage private static final String TAG = "StoragePermission"; public static boolean isStoragePermissionGranted(Activity activity) { if (Build.VERSION.SDK_INT >= 23) { if (activity.checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED) { Log.v(TAG, "Permission is granted"); return true; } else { Log.v(TAG, "Permission is revoked"); ActivityCompat.requestPermissions(activity, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, 1); return false; } } else { //permission is automatically granted on sdk<23 upon installation Log.v(TAG, "Permission is granted"); return true; } }
  18. دوره برنامه نویسی اندروید یکی از جذاب ترین دوره های آموزشی میباشد که مخاطبان دوره میتوانند در این دوره اصول طراحی اپلیکیشن های تحت اندروید را طراحی و پیاده سازی نموده و شروع به کسب درآمد در حوزه اپلیکیشن های موبایل نمایند.کاربران این دوره میتوانند با کسب مهارت های مطرح شده در سرفصلهای دوره گام بزرگ و سریعی جهت ورود به بازار اپلیکیشن های اندرویدی برداشته و با انتشار برنامه های طراحی شده خود در فضای مجاری کسب درآمد کنند.هم اینک ده ها هزار نرم افزار تحت موبایل در فضای اینترنتی منتشر شده که تعداد بی شماری از این نرم افزارها با دانلود های حیرت آور منبع درآمدهای چندین میلیونی برای طراح خود بوده اند.اگر قصد ورود به بازار نرم افزارهای موبایل دارید هم اینک در دروه آموزشی برنامه نویسی اندروید شرکت کنید. ثبت نام در دوره اهداف کلی این دوره: آموزش سیستم عامل اندروید آشنایی با UIاندروید، براساس XML اشنایی کامل با ساختار اندروید و پیاده سازی انواع اپلیکیشن پیاده سازی دیتابیس SQLite تسلط به وب سرویس های وب در اندروید آشنایی با فرگمنت طراحی برنامه برای دستگاه های اندرویدی توانایی ورود به بازار کار طراحی اپلیکیشن اندروید ثبت نام در دوره مشخصات دوره : مدرس (مدرسان) : فرزاد سرسیفی پیشنیاز: آشنایی با مفاهیم برنامه نویسی - آشنایی با زبان جاوا مدت زمان دوره: 9 جلسه ( کارگاه کاملا عملی تحت پروژه) به صورت کارگاهی (در مجموع 36 ساعت)(ظرفیت 10 نفر) تاریخ برگزاری: (دوره از 6 شهریور ماه 1396 به مدت 9 جلسه - روزهای دوشنبه 17 الی 21 و چهارشنبه ساعت 17 الی 21 ) مدرک: در پایان دوره مدرک پایان دوره از طرف انستیتو آموزشگاه اندروید ایران ارائه میگردد. سه دانشجو نمونه اول به شرکت های معروف ایرانی جهت همکاری معرفی می گردند. به شرکت کنندگان در دوره کد ویژه خرید محصولات شاپ دروید داده می شود و می توانند برای همیشه محصولات این فروشگاه را با تخفیف 50 درصدی تهیه کنند. ویژگی : آموزش در لابراتوار مجهز به سیستم های روز به صورت شبکه تحت NetSupport و متصل به اینترنت و کاملا اینتراکتیو تحت پروژه عملی انجام خواهد گرفت. مکان برگزاری : این دوره آموزشی با همکاری آموزشگاه ویستا برگزار خواهد شد ثبت نام در دوره راهنمای ثبت نام: ثبت نام خود را میتوانید از طریق فرم زیر انجام دهید.پس از واریز وجه نام شما در لیست ثبت نام قرار خواهد گرفت و قبل از شروع دوره با شما تماس حاصل خواهد شد و از طریق پیامک اطلاع رسانی میشود. جهت کسب هر نوع اطلاعاتی در خصوص دوره میتوانید با ایمیل info@android-learn.ir وشماره های تماس ۸۸۵۰۸۰۸۰ -۸۸۵۵۴۲۱۷ -۸۸۵۵۴۲۱۳ تلگرام همراه 09100046764 تماس حاصل نمایید. سرفصلهای دوره آموزشی برنامه نویسی اندروید به صورت کاملا عملی: ثبت نام در دوره فصل اول)فریمورک اندروید و راه اندازی اندروید استودیو آشنایی با اندروید لایه های نرم افزاری اندروید کتابخانه های اندروید ورژن های مختلف اندروید از ابتدا تا Marshmellow نصب و راه اندای اندروید استودیو نیازمندی مورد نیاز برای اندروید استودیو آشنایی با اندروید استودیو ماشین مجازی اندروید AVD ماشین مجازی genymotion آشنایی با دیباگ پروژه در اندروید استودیو فصل دوم) SDK اندروید و اکتیویتی ساختار پروژه های اندروید آشنایی با فایل مانیفست ساختار فایل مانیفست آشنایی با SDK اندروید آشنایی با اکتیوتی و مفهوم اکتویتی در اپلیکیشن های اندروید چرخه حیات اکتیوتی Life Cycle فصل سوم) فرگمنت،View ها و ListView آشنایی با فرگمنت View ها در اندروید آشنایی با ویجت های اندروید سایر استاندارد تصاویر در اندروید فصل چهارم)Intent ها و Intent filters آشنایی با Intent انتقال اطلاعات توسط Intent ارتباط بین اکتیویتی ها با Intent Register کردن IntentFilter فصل پنجم) Layout های اندروید و View های سفارشی آشنایی با مفاهیم Layout طراحی واسط کاربری برای سایز های مختلف Layout های چند زبانه ساخت View های سفارشی فصل ششم) منابع اندروید،Theme و متریال دیزاین معرفی منابع اندروید Theme های اندروید Style ها بکار گیری Material Design در طراحی اپلیکیشن Shape and Selector فصل هفتم)Ui اندروید-دیالوگ ها،منوها و WebView دیالوگ ها AlertDialog دیالوگ های سفارشی اکتیویتی دیالوگ ها منوها OptionMenu ContextMenu نمایشگر داخلی WebView فصل هشتم)ذخیره سازی اطلاعات و پردازش های پس زمینه ای روش های ذخیره سازی اطلاعات در اندروید خواندن و نوشتن در فایل SharedPrefrences ارتباط با اینترنت سرویس های پس زمینه Service BroadCastReciver فصل نهم)ذخیره سازی اطلاعات با دیتابیس Sqlite معرفی دیتابیس در اندروید پیاده سازی دیتابیس Sqlite در اندروید افزودن اطلاعات به دیتابیس ویرایش اطلاعات در دیتابیس حذف اطلاعات در دیتابیس نمایش اطلاعات در دیتابیس فصل دهم)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 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 فصل چهاردهم)آشنایی با تغییرات اندروید5 Material Design Toolbar MenuDrawer Shade Animation CardView and RecycleBinView FloatingActionButton SnackBar CordinatorLayout این دوره توصیه میشود به : اشخاصی كه علاقه مند به آشنایی و كار حرفه ای با اندروید هستند. اشخاصی كه قصد فراگیری كامل طراحی اپلیکیشن های موبایل از ابتدا توسط اندروید دارند. اشخاصی كه قصد راه اندازی اپلیکیشن موبایل شخصی خود توسط اندروید دارند. اشخاصی كه میخواهند با فراگیری حرفه ای شروع به كسب درآمد نموده و به عنوان توسعه دهنده اندروید فعالیت كنند. شركتها و سازمانهایی كه قصد راه اندازی اپلیکیشن موبایل اندروید اختصاصی خود را دارند. دانشجویان رشته های كامپیوتر كه قصد فراگیری كامل توسعه اپلیکیشن های اندروید دارند. اشخاصی كه قصد پیاده سازی ایده های اپلیکیشن های موبایل را در قالب اندروید دارند. اشخاصی كه قصد دارند وب سایت خود را به اپلیکیشن های موبایل اندروید تبدیل كنند. و... دانشجویان موفق دوره های قبلی آموزشگاه اندروید ایران نام و نام خانوادگی تاریخ دوره رزومه و برنامه های تولید شده محسن جهانی بهار 93 مصاحبه با وب سایت appvs علیرضا غمخوار مرداد 93 توسعه دهنده شرکت رهنما.برنامه تولید شده کفش دوزک گروه برنامه نویسی ادامدن تابستان 94 https://cafebazaar.ir/developer/noorali/?l=fa دانشجویان گذرانند این دوره قابلیت پیاده سازی اپلیکیش های به صورتی تحت دیتابیس و کاملا پویا را خواهند داشت و آماده ورود به بازار کار میباشند. ثبت نام در دوره
  19. یک کلاس ایجاد کنید تا بتوانید متدهای onClick و onLongClick را implement کنید import android.content.Context; import android.support.v7.widget.RecyclerView; import android.view.GestureDetector; import android.view.MotionEvent; import android.view.View; public class RecyclerItemClickListener implements RecyclerView.OnItemTouchListener { private OnItemClickListener mListener; public interface OnItemClickListener { public void onItemClick(View view, int position); public void onLongItemClick(View view, int position); } GestureDetector mGestureDetector; public RecyclerItemClickListener(Context context, final RecyclerView recyclerView, OnItemClickListener listener) { mListener = listener; mGestureDetector = new GestureDetector(context, new GestureDetector.SimpleOnGestureListener() { @Override public boolean onSingleTapUp(MotionEvent e) { return true; } @Override public void onLongPress(MotionEvent e) { View child = recyclerView.findChildViewUnder(e.getX(), e.getY()); if (child != null && mListener != null) { mListener.onLongItemClick(child, recyclerView.getChildAdapterPosition(child)); } } }); } @Override public boolean onInterceptTouchEvent(RecyclerView view, MotionEvent e) { View childView = view.findChildViewUnder(e.getX(), e.getY()); if (childView != null && mListener != null && mGestureDetector.onTouchEvent(e)) { mListener.onItemClick(childView, view.getChildAdapterPosition(childView)); return true; } return false; } @Override public void onTouchEvent(RecyclerView view, MotionEvent motionEvent) { } @Override public void onRequestDisallowInterceptTouchEvent (boolean disallowIntercept){} } رویداد کلیک RecyclerView : RecyclerView recyclerView = findViewById(R.id.recycler); recyclerView.addOnItemTouchListener( new RecyclerItemClickListener(context, recyclerView ,new RecyclerItemClickListener.OnItemClickListener() { @Override public void onItemClick(View view, int position) { // do whatever } @Override public void onLongItemClick(View view, int position) { // do whatever } }) );
  20. کدام فیلد مقدار null برمیگرداند.چونکه مشکلی نمیبینم از کدتون
  21. از این آدرس Tools->Android->Android sdk بروید و گزینه Sdk Platform را انتخاب کنید و sdk ها را دانلود نمایید
  22. Kotlin چیست؟ Kotlin (کاتلین) یک زبان برنامه‌نویسی‌ست که با استفاده از آن میتوان برنامه نویسی اندروید را توسعه داد. نسخه های اخیر اندروید استودیو به طور رسمی از کاتلین پشتیبانی می‌کنن، مسئله‌ای که در Google IO 2017 اعلام شد. kotlin تبدیل به bytecode جاوا میشود پس بنابراین به خوبی java میتونه روی اندروید اجرا بشه و از این نظر تفاوتی وجود نخواهد داشت. و اینکه میشه توی یک پروژه اندروید همزمان از kotlin و java استفاده کرد، بنابراین حتی اگر خیلی کم با کاتلین آشنا هستید باز هم میتونید بخشی از پروژه‌هاتون رو با کاتلین انجام بدید. چرا Kotlin؟ دلیل اول اینکه با کاتلین میتونیم کدهایی تمیزتر و خواناتر بنویسیم. میدونیم که زبان جاوا boiler code زیاد داره. boiler code به کدهایی میگیم که جز syntax زبان هستن ولی همیشه بدون دلیل تکرار میشن و میشد حذفشون کرد.
  23. کاربران گرامی انجمن اندروید ایران همانطور که مطلع هستید در تاریخ 19 آذر ماه 1395 ورژن جدید انجمن اندروید ایران ایجاد شده و دارای بخش های فراوانی همچون : مارکت اندروید چت رابط کاربری جذاب راحتی کار در موبایل آپلود سنتر داخلی برای بارگذاری فایل ها و... خوشحال خواهیم شد نظرات خود را با ما در میان بگذارید تا بتوانیم وب سایت بهتری در شان انجمن اندروید ایران را در اختیار کاربران قرار دهیم. با تشکر فرزاد سرسیفی
  24. یک محیط برنامه نویسی برای پلتفرم اندروید است. این برنامه در 16 می 2014 توسط مدیران گوگل در کنفرانس گوگل آی/او معرفی شد. از ماه جوئن 2014 نسخه پیش نمایش این برنامه (به صورت رایگان) برای امتحان در دسترس توسعه دهنده‌ها قرار گرفت. این محیط بر اساس نرم‌افزار محبوب جت برینز طراحی شده است، این استودیو بطور اختصاصی برای اندروید طراحی شده. هم اکنون این استودیو برای دانلود بر روی ویندوز، مک و لینوکس در دسترس می‌باشد. چندین ویژگی جدید در این نرم‌افزار برای کاربران می‌باشد: چیدمان زنده: ویرایشگر WYSIWYG – کدنویسی زنده – رندر هم زمان برنامه کنسول توسعه دهنده: راهنمای بهینه سازی – کمک برای ترجمه – ردیابی ارجاع – طریقه استفاده ارائه نسخه بتا و اجرای صحنه پشتیبانی از ساخت مبتنی بر Gradle رفع و عیب یابی مخصوص اندروید ابزار لینت برای گرفتن عملکرد، قابلیت استفاده، نسخه سازگار با مشکلات دیگر قابلیت Proguard و امضای برنامه مبتنی بر الگوی wizard برای ایجاد طرح اندروید و اجزای مشترک ویرایشگر طرح بندی غنی که به شما اجازه کشیدن و رها کردن UI کامنت‌ها را می‌دهند. گزینه‌ای برای تنظیمات پیش نمایش طرح بندی در صفحه نمایش چندگانه با سپاس فراوان فرزاد سرسیفی