به نام خدا
آموزش برنامه نویسی اندروید
آموزش پروژه محور ساخت اینستاگرام
موضوع:پیاده سازی صفحه جستجو
جلسه: بیستم (جلسه آخر)
مدرس : محمد مهدی طاهری
عرض سلام و وقت بخیر خدمت همه شما کاربران عزیز سایت جاواپرو
امیدوارم حالتون خوب باشه و ایام به کامتون باشه
دوره اینستاگرام هم بالاخره به ایستگاه اخر خودش رسید
بریم و شروع کنیم.
این جلسه میخوایم صفحه مشخصات کاربر یا همون UserFragment رو تکمیل کنیم.
قبلش باید لیست پست هایی که کاربر پست کرده رو طراحی کنیم.
پس میریم به user_fragment.xml و یه ریسایکلر ویو زیر دکمه edit profile قرار میدیم
بنده یکدفعه کل کد این لایه رو که از ابتدا کامل کردیم میذارم:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" <LinearLayout <LinearLayout <com.github.abdularis.civ.CircleImageView <LinearLayout <TextView <TextView </LinearLayout> <LinearLayout <TextView <TextView </LinearLayout> <LinearLayout <TextView <TextView </LinearLayout> <LinearLayout <TextView <TextView <Button <LinearLayout
</LinearLayout> </FrameLayout> |
نمونه کد 1
توی UserFragment.java هم یک شی از ریسایکلر ویو میسازیم و اون رو تعریف میکنیم به این شکل:
recyclerView = v.findViewById(R.id.rec_view); |
نمونه کد 2
حالا یک لایه جدید ایجاد میکنیم تحت عنوان user_post.xml به عنوان لایه ای که قرار به صورت لیست تکرار بشه و به این صورت طراحی میکنیم:
<android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content"> <ImageView android:layout_width="match_parent" android:layout_height="150dp" android:scaleType="fitXY" android:id="@+id/img_post_user"></ImageView> </android.support.v7.widget.CardView> |
نمونه کد 3
حالا بریم و یک holder و یک adapter هم برای تبدیل پست ها به لیست بسازیم
یه کلاس جدید ایجاد میکنیم به اسم User_post_holder و بدین صورت طراحی میکنیم:
public class User_post_holder extends RecyclerView.ViewHolder { ImageView image; public User_post_holder(@NonNull View itemView) { super(itemView); image=itemView.findViewById(R.id.img_post_user); } } |
نمونه کد 4
حالا یک اداپتر لازم داریم که ویومون را به لیست اداپت کنه
یک کلاس جدید به اسم User_post_adapter میسازیم و به این شکل برنامه نویسی میکنیم:
public class User_post_adapter extends RecyclerView.Adapter<User_post_holder> { @NonNull View view=inflater.inflate(R.layout.user_post,viewGroup,false); } @Override Picasso.get().load(Server.server_address+images.get(i)). into (user_post_holder.image); } @Override |
نمونه کد 5
حالا میریم به UserFragment.java و چندتا متغیر تعریف میکنیم:
RecyclerView recyclerView; User_post_adapter adapter; List<String> images; RequestQueue queue; GridLayoutManager layoutManager; SharedPreferences preferences; |
نمونه کد 6
بعد name و bio رو که قبلا توی sharedprefrences ذخیره کردیم رو روی متغیر ها ست کنیم به این شکل:
preferences = getActivity().getSharedPreferences("shp", Context.MODE_PRIVATE); name.setText(preferences.getString("fullname", null)); bio.setText(preferences.getString("bio", null)); |
نمونه کد 7
به ریسایکر ویو یک girdlayout میسازیم که پست ها رو به شکل gird لیست کنیم به این شکل:
layoutManager = new GridLayoutManager(getContext(), 3); images = new ArrayList<>(); adapter = new User_post_adapter(getContext(), images); recyclerView.setLayoutManager(layoutManager); recyclerView.setAdapter(adapter); |
نمونه کد 8
حالا باید برای RequestQueue یک نمونه ایجاد کنیم و که بتونیم یک درخواست به سرور ایجاد کنیم:
queue = Volley.newRequestQueue(getContext()); |
نمونه کد 9
حالا یک متد ایجاد میکنیم و درخواستمون رو به سرور میفرستیم تا پست ها رو دریافت کنیم
من کل کد متد رو اینجا قرار میدم چون شما بعد از 20 جلسه قطعا به ریکوئست دادن به سرور مسلط شدید.
امید است افرادی که از تمکن مالی برخوردار هستند برای بقای سایت جاواپرو و رایگان ماندن آموزش ها از سایت جاواپرو حمایت مالی کنند.
ادامه حیات سایت جاواپرو به حمایت مالی (دونیت) از طرف شما کاربر عزیز بستگی دارد.... |
لینک دانلود جلسه بیستم(آخر) آموزش ساخت برنامه شبیه به اینستاگرام
با عضویت در کانال تخصصی برنامه نویسی جاوا و اندروید جاواپرو از ما حمایت کنید
بستن *نام و نام خانوادگی * پست الکترونیک * متن پیام |
دوره های آموزشی برنامه نویسی
انجام پروژه های برنامه نویسی
تدریس خصوصی برنامه نویسی
بیش از 7 سال از فعالیت جاواپرو میگذرد
جاواپرو دارای مجوز نشر دیجیتال از وزارت فرهنگ و ارشاد اسلامی است
جهت ارتباط مستقیم با جاواپرو در واتساپ و تلگرام :
09301904690
بستن دیگر باز نشو! |