Farzad Sarseifi

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

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

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

  • Days Won

    110

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

  1. نسخه اندرویدش چنده؟
  2. <?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; } } 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; 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("one"); listObject.add("one"); listObject.add("one"); listObject.add("one"); listObject.add("one"); listObject.add("one"); listObject.add("one"); listObject.add("one"); listObject.add("one"); listObject.add("one"); return listObject; } }
  3. کدتون رو باید بدین صورت بنویسید که یک مدل برای اطلاعاتتون بزاید: public class Stock { int cStockShare; int pStockShareid; int zStockShareid; public Stock(){ } public Stock(int cStockShare,int pStockShareid,int zStockShareid){ this.cStockShareid;=cStockShareid; this.pStockShareid=pStockShareid; this.zStockShareid=zStockShareid; } public int getcStockShareid() { return cStockShareid; } public void setcStockShareid(int cStockShareid) { this.cStockShareid = cStockShareid; } public int getpStockShareid() { return pStockShareid; } public void setpStockShareid(int pStockShareid) { this.pStockShareid = pStockShareid; } public int getzStockShareid() { return zStockShareid; } public void setzStockShareid(String zStockShareid) { this.zStockShareid = zStockShareid; } } class Db public Stock R(int ID, String code, String Date) { Cursor cursor = database.rawQuery("SELECT cStockShare,pStockShare,zStockShare," + " FROM dd WHERE code = '" + code + "' and Date = '" + Date + "' and ID = '" + ID + "';", null); Stock s=new Stock(); if(cursor.moveToNext){ s.setcStockShare(cursor.getInt(cursor.getColumnIndex("cStockShare"))); s.setpStockShare(cursor.getInt(cursor.getColumnIndex("pStockShare"))); s.setpStockSharecursor.getInt(cursor.getColumnIndex("zStockShare"))); } cursor.close(); return s; } Activity db = new G(); Stock s=db.R(ID, code, Date); c.setText(String.valueOf(s.getcStockShare())); p.setText(String.valueOf(s.pStockShare())); z.setText(String.valueOf(s.zStockShare()));
  4. این کتابخونه رو بزارید تو اپ ببنید کجاها این اتفاق میوفته https://fabric.io/kits/android/crashlytics/install و اینکه روی چه ورژن اندرویدی این اتفاق میوفته؟
  5. ببخشید من کدتون رو موقع ویرایش خط تعریف ویجت رو اشتباهی حذف کردم مقدار score رو از کجا به کنترل نسبت میدهید؟
  6. تنها راه کم کردن حجم عکس ها هستش. و یا اینکه تصاویر روی سرور باشه و کش کنید
  7. چک کنید فایل ها مخفی نشده اند؟ سیستمتون رو Restore کردید؟
  8. تکه کدتون رو بزارید
  9. اینو باید خودتون حتما مدیریت کنید و مقدار دهی کنید براساس انتخاب مقداری که کاربر انتخاب میکنه
  10. دستگاه باید روت باشه که بتونید بهش دسترسی داشته باشید
  11. بهش مقدار پیشفرض بدید مشکلتون حل میشه. مثل دستور زیر sharedPreferences.getInt("Font_Size",18);
  12. seekbar رو میتونید استفاده کنید که تایم لاینش رو با MediaPlayer ست کنید
  13. ۱-باید جدا کتابخونه رو imoport اکلیپس کنید ۲- روی پروژه خودتون راست کلیک و سپس Properties را انتخاب کنید ۳- در این مرحله باید به بخش Library برید و کتابخونه رو تیک بزنید
  14. اینکار امکانپذیر نیست مگه اینکه قبل اینکه درخواستتون رو بزنید چک کنید آیا مثلا سایت مورد نظر در دسترس میباشد یا خیر public static boolean isInternetAccessible(Context context) { if (isWifiAvailable()) { try { HttpURLConnection urlc = (HttpURLConnection) (new URL("http://p30droid.com").openConnection()); urlc.setRequestProperty("User-Agent", "Test"); urlc.setRequestProperty("Connection", "close"); urlc.setConnectTimeout(1500); urlc.connect(); return (urlc.getResponseCode() == 200); } catch (IOException e) { Log.e(LOG_TAG, "Couldn't check internet connection", e); } } else { Log.d(LOG_TAG, "Internet not available!"); } return false; }
  15. private boolean isNetworkAvailable() { ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo(); return activeNetworkInfo != null; } مانیفست <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
  16. ۱-فایل رو دانلود کنید و unzip کنید ۲- به فولدر Library بروید ۳- سپس به اندروید استودیو برید که پروژه خودتون باز هستش. ۴- در این مرحله به منوی file برید و گزینه import module را انتخاب کنید،در این مرحله آدرس فولدر رو انتخاب کنید تا کتابخانه به اندروید استودیو اضافه شود ۵- سپس به بخش Project structure برید و تب Dependency ۶- در این مرحله هم گزینه Module Dependency را انتخاب کنید تا کتابخانه به پروژه شما اضافه شود.
  17. دریافت کتابخانه دکمه شناور floating button در اندروید FloatingActionButton Yet another implementation of Floating Action Button for Android with lots of features. Requirements The library requires Android API Level 14+. Usage Add a dependency to your build.gradle: dependencies { compile 'com.github.clans:fab:1.6.4' } Add the com.github.clans.fab.FloatingActionButton to your layout XML file. <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:fab="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent"> <ListView android:id="@+id/list" android:layout_width="match_parent" android:layout_height="match_parent" /> <com.github.clans.fab.FloatingActionButton android:id="@+id/fab" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="bottom|right" android:layout_marginBottom="8dp" android:layout_marginRight="8dp" android:src="@drawable/ic_menu" fab:fab_colorNormal="@color/app_primary" fab:fab_colorPressed="@color/app_primary_pressed" fab:fab_colorRipple="@color/app_ripple"/> </FrameLayout> دریافت از انجمن اندروید ایران FloatingActionButton-master (1).zip
  18. FloatingActionButton-master.zip
  19. ارور تون چی هستش؟
  20. شما باید به اندروید استودیو برید چون بیشتر مشکلات شما برای این میباشد که نیازهای مورد نظر شما در اکلیپس یا قابل انجام نیس و یا بسیار زمانبر میباشد. برای اینکه روی اندروید استودیو مسلط بشید میتوانید از این اموزش ها استفاده کنید http://android-learn.ir/online-learning/guruPcategs/1-android-programming
  21. اندروید استودیو مثل اکلیپس نیستش که پرتال باشه و خودش رو اجرا کنید.. به بخش Program file ویندوز برید و از اونجا اجراش کنید
  22. اسکریت شات ارور رو بزارید
  23. برای نصب و اجرای اندروید استودیو باید نسخه JDK8 جاوا رو نصب کنید
  24. Android Studio یک محیط برنامه نویسی برای پلتفرم اندروید است. این برنامه در 16 می 2014 توسط مدیران گوگل در کنفرانس گوگل آی/او معرفی شد. از ماه June 2014 نسخه پیش نمایش این برنامه برای امتحان در دسترس توسعه دهنده‌ها قرار گرفت. این محیط بر اساس نرم‌افزار محبوب jetbrains طراحی شده است، این استودیو بطور اختصاصی برای اندروید طراحی شده. هم اکنون این استودیو برای دانلود بر روی ویندوز، مک و لینوکس در دسترس می‌باشد. As a knowledge worker, your choice of tools can mean the difference between struggling and thriving. We’re always searching for tools that increase productivity and automate work. Certain tools have benefits that are so apparent that one adopts them immediately. Android Studio is one such tool. We were introduced to Android Studio just a few days after its prerelease at Google I/O in 2013. Prior to that time, we had both been using Android Developer Tools (ADT) both professionally and in the classroom. ADT is an Android development environment built upon the opensource integrated development environment (IDE) called Eclipse. While Android Studio was still in early prerelease, we both began to use Android Studio professionally. Android Studio is a collaboration between JetBrains and Google. Android Studio is built atop JetBrain’s IntelliJ, and so its functionality is a superset of IntelliJ. Most anything you can do with IntelliJ, you can also do in Android Studio. Android Studio is revolutionary because it streamlines the Android development process and makes Android development far more accessible than it has previously beenviii . Android Studio is now the official IDE for Android دانلود کتاب آموزشی Learn Android Studio learning_android_studio.pdf