رفتن به مطلب

آموزش تصویری ساختن کنترل (ویو) به صورت چند ستونی ( مثال:برنامه گالری)


مجید آرتا

ارسال‌های توصیه شده

به نام خدا

سلام به دوستان علم دوست و نو اندیش این انجمن و مرز و بوم

امیدوارم که حال همتون خوب و خوش باشه.

چند روزی میشه که از عید قربان گذشته و بنده طبق معمول دیر رسیدم و این عید مبارک رو به همه دوستان عزیز تبریک عرض می کنم.

امیدوارم در سایه ی حق توانایی به جای اوردن بندگی رو بتونیم ادا کنیم.

چند مدت پیش نظرسنجی در این باره قرار داده بودم و دوستان عزیز هم استقبال خوبی کرده بودن و دلم نیومد از این بیشتر این همه مشتاق علم و دانش رو منتظر بزارم

دوستان برنامه نویسی دریایی هستش که تا چشم کار می کنه فقط آب رو می بینیم و این به این معناست که برنامه نویسی جنبه ها و زمینه ها و دامنه گسترده ای داره خوبه که حداقل یکم شناگریمون خوب باشه تا بتونیم توی این دریای بی کران حداقل به اندازه توانمون بهره ببریم.

خب بیشتر از این دیگه منتظرتون نزارم.ببینید دوستان گاهی پیش میاد که ما توی برناممون بخواییم یکسری آیتم رو در کنار هم و زیر هم بچینیم و این مقوله با آرایه های دو بعدی قابل انجام دادن هستش ( شاید روش دیگه ای هم باشه)

خب خوبه که با ساختار آرایه های دو بعدی آشنا بشیم که اصلا چرا میگن دو بعدی ؟ به این دلیل که دو بعد داره.یک بعد آن سطر و یک بعد ستون.اگه به ساختار تیبل های یک دیتابیس توجه کنید یک همچین ساختاری دارند.یعنی Row  و Column  دارند که هر ردیف ستون های ثابتی رو داره.

آرایه های 3 بعدی هم وجود داره که اینجا جای بحثش نیست و اگه قسمت بشه روی 3 بعدی هم آموزشی و یا نمونه ای قرار داده میشه.

خب بزارید نمونه برنامه ها و یا نمونه کدهایی که بنده با آرایه های دو بعدی نوشتم رو بهتون نشون بدم.

 

ساختن تقویم به وسیله آرایه های دو بعدی :

calendar.png

 

برنامه نمایش عکس به صورت دو ستونی که توی فیلم اموزشی،آموزش میدیم این مورد رو :

 

gallery.png

 

و برنامه تلویزیون آنلاین که قبل از رمضان ساخته بودم ولی منتشر نکردم :

 

tv.png

 

خب هدف نمایش این عکسا این بود تا موضوع رو بهتر متوجه بشید.

متاسفانه بنده بخاطر کسالت یکم تمرکزم  سرجاش نبود و یکم صدام گرفته بود که به بزرگی خودتون ببخشید.

تمامی توضیحات توی آموزش داده شده.

بازم انتقادی و یا پیشنهادی دارید میتونید به بنده بگید.و یا مشکلی داشتید میتونید مطرح کنید تا بنده پیگیری کنم

 

لینک آموزش تصویری :

http://s6.picofile.com/file/8214559334/Matris.rar.html

 

لینک پروژه :

http://s6.picofile.com/file/8214569326/Project.rar.html

 

رمز فایل : basic4android.org

 

امیدوارم که تونسته باشم کمک کوچیکی به شما عزیزان کرده باشم.

موفق و مؤید باشید.

اختصاصی از Basic4Android.Org

لینک ارسال
به اشتراک گذاری در سایت های دیگر

تشکر مجید جان واقعا فوق العاده بود   :gol:

کامل دیدم و خیلی لذت بردم  :gol:

این اموزشو خیلی ها دنبالش بودن و به حمدالله ok شد

امیدوارم کسالت کمتر داشته باشی و بتونی زود به زود اموزش بدی آماده کنی

:gol:  :gol:

لینک ارسال
به اشتراک گذاری در سایت های دیگر

استاد آرتا خسته نباشید :gol: :gol: :gol:

لینک ارسال
به اشتراک گذاری در سایت های دیگر

به نام خدا

