Farzad Sarseifi

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

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

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

  • Days Won

    129

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

  1. بالاخره شرکت گوگل اسم نهایی اندروید ۸ را اعلام کرد. این نسخه از اندروید، Oreo نام دارد که نوعی بیسکوییت است. نسخه نهایی اندروید جدید هم از امروز برای دانلود روی گوشی‌ّهای پیکسل و نکسوس عرضه شده است. مایکروسافت در گیمزکام ۲۰۱۷ دنباله یکی از بهترین بازی‌های استراتژی دنیا را معرفی کرد. بازی Age of Empires 4 که برای ویندوز ۱۰ ساخته می‌شود. این بازی را سازنده‌های مجموعه Company of Heroes میسازند. به نظر میرسد گران‌ترین مدل گوشی گلکسی نوت ۸ نزدیک به ۱۲۰۰ دلار قیمت خواهد داشت. این مدل از ۶ گیگابایت رم و ۲۵۶ گیگابایت حافظه داخلی بهره می‌برد. گوشی جدید سامسونگ فردا معرفی خواهد شد. Android 8.0 Oreo is here Smarter, faster, and more powerful than ever. OTA rollout is expected to arrive first to Pixel and Nexus devices https://www.android.com دانلود گیف اندروید Oreo doc_2017-08-22_09-30-00.mp4
  2. چندی قبل گوگل نسخه پیش نمایش توسعه دهندگان اندروید O را منتشر کرد که در واقع نخستین توزیع قابل دانلود از آن برای عموم محسوب می شود. البته قبل از آنکه بیش از اندازه هیجان زده شوید باید خاطرنشان کنیم که طبق اعلام گوگل این نسخه صرفا برای توسعه دهندگان منتشر شده و «برای استفاده روزانه یا کاربری» مناسب نیست. اولین پیش نمایش توسعه دهندگان اندروید جدید درست مانند هر ورژن دیگری که برای این قشر از کاربران عرضه می شود مملو از باگ است و «با مشکلات متعددی به لحاظ عملکرد و ثبات» روبروست. گفتنی است این ورژن از اندروید روی دستگاه های زیر قابل نصب خواهد بود: پیکسل و پیکسل اکس ال، پیکسل سی گوگل، نکسوس ۶ پی، نکسوس ۵ اکس و نکسوس پلیر. برای دانلود ایمیج های این نسخه نیز می توانید از طریق این لینک اقدام نمایید و هشدارهای انتشار آن (شامل لیست طولانی از باگ ها) را هم می توانید از طریق این لیست دریافت نمایید. خلاصه کلام اینکه حالا می توانید به شمایی کلی از امکانات و قابلیت های نسخه نهایی اندروید O دست پیدا کنید هرچند که هنوز نام اصلی آن مشخص نشده. در زیر فهرستی خلاصه وار از امکانات و قابلیت های این نسخه از اندروید را ملاحظه می کنید: نوتیفیکیشن های پیشرفته (کاربران به کنترل بالایی روی انواع مختلف اعلان دست پیدا می کنند) محدودیت های پس زمینه اپلیکیشن ها (برای بهبود عمر باتری) نمایشگر تصویر در تصویر (با فراهم نمودن امکاناتی شامل مشاهده ویدیو در حین چت یا استفاده از دیگر اپلیکیشن ها) آیکون های قابل انطباق وسعت رنگ زیاد برای اپلیکیشن ها پشتیبانی از کدک های صدای بلوتوثی باکیفیت همانطور که گفته شد این نسخه از اندروید صرفا برای توسعه دهندگان منتشر شده با این همه در دسترس بودن آن نشانه ایست بر اینکه کاربران معمولی این سیستم عامل نیز به زودی می توانند از اندروید O استفاده نمایند. منبع : http://dgto.ir/g28
  3. برای پیاده سازی اینکار باید در فایل مانیفست تگ زیر را اضافه کنید تا در صورتی کاربر در بخش Brower ها اپ شما را انتخاب کرد اطلاعات برای شما ارسال شود <intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <data android:host="example.com" android:pathPrefix="/someresource/" android:scheme="http" /> <data android:host="www.example.com" android:pathPrefix="/someresource/" android:scheme="http" /> </intent-filter> Here, scheme -> Protocol of particular site host-> Exact site url with WWW pathprefix - > Your site's sub path if available Now,
  4. بله براحتی میتوانید یاد بگیرید.
  5. شما باید با مفاهیم Team work آشنا بشوید تا بتوانیم اصول همکاری های تیمی را به درستی بیاموزیدو سپس اجرا کنید. بهتره برای شروع کتاب هایی که در این زمینه وجود دارد را مطالعه نمایید و سپس در زمینه کاری خود اجرا نمایید.
  6. در اندروید Repository management توسط Gradle انجام میگیرد. این اروری که اتفاق افتاده است برای این میباشد که کتابخانه مورد نظر وجود ندارد تا از نسخه کش شده استفاده کن و باید حتما آن را دانلود نمایید برای دانلود : 1- Gradle خود را آنلاین کنید 2- یک وی پی ان اجرا کنید 3- گزینه Sync Gradle را انتخاب کنید تا کتابخانه دانلود شود
  7. برای اینکه بتوانید که تمامی سایزها را پشتیبانی کنید بدون اینکه بهم ریختگی داشته باشید.باید برای سایز های مختلف طراحی کنید layout layout-sw600dp تبلت 7 اینچ layout-sw720dp تبلت 10 اینچ
  8. آیا برای Layout های خود برای سایز های زیر نیز طراحی کرده اید؟ layout-sw600dp layout-sw720dp
  9. سلام آیا در System Variable ویندوز Android SDk,JDK Home را مسیردهی کرده اید؟ ورژن نصبی Gradle که نصب دارید چند میباشد ؟
  10. آیا کتابخانه را بطور کامل دانلود کرده اید ؟ در حال حاضر چه خطایی داده میشود؟
  11. تصاویر را میتوانید در دیتابیس اسم آنها را ذخیره کنید و سپس تصاویر را در res/drawable قرار دهید و سپس نمایش دهید در این کد rowItem نام آبجتکی هستش که تصویر وجود دارد Resources res = getResources(); int resourceId = res.getIdentifier(rowItem.getIcon(), "drawable", context.getPackageName()); img_icon.setImageResource(resourceId);
  12. از کلاس کتابخانه وب سرویسی برای دریافت اطلاعات از سرور استفاده میکنید?
  13. شما میبایستی Gradle خود را آنلاین کنید و سپس کتابخانه مورد نظر را دانلود نمایید
  14. برای اندروید میتوانید برای ارتباط با سرور از وب سرویس های Volley,OkHttp,Retrofit استفاده کنید Volley توسط گوگل ساخته شده است و نسخه ای stable میباشد و براحتی میتوانید آن را پیاده سازی کنید راه حل بهتری که وجود دارد Retrofit هستش که دارای سرعت بیشتری نسبت به Volley میباشد http://square.github.io/retrofit/
  15. زمان بستگی به این داره چقدر این سیستم ها دارای متقضای هستند در ایران تا شرکت های سرور در ایران از این سیستم پشتیبانی کنند.
  16. باید gradle را افلاین کنید و یک وی پی ان اجرا کنید و با یکبار sync gradle مشکل حل میشود
  17. چک کنید آیا در پوشه assets فونت Shabnam-Light-FD.ttf وجود دارد یا خیر؟
  18. این روش را تا انتها انجام دهید Colors.xml <?xml version="1.0" encoding="utf-8"?> <resources> <color name="colorPrimary">#3F51B5</color> <color name="colorPrimaryDark">#303F9F</color> <color name="colorAccent">#FF4081</color> <color name="colorBlack">#000000</color> <color name="colorWhite">#ffffff</color> </resources> activity_main.xml <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.inducesmile.androidrecyclerviewinfinitescroll.MainActivity"> <android.support.v7.widget.RecyclerView android:id="@+id/recycler_view" android:layout_width="match_parent" android:layout_height="match_parent" android:scrollbars="vertical" /> </RelativeLayout> item_list.xml <?xml version="1.0" encoding="utf-8"?> <android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:card_view="http://schemas.android.com/apk/res-auto" android:id="@+id/card_view" android:layout_width="match_parent" android:layout_height="wrap_content" android:padding="16dp" card_view:cardCornerRadius="4dp" card_view:cardUseCompatPadding="true" card_view:cardPreventCornerOverlap="true" card_view:cardElevation="4dp"> <RelativeLayout android:layout_width="match_parent" android:layout_height="match_parent"> <ImageView android:id="@+id/icon_image" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/sideicon" android:layout_alignParentLeft="true" android:layout_marginLeft="8dp" android:layout_marginTop="18dp" android:adjustViewBounds="true" android:contentDescription="@string/app_name"/> <TextView android:id="@+id/title_header" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_toRightOf="@+id/icon_image" android:layout_alignBaseline="@+id/icon_image" android:padding="18dp" android:text="@string/app_name"/> </RelativeLayout> </android.support.v7.widget.CardView> progress_item.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <ProgressBar android:id="@+id/progressBar" android:layout_width="wrap_content" android:layout_height="wrap_content" android:indeterminate="true" style="@android:style/Widget.Holo.ProgressBar" android:layout_gravity="center_horizontal"/> </LinearLayout> RecyclerViewAdapter.java import android.content.Context; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import java.util.List; public class RecyclerViewAdapter extends RecyclerView.Adapter<RecyclerViewHolders> { private List<String> itemList; protected Context context; private int visibleThreshold = 5; private int lastVisibleItem, totalItemCount; private boolean loading; private OnLoadMoreListener onLoadMoreListener; public RecyclerViewAdapter(Context context, List<String> itemList, RecyclerView recyclerView) { this.itemList = itemList; this.context = context; if(recyclerView.getLayoutManager() instanceof LinearLayoutManager){ final LinearLayoutManager linearLayoutManager = (LinearLayoutManager)recyclerView.getLayoutManager(); recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() { @Override public void onScrolled(RecyclerView recyclerView, int dx, int dy) { super.onScrolled(recyclerView, dx, dy); totalItemCount = linearLayoutManager.getItemCount(); lastVisibleItem = linearLayoutManager.findLastVisibleItemPosition(); if(!loading && totalItemCount <= (lastVisibleItem + visibleThreshold)){ if(onLoadMoreListener != null){ onLoadMoreListener.onLoadMore(); } loading = true; } } }); } } @Override public int getItemViewType(int position) { return itemList.get(position) != null ? 1 : 0; } @Override public RecyclerViewHolders onCreateViewHolder(ViewGroup parent, int viewType) { RecyclerViewHolders viewHolder = null; if(viewType == 1){ View layoutView = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_list, parent, false); viewHolder = new RecyclerViewHolders(layoutView); }else{ View layoutView = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_list, parent, false); viewHolder = new ProgressViewHolder(layoutView); } return viewHolder; } @Override public void onBindViewHolder(RecyclerViewHolders holder, int position) { if(holder instanceof RecyclerViewHolders){ ((RecyclerViewHolders)holder).textTitle.setText(itemList.get(position)); }else{ ((ProgressViewHolder)holder).progressBar.setIndeterminate(true); } } public void setLoad(){ loading = false; } @Override public int getItemCount() { return this.itemList.size(); } public void setOnLoadMoreListener(OnLoadMoreListener onLoadMoreListener){ this.onLoadMoreListener = onLoadMoreListener; } public interface OnLoadMoreListener { void onLoadMore(); } public void setLoaded() { loading = false; } } RecyclerViewHolders.java import android.support.v7.widget.RecyclerView; import android.view.View; import android.widget.ImageView; import android.widget.TextView; public class RecyclerViewHolders extends RecyclerView.ViewHolder implements View.OnClickListener{ public ImageView displayedImage; public TextView textTitle; public RecyclerViewHolders(View itemView) { super(itemView); itemView.setOnClickListener(this); textTitle = (TextView)itemView.findViewById(R.id.title_header); } @Override public void onClick(View view) { } } ProgressViewHolder.java import android.view.View; import android.widget.ProgressBar; public class ProgressViewHolder extends RecyclerViewHolders{ public ProgressBar progressBar; public ProgressViewHolder(View itemView) { super(itemView); progressBar = (ProgressBar)itemView.findViewById(R.id.progressBar); } } MainActivity import android.os.Bundle; import android.os.Handler; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import java.util.ArrayList; import java.util.List; /** * Created by F.Sarseify on 1/14/2017. */ public class MainActivity extends AppCompatActivity { private static final String TAG = MainActivity.class.getSimpleName(); private RecyclerView recyclerView; private RecyclerViewAdapter recyclerViewAdapter; private LinearLayoutManager linearLayoutManager; private List<String> adapterData; private Handler handler; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); handler = new Handler(); linearLayoutManager = new LinearLayoutManager(MainActivity.this); // return the data object adapterData = getFirstData(); recyclerView = (RecyclerView)findViewById(R.id.recycler_view); recyclerView.setLayoutManager(linearLayoutManager); recyclerViewAdapter = new RecyclerViewAdapter(MainActivity.this, adapterData, recyclerView); recyclerView.setAdapter(recyclerViewAdapter); recyclerViewAdapter.setOnLoadMoreListener(new RecyclerViewAdapter.OnLoadMoreListener() { @Override public void onLoadMore() { adapterData.add(null); recyclerViewAdapter.notifyItemInserted(adapterData.size() - 1); handler.postDelayed(new Runnable() { @Override public void run() { adapterData.remove(adapterData.size() - 1); recyclerViewAdapter.notifyItemRemoved(adapterData.size()); for (int i = 0; i < 15; i++) { adapterData.add("Item" + (adapterData.size() + 1)); recyclerViewAdapter.notifyItemInserted(adapterData.size()); } recyclerViewAdapter.setLoaded(); } }, 2000); System.out.println("load"); } }); } private List<String> getFirstData(){ List<String> listObject = new ArrayList<String>(); listObject.add("P30droid.com"); listObject.add("P30droid.com"); listObject.add("P30droid.com"); listObject.add("P30droid.com"); listObject.add("P30droid.com"); listObject.add("P30droid.com"); listObject.add("P30droid.com"); listObject.add("P30droid.com"); listObject.add("P30droid.com"); listObject.add("P30droid.com"); return listObject; } }
  19. ابتدا یک کلاس برای Scroll و تعداد ایتم های قابل مشاهده ایجاد کنید public abstract class EndlessRecyclerOnScrollListener extends RecyclerView.OnScrollListener { public static String TAG = EndlessRecyclerOnScrollListener.class.getSimpleName(); private int previousTotal = 0; // The total number of items in the dataset after the last load private boolean loading = true; // True if we are still waiting for the last set of data to load. private int visibleThreshold = 5; // The minimum amount of items to have below your current scroll position before loading more. int firstVisibleItem, visibleItemCount, totalItemCount; private int current_page = 1; private LinearLayoutManager mLinearLayoutManager; public EndlessRecyclerOnScrollListener(LinearLayoutManager linearLayoutManager) { this.mLinearLayoutManager = linearLayoutManager; } @Override public void onScrolled(RecyclerView recyclerView, int dx, int dy) { super.onScrolled(recyclerView, dx, dy); visibleItemCount = recyclerView.getChildCount(); totalItemCount = mLinearLayoutManager.getItemCount(); firstVisibleItem = mLinearLayoutManager.findFirstVisibleItemPosition(); if (loading) { if (totalItemCount > previousTotal) { loading = false; previousTotal = totalItemCount; } } if (!loading && (totalItemCount - visibleItemCount) <= (firstVisibleItem + visibleThreshold)) { // End has been reached // Do something current_page++; onLoadMore(current_page); loading = true; } } public abstract void onLoadMore(int current_page); } و همچنین در اکتیویتی خود کلاس فوق را فراخوانی نمایید import android.os.Bundle; import android.support.v7.app.ActionBarActivity; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; public class SampleActivity extends ActionBarActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_sample); RecyclerView recyclerView = (RecyclerView) findViewById(R.id.list); LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this); recyclerView.setLayoutManager(linearLayoutManager); recyclerView.setOnScrollListener(new EndlessRecyclerOnScrollListener(linearLayoutManager) { @Override public void onLoadMore(int current_page) { // do something... } }); } }
  20. منظورتون چی هستش که پاک شده؟ آیا فقط در اندروید استودیو قابل مشاهده نیست یا در دایرکتوری اصلی هم قابل حذف شده است؟
  21. json

    وب سایتی که قرار داده شد برای این هستش که بجای هاست رایگان از بک اند لس استفاده کنید ولی حتما باید روی هاست واقعی یا لوکال تست کنید تا مشکل حل شود
  22. چک کنید که آیا دیباگر به Catch میره یا نه.؟؟
  23. 1. Code Snippets For java.util.Date, just create a new Date() DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); Date date = new Date(); System.out.println(dateFormat.format(date)); //2016/11/16 12:08:43 For java.util.Calendar, uses Calendar.getInstance() DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); Calendar cal = Calendar.getInstance(); System.out.println(dateFormat.format(cal)); //2016/11/16 12:08:43 For java.time.LocalDateTime, uses LocalDateTime.now() DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss"); LocalDateTime now = LocalDateTime.now(); System.out.println(dtf.format(now)); //2016/11/16 12:08:43 For java.time.LocalDate, uses LocalDate.now() DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy/MM/dd"); LocalDate localDate = LocalDate.now(); System.out.println(dtf.format(localDate)); //2016/11/16