سلام به دوستان علم دوست و نو اندیش این انجمن و مرز و بوم

امیدوارم که حال همتون خوب و خوش باشه.

چند روزی میشه که از عید قربان گذشته و بنده طبق معمول دیر رسیدم و این عید مبارک رو به همه دوستان عزیز تبریک عرض می کنم.

امیدوارم در سایه ی حق توانایی به جای اوردن بندگی رو بتونیم ادا کنیم.

چند مدت پیش نظرسنجی در این باره قرار داده بودم و دوستان عزیز هم استقبال خوبی کرده بودن و دلم نیومد از این بیشتر این همه مشتاق علم و دانش رو منتظر بزارم

دوستان برنامه نویسی دریایی هستش که تا چشم کار می کنه فقط آب رو می بینیم و این به این معناست که برنامه نویسی جنبه ها و زمینه ها و دامنه گسترده ای داره خوبه که حداقل یکم شناگریمون خوب باشه تا بتونیم توی این دریای بی کران حداقل به اندازه توانمون بهره ببریم.

خب بیشتر از این دیگه منتظرتون نزارم.ببینید دوستان گاهی پیش میاد که ما توی برناممون بخواییم یکسری آیتم رو در کنار هم و زیر هم بچینیم و این مقوله با آرایه های دو بعدی قابل انجام دادن هستش ( شاید روش دیگه ای هم باشه)

خب خوبه که با ساختار آرایه های دو بعدی آشنا بشیم که اصلا چرا میگن دو بعدی ؟ به این دلیل که دو بعد داره.یک بعد آن سطر و یک بعد ستون.اگه به ساختار تیبل های یک دیتابیس توجه کنید یک همچین ساختاری دارند.یعنی Row  و Column  دارند که هر ردیف ستون های ثابتی رو داره.

آرایه های 3 بعدی هم وجود داره که اینجا جای بحثش نیست و اگه قسمت بشه روی 3 بعدی هم آموزشی و یا نمونه ای قرار داده میشه.

خب بزارید نمونه برنامه ها و یا نمونه کدهایی که بنده با آرایه های دو بعدی نوشتم رو بهتون نشون بدم.

 

ساختن تقویم به وسیله آرایه های دو بعدی :

calendar.png

 

برنامه نمایش عکس به صورت دو ستونی که توی فیلم اموزشی،آموزش میدیم این مورد رو :

 

gallery.png

 

و برنامه تلویزیون آنلاین که قبل از رمضان ساخته بودم ولی منتشر نکردم :

 

tv.png

 

خب هدف نمایش این عکسا این بود تا موضوع رو بهتر متوجه بشید.

متاسفانه بنده بخاطر کسالت یکم تمرکزم  سرجاش نبود و یکم صدام گرفته بود که به بزرگی خودتون ببخشید.

تمامی توضیحات توی آموزش داده شده.

بازم انتقادی و یا پیشنهادی دارید میتونید به بنده بگید.و یا مشکلی داشتید میتونید مطرح کنید تا بنده پیگیری کنم

 

لینک آموزش تصویری :

http://s6.picofile.com/file/8214559334/Matris.rar.html

 

لینک پروژه :

http://s6.picofile.com/file/8214569326/Project.rar.html

 

رمز فایل : basic4android.org

 

امیدوارم که تونسته باشم کمک کوچیکی به شما عزیزان کرده باشم.

موفق و مؤید باشید.

اختصاصی از Basic4Android.Org

برادر ارتا برا فیلم  انلاین هم میشه استفاده کرده

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بدون نقل قول کردن هم میتونستید سوالتون رو بپرسید دوستم

بله دوستم این به کد نویسی خودتون بستگی داره که چطور عمل کنید.

خلاصه توی برنامه نویسی کار نشد نداریم.فقط شیوه ها و الگوریتم ها متفاوته همین ( بهینه بودن هم مهمه )

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام اقا مجید 

من یکم برام هنوز گنگه این اموزش .یه جوری مثل حفظ کردن ریاضی میمونه برام.یاد نگرفتم دقیق

 

الان مشکل اینه

ما اینجا میدونیم چقدر اطلاعات داریم 

اگه ندونیم چی ؟

مثلا میخوایم عکسهای توی یه پوشه رو لیست کنیم و ماتریسی به نمایش بدیم .

یعنی بلد نیستم چجوری ولیو بدم . 

با این قسمت مشکل دارم

setValue(0,0,1,0)
setValue(1,0,1,2)
 
الان شما اینارو بر حسب اطلاعات تو دیتابیس نوشتین 
اگه ندونیم چه مقدار اطلاعات داریم چی؟
لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام

یه سوال اگه مابخواهیم عکساروازیه پوشه داخل رم بگیریم چیکاربایدبکنیم

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام

واسه setValue  شما میتونید از حلقه هم استفاده کنید.بنده به اون شکل گفتم تا مفهوم رو بفهمید.ببینید ما توی این تابع اومدیم ردیف به ردیف اطلاعات وارد کردیم.ستون ها اعدادش ثابته ولی ردیف ها اضافه میشه.

در کل ما یک ردیف رو به صورت کامل مقدار میدیم و بعد میریم سراغ ردیف بعدی.یعنی شما در نظر بگیر 2 تا ارایه داری یکی عمودی و یکی افقی که ابتدا افقی رو کامل و میریم به سمت ارایه عمودی و باز همین روند تا اخر.یکم مطالعاتی داشته باشید قطعا براتون راخت میشه.حالا باز در این میان اگه وقا بشه روی 3 بعدی ها هم کار می کنیم.

 اما به صورت داینامیک و پویا یکم کار باهاش مشکله و چون هنوز بنده خودم وقت نکردم روش کار کنم و اصولا از GridView  استفاده میشه برای این مواقع.

بحثی که توی اموزش شئ معرفی آرایه های دو بعدی و شناسایی ماهیتشون بود.در کل برای داینامیکش هم باید بنده یکم باهاش کار کنم.ولی خب یک کتابخونه ای هم هست اون رو هم معرفی می کنم.

موفق باشید

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام

ممنون از آموزش خوبتون

دو تا سوال:

1-اگه بخوایم روی عکس بازشده زوم کنیم یاد چیکارکنیم؟

2-بعد چجوری بفهمیم که کدوم عکس باز شده، بعد برای همون عکس قابلیت های مختلف مانند اشتراک گزاری و ... بزاریم؟

ببخشید اگه سوالام زیاد شد. :D

لینک ارسال
به اشتراک گذاری در سایت های دیگر

آقا مرسی بابت آموزش بینظیرت.

بنده بشدت به یک نمونه تقویم مثل اون اولین عکسی که قراردادید نیاز دارم

لینک ارسال
به اشتراک گذاری در سایت های دیگر

  • 1 ماه بعد...

میشه لطف کنید بگید چه جوری به هر عکس دستور بدیم که کلیک شد بره تو یه اکتیویتی .برای هر عکس جدا گانه....

لینک ارسال
به اشتراک گذاری در سایت های دیگر

میشه لطف کنید بگید چه جوری به هر عکس دستور بدیم که کلیک شد بره تو یه اکتیویتی .برای هر عکس جدا گانه....

سلام

توی آموزش توضیح دادم که چطوری با رویداد کلیک کار کنید.

شما بجای نشون دادن عکس کافیه عکس رو داخل یک متغییر Bitmap بریزید و به اکتویتی بعدی منتقل کنید ( متغییر Bitmap  رو باید در Proccess_Globals تعریف کنید.)

لینک ارسال
به اشتراک گذاری در سایت های دیگر

  • 1 ماه بعد...

سلام

واسه غیر رندش هم میتونید خودتون فیلتــــر های مورد نیازتون رو اعمال کنید

مثلا میتونید شرط قرار بدید که تمامی آیتم هایی که Background  اونها برابر با Null بود بیا Visible  رو برابر با False  کن

یعنی بستگی به خودتون داره که چطر عمل کنید.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام

واسه غیر رندش هم میتونید خودتون فیلتــــر های مورد نیازتون رو اعمال کنید

مثلا میتونید شرط قرار بدید که تمامی آیتم هایی که Background  اونها برابر با Null بود بیا Visible  رو برابر با False  کن

یعنی بستگی به خودتون داره که چطر عمل کنید.

 

سلام

 امکانش هست کدش بفرستید؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر

  • 2 ماه بعد...

سلام

 امکانش هست کدش بفرستید؟

 

برادر ارتا برا فیلم  انلاین هم میشه استفاده کرده

خسته نباشی مرسی بابت آموزش خوبتون فقط من خواستم سه ستونه انجام بدم درست انجام دادم ولی قسمت setValue(1,0,1,2) از این قسمت هیچی سر در نیاوردم و برنامه اجرا میشه اما setValue(0,0,1,0,1) خطا میده

لینک ارسال
به اشتراک گذاری در سایت های دیگر

خسته نباشی مرسی بابت آموزش خوبتون فقط من خواستم سه ستونه انجام بدم درست انجام دادم ولی قسمت setValue(1,0,1,2) از این قسمت هیچی سر در نیاوردم و برنامه اجرا میشه اما setValue(0,0,1,0,1) خطا میده

ستون سوم عکساش ظاهر نمیشه

اینم از کد هام

Sub Globals

Dim pnls(6,3) As Panel

Dim offsetX , offsetY As Int

offsetX = 1%x

offsetY = 0.5%y

Dim sv As ScrollView

Dim img As ImageView

End Sub

Sub Activity_Create(FirstTime As Boolean)

Dim cd As ColorDrawable

cd.Initialize(Colors.Transparent,0)

Activity.Background = cd

sv.Initialize(0dip)

Activity.AddView(sv,0,0,100%x,100%y)

If File.Exists(File.DirInternal,"Matris.db") = False Then

 File.Copy(File.DirAssets,"Matris.db",File.DirInternal,"Matris.db")

End If

If Bank.IsInitialized = False Then

 Bank.Initialize(File.DirInternal,"Matris.db",False)

End If

img.Initialize("img")

Activity.AddView(img,15%x,15%y,70%x,70%y)

img.Visible = False

createPanel

setValue(0,0,1,0)

setValue(1,0,1,2)

setValue(2,0,1,4)

setValue(3,0,1,6)

setValue(4,0,1,8)

setValue(5,0,1,10)

setValue(6,0,1,12)

setValue(7,0,1,14)

setValue(8,0,1,16)

setValue(9,0,1,18)

End Sub

Sub Activity_Resume

End Sub

Sub Activity_Pause (UserClosed As Boolean)

End Sub

Sub createPanel

 For row = 0 To 5

      For col = 0 To 2

        Dim p As Panel

        p.Initialize("p")

        p.Color = Colors.RGB(Rnd(0,255),Rnd(0,255),Rnd(0,255))

        sv.Panel.AddView(p,offsetX,offsetY,32%x,22%y)

        pnls(row,col) = p

        offsetX = offsetX + 33%x

      Next

      offsetY = offsetY + 22.5%y

      offsetX = 1%x

 Next

  sv.Panel.Height = offsetY

End Sub

Sub setValue(startRow As Int , low As Int , high As Int , Position As Int)

 Dim cr As Cursor

 cr = Bank.ExecQuery("SELECT * FROM matris_db")

 For i = low To high

  cr.Position = Position

  pnls(startRow,i).Tag = cr.GetInt("id")

  pnls(startRow,i).SetBackgroundImage(LoadBitmap(File.DirAssets,cr.GetString("name")&".jpg"))

  If cr.RowCount <> Position Then

   Position = Position + 1

  End If

 Next

End Sub

Sub p_Click

 Dim pnl As Panel

 pnl = Sender

 Dim b As Bitmap

 b.Initialize(File.DirAssets,pnl.Tag&".jpg")

 img.Bitmap = b

 img.SetVisibleAnimated(900,True)

End Sub

Sub img_Click

    img.SetVisibleAnimated(900,False)

End Sub

لینک ارسال
به اشتراک گذاری در سایت های دیگر

  • 1 ماه بعد...

با سلام و خسته نباشید

من عین برنامه را خط به خط نوشتم حتی تعداد خطوط هم با برنامه جناب آقای آرتا یکی بود اما زمان اجرا خطای unfortunately has stopped  میدهد. چه کنم؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر

  • 2 ماه بعد...

سلام ، آموزش بسیار عالی بود ، فقط توضیح در مورد اینکه رویداد کلیک هر کدام از پنلها رو چجوری بنویسم؟ چون میخوام با کلیک روی هر کدام از پنلها به اکتیویتی خاص خودش بره. ممنون میشم اگه توضیح بدید یا تکه کدش را بنویسید.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...