Parsi Coders
اموزش برنامه نویسی اندروید به همراه تمامی ابزارها - نسخه قابل چاپ

+- Parsi Coders (http://parsicoders.com)
+-- انجمن: Mobile (http://parsicoders.com/forumdisplay.php?fid=56)
+--- انجمن: Basic4Android (http://parsicoders.com/forumdisplay.php?fid=112)
+--- موضوع: اموزش برنامه نویسی اندروید به همراه تمامی ابزارها (/showthread.php?tid=1439)



RE: اموزش برنامه نویسی اندروید به همراه تمامی ابزارها - parvin - 02-11-2014

(02-10-2014، 01:23 AM)'vahid_d_0101' نوشته: متن ثابته دیگه

 
اگه متنت ثابته که راحت میشه درستش کرد. این تاپیک رو ببین اگه نتونستی بگو تا برات نمونه کد بذارم .


 


RE: اموزش برنامه نویسی اندروید به همراه تمامی ابزارها - mojtaba212 - 02-11-2014

(02-09-2014، 01:02 AM)'vahid_d_0101' نوشته: سلا،م
چه طوری میتونم رنگ قسمتی از label را عوض کنم 
داخل برنامه میخوام 200 خط تایپ کنم که توی label نمایش بده از چه روشی استفاده کنم بهتره 
دستور اینتر داخل labe هم بگید 
با سپاس فراوان

 

 

 

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

سلام دوستان
یه سوال دارم میدونم کمی سخته ولی خواهشا هر کس بلده جوابمو بده مرسی؛
من یه فایل اس کیو ال دارم که خیلی سنگینه حدود 100000 ردیف داره
ردیفهای جدول عیارتند از : name      groups      fav      delete       pic
حالا من واسه هر ردیف یک فاوریت و حذف و عکس قرار دادم
اول از همه چطور میتونم عکس رو از توی دیتا بیس فراخونی کنم؟
دوم اینکه من واسه هر ستون یه پنل معرفی کردم که هر پنل دارای 2 لیبل و 2 باتون و 1 عکس هست که پنل ها رو پشت سر هم داخل یک اسکرول چیدم که کاملا صحیح نمایش میده و بغیر از عکس همشون درست کار میکنند ولی ولی ولی وقتی تعداد زیادتر از 300 تا میشه برنامه هنگ میکنه و هیچ چیزی رو نشون نمیده
من فکر میکنم چون طول اسکرول زیاد میشه برنامه قابلیت کامپایلشو از دست میده
من چندتا برنامه با اسکرول بالا دیدم که به آهستگی عمل لود رو انجام میدن یعنی پله پله و اسکرول در صورتی بزرگتر میشود که شما آن را به پایین بکشد و به انتهای اسکرول برسید اسکرول دوباره لود شده و تعدادی پنل دیگر به برنامه اضافه میکند.


خیلی ممنون میشم اگه جوابمو بدید خیلی خیلی سپاسگذارم.
کد پی‌اچ‌پی:
#Region  Activity Attributes 
    #FullScreen: False
    #IncludeTitle: True
#End Region

Sub Process_Globals
    
'These global variables will be declared once when the application starts.
    '
These variables can be accessed from all modules.

End Sub

Sub Globals
    
'These global variables will be redeclared each time the activity is created.
    '
These variables can only be accessed from this module.
    
Dim scvMain As ScrollView
    Dim PanelNb 
As Int        PanelNb 20
    Dim PanelHeight 
As Int    PanelHeight 150dip
    
     Dim sql1 
As SQL
     Dim cursor1 
As Cursor

    
End Sub

Sub Activity_Create
(FirstTime As Boolean)
    
Dim iAs Int
    
    
If sql1.IsInitialized False Then
        sql1
.Initialize(File.DirInternal"pish.sql"False)
    
End If 
    
    
cursor1 sql1.ExecQuery("SELECT * FROM tbl1")

    
    
    
scvMain.Initialize(cursor1.RowCount 1*50)
    
Activity.AddView(scvMain00100%x100%y)
'    Activity.LoadLayout("ScrollViewNLayouts")

    For i = 0 To PanelNb - 1
        Dim pnl As Panel
        
        pnl.Initialize("pnlTest")
        scvMain.Panel.AddView(pnl, 0, 5dip + i * PanelHeight, 100%x, PanelHeight)
        pnl.LoadLayout("Layout")
        pnl.Tag = i
        For n = 0 To pnl.NumberOfViews - 1
            pnl.GetView(n).Tag = i
        Next
        Dim lbl As Label
        lbl = pnl.GetView(0)
        lbl.Text = "Test " & i
        Dim btn As Button
        btn = pnl.GetView(1)
        btn.Text = "Test " & i

        If (i Mod 2)=1 Then
            pnl.Color = Colors.DarkGray
        Else
            pnl.Color = Colors.Gray
        End If
    Next
    scvMain.Panel.Height = PanelNb*PanelHeight
End Sub

Sub Activity_Resume

End Sub

Sub Activity_Pause (UserClosed As Boolean)

End Sub

Sub lblTest_Click
    Dim lbl As Label
    
    lbl = Sender
    Activity.Title = "Label " & lbl.Tag
End Sub

Sub btnTest_Click
    Dim btn As Button
    Dim edt As EditText
    Dim lbl As Label
    Dim pnl As Panel
    Dim row As Int
    
    btn = Sender
    row = btn.Tag
    pnl = scvMain.Panel.GetView(row)
    lbl = pnl.GetView(0)
    edt = pnl.GetView(1)
    lbl.Text = edt.Text
    Activity.Title = "Button " & btn.Tag
End Sub

Sub pnlTest_Click
    Dim pnl As Panel
    
    pnl = Sender
    Activity.Title = "Panel " & pnl.Tag
End Sub


Sub scvmain_ScrollChanged(Position As Int)
    PanelNb = PanelNb+PanelNb
    
End Sub 
این کد کل برنامه ایه که از سایت بیسیک گرفتم زمانی که
کد پی‌اچ‌پی:
PanelNb 
رو زیاد میکنم برنامه هنگ میکنه
یه راحی میخوام بشه اینو پله پله بالا ببرم
مرسی دوستان.

(02-01-2014، 09:49 AM)'parvin' نوشته: درود آقا امین. خوبی؟ اخر هفته انجمن مشکل داشت یا خودت داشتی یه کارهایی میکردی.همش ارور  میداد.
مشکل اسکرولم حل شد. دستت درد نکنه. فقط مونده مشکل چرخش گوشی. و اینکه وقتی برنامه رو رو تبلت تست میکنم اندازش با اندازه تبلت یکی نمیشه.
راستی b4a فقط از txt ساپورت میکنه؟ نمیشه توش فایل مثلا docx گذاشت؟ میخوام تو متنی که دارم تصویر هم داشته باشم . هنوز نتونستم .

 

هر چند کسی ایینجا جواب سوالات منو نمیده ولی من تصمیم بر این گرفتم زین پس از این سایت پشتیبانی کنم و هر چند تازه کارم ولی تا جایی که بلدم جواب میدم.
برای سایز در دیوایس های مختلف میتوانید از این دستورات استفاده کنید:
کد پی‌اچ‌پی:
Dim lv As LayoutValues
   lv 
GetDeviceLayoutValues 
این دستور سایز صفحه نمایش شما را میگیرد در تمام دیوایس ها و فرقی ندارد دیوایس شما چه سایزی باشد.

این دستور مقادیر »  Width   و   Height   را به عدد برمیگرداند این عدد همان پیکسل است؛ برای نمایش درست میتوانید با تقسیم و جمع و تفریق صفحه نمایش نحوه نمایش را در تمام دیوایس ها درست کنبد.



 


RE: اموزش برنامه نویسی اندروید به همراه تمامی ابزارها - parsvb - 02-11-2014

نقل قول:درود دوستانیه سوال دارم میدونم کمی سخته ولی خواهشا هر کس بلده جوابمو بده سپاسگزارم ؛
من یه فایل اس کیو ال دارم که خیلی سنگینه حدود 100000 ردیف داره
ردیفهای جدول عیارتند از : name      groups      fav      delete       pic
حالا من واسه هر ردیف یک فاوریت و حذف و عکس قرار دادم
اول از همه چطور میتونم عکس رو از توی دیتا بیس فراخونی کنم؟
دوم اینکه من واسه هر ستون یه پنل معرفی کردم که هر پنل دارای 2 لیبل و 2 باتون و 1 عکس هست که پنل ها رو پشت سر هم داخل یک اسکرول چیدم که کاملا صحیح نمایش میده و بغیر از عکس همشون درست کار میکنند ولی ولی ولی وقتی تعداد زیادتر از 300 تا میشه برنامه هنگ میکنه و هیچ چیزی رو نشون نمیده
من فکر میکنم چون طول اسکرول زیاد میشه برنامه قابلیت کامپایلشو از دست میده
من چندتا برنامه با اسکرول بالا دیدم که به آهستگی عمل لود رو انجام میدن یعنی پله پله و اسکرول در صورتی بزرگتر میشود که شما آن را به پایین بکشد و به انتهای اسکرول برسید اسکرول دوباره لود شده و تعدادی پنل دیگر به برنامه اضافه میکند.


خیلی ممنون میشم اگه جوابمو بدید خیلی خیلی سپاسگذارم.
کد پی‌اچ‌پی:
#Region  Activity Attributes 
    #FullScreen: False
    #IncludeTitle: True
#End Region

Sub Process_Globals
    
'These global variables will be declared once when the application starts.
    '
These variables can be accessed from all modules.

End Sub

Sub Globals
    
'These global variables will be redeclared each time the activity is created.
    '
These variables can only be accessed from this module.
    
Dim scvMain As ScrollView
    Dim PanelNb 
As Int        PanelNb 20
    Dim PanelHeight 
As Int    PanelHeight 150dip
    
     Dim sql1 
As SQL
     Dim cursor1 
As Cursor

    
End Sub

Sub Activity_Create
(FirstTime As Boolean)
    
Dim iAs Int
    
    
If sql1.IsInitialized False Then
        sql1
.Initialize(File.DirInternal"pish.sql"False)
    
End If 
    
    
cursor1 sql1.ExecQuery("SELECT * FROM tbl1")

    
    
    
scvMain.Initialize(cursor1.RowCount 1*50)
    
Activity.AddView(scvMain00100%x100%y)
'    Activity.LoadLayout("ScrollViewNLayouts")

    For i = 0 To PanelNb - 1
        Dim pnl As Panel
        
        pnl.Initialize("pnlTest")
        scvMain.Panel.AddView(pnl, 0, 5dip + i * PanelHeight, 100%x, PanelHeight)
        pnl.LoadLayout("Layout")
        pnl.Tag = i
        For n = 0 To pnl.NumberOfViews - 1
            pnl.GetView(n).Tag = i
        Next
        Dim lbl As Label
        lbl = pnl.GetView(0)
        lbl.Text = "Test " & i
        Dim btn As Button
        btn = pnl.GetView(1)
        btn.Text = "Test " & i

        If (i Mod 2)=1 Then
            pnl.Color = Colors.DarkGray
        Else
            pnl.Color = Colors.Gray
        End If
    Next
    scvMain.Panel.Height = PanelNb*PanelHeight
End Sub

Sub Activity_Resume

End Sub

Sub Activity_Pause (UserClosed As Boolean)

End Sub

Sub lblTest_Click
    Dim lbl As Label
    
    lbl = Sender
    Activity.Title = "Label " & lbl.Tag
End Sub

Sub btnTest_Click
    Dim btn As Button
    Dim edt As EditText
    Dim lbl As Label
    Dim pnl As Panel
    Dim row As Int
    
    btn = Sender
    row = btn.Tag
    pnl = scvMain.Panel.GetView(row)
    lbl = pnl.GetView(0)
    edt = pnl.GetView(1)
    lbl.Text = edt.Text
    Activity.Title = "Button " & btn.Tag
End Sub

Sub pnlTest_Click
    Dim pnl As Panel
    
    pnl = Sender
    Activity.Title = "Panel " & pnl.Tag
End Sub


Sub scvmain_ScrollChanged(Position As Int)
    PanelNb = PanelNb+PanelNb
    
End Sub 
این کد کل برنامه ایه که از سایت بیسیک گرفتم زمانی که
کد پی‌اچ‌پی:
PanelNb 
رو زیاد میکنم برنامه هنگ میکنه
یه راحی میخوام بشه اینو پله پله بالا ببرم
سپاسگزارم دوستان.


 
 


درود
واسه عکس بهتره فایل ها رو تو یه مسیری بریزی بعد مثلا اسم فایل رو تو فیلد جدول ذخیره کنی
دیگه فقط کافیه اسم فایل رو از فیلد بخونی و از همون مسیر خودت لود کنی.

اما این اسکرول که گفتی :
با این کدی که شما نوشتی هنگ نکنه جای تعجب داره.
بهترین راه هم همونیه که خودت گفتی یعنی وقتی به انتهای اسکرول میرسی مثلا 10 تا دیگه لود بشه.
واسه این کار هم از خاصیت Position اسکرول کمک بگیر.
کد پی‌اچ‌پی:
Sub SCV1_ScrollChanged(Position As Int)
    
End Sub 
موفق باشید.
 


RE: اموزش برنامه نویسی اندروید به همراه تمامی ابزارها - mojtaba212 - 02-11-2014

(02-11-2014، 04:41 PM)'parsvb' نوشته:
نقل قول:درود دوستانیه سوال دارم میدونم کمی سخته ولی خواهشا هر کس بلده جوابمو بده سپاسگزارم ؛
من یه فایل اس کیو ال دارم که خیلی سنگینه حدود 100000 ردیف داره
ردیفهای جدول عیارتند از : name      groups      fav      delete       pic
حالا من واسه هر ردیف یک فاوریت و حذف و عکس قرار دادم
اول از همه چطور میتونم عکس رو از توی دیتا بیس فراخونی کنم؟
دوم اینکه من واسه هر ستون یه پنل معرفی کردم که هر پنل دارای 2 لیبل و 2 باتون و 1 عکس هست که پنل ها رو پشت سر هم داخل یک اسکرول چیدم که کاملا صحیح نمایش میده و بغیر از عکس همشون درست کار میکنند ولی ولی ولی وقتی تعداد زیادتر از 300 تا میشه برنامه هنگ میکنه و هیچ چیزی رو نشون نمیده
من فکر میکنم چون طول اسکرول زیاد میشه برنامه قابلیت کامپایلشو از دست میده
من چندتا برنامه با اسکرول بالا دیدم که به آهستگی عمل لود رو انجام میدن یعنی پله پله و اسکرول در صورتی بزرگتر میشود که شما آن را به پایین بکشد و به انتهای اسکرول برسید اسکرول دوباره لود شده و تعدادی پنل دیگر به برنامه اضافه میکند.


خیلی ممنون میشم اگه جوابمو بدید خیلی خیلی سپاسگذارم.
کد پی‌اچ‌پی:
#Region  Activity Attributes 
    #FullScreen: False
    #IncludeTitle: True
#End Region

Sub Process_Globals
    
'These global variables will be declared once when the application starts.
    '
These variables can be accessed from all modules.

End Sub

Sub Globals
    
'These global variables will be redeclared each time the activity is created.
    '
These variables can only be accessed from this module.
    
Dim scvMain As ScrollView
    Dim PanelNb 
As Int        PanelNb 20
    Dim PanelHeight 
As Int    PanelHeight 150dip
    
     Dim sql1 
As SQL
     Dim cursor1 
As Cursor

    
End Sub

Sub Activity_Create
(FirstTime As Boolean)
    
Dim iAs Int
    
    
If sql1.IsInitialized False Then
        sql1
.Initialize(File.DirInternal"pish.sql"False)
    
End If 
    
    
cursor1 sql1.ExecQuery("SELECT * FROM tbl1")

    
    
    
scvMain.Initialize(cursor1.RowCount 1*50)
    
Activity.AddView(scvMain00100%x100%y)
'    Activity.LoadLayout("ScrollViewNLayouts")

    For i = 0 To PanelNb - 1
        Dim pnl As Panel
        
        pnl.Initialize("pnlTest")
        scvMain.Panel.AddView(pnl, 0, 5dip + i * PanelHeight, 100%x, PanelHeight)
        pnl.LoadLayout("Layout")
        pnl.Tag = i
        For n = 0 To pnl.NumberOfViews - 1
            pnl.GetView(n).Tag = i
        Next
        Dim lbl As Label
        lbl = pnl.GetView(0)
        lbl.Text = "Test " & i
        Dim btn As Button
        btn = pnl.GetView(1)
        btn.Text = "Test " & i

        If (i Mod 2)=1 Then
            pnl.Color = Colors.DarkGray
        Else
            pnl.Color = Colors.Gray
        End If
    Next
    scvMain.Panel.Height = PanelNb*PanelHeight
End Sub

Sub Activity_Resume

End Sub

Sub Activity_Pause (UserClosed As Boolean)

End Sub

Sub lblTest_Click
    Dim lbl As Label
    
    lbl = Sender
    Activity.Title = "Label " & lbl.Tag
End Sub

Sub btnTest_Click
    Dim btn As Button
    Dim edt As EditText
    Dim lbl As Label
    Dim pnl As Panel
    Dim row As Int
    
    btn = Sender
    row = btn.Tag
    pnl = scvMain.Panel.GetView(row)
    lbl = pnl.GetView(0)
    edt = pnl.GetView(1)
    lbl.Text = edt.Text
    Activity.Title = "Button " & btn.Tag
End Sub

Sub pnlTest_Click
    Dim pnl As Panel
    
    pnl = Sender
    Activity.Title = "Panel " & pnl.Tag
End Sub


Sub scvmain_ScrollChanged(Position As Int)
    PanelNb = PanelNb+PanelNb
    
End Sub 
این کد کل برنامه ایه که از سایت بیسیک گرفتم زمانی که
کد پی‌اچ‌پی:
PanelNb 
رو زیاد میکنم برنامه هنگ میکنه
یه راحی میخوام بشه اینو پله پله بالا ببرم
سپاسگزارم دوستان.


 
 


درود
واسه عکس بهتره فایل ها رو تو یه مسیری بریزی بعد مثلا اسم فایل رو تو فیلد جدول ذخیره کنی
دیگه فقط کافیه اسم فایل رو از فیلد بخونی و از همون مسیر خودت لود کنی.

اما این اسکرول که گفتی :
با این کدی که شما نوشتی هنگ نکنه جای تعجب داره.
بهترین راه هم همونیه که خودت گفتی یعنی وقتی به انتهای اسکرول میرسی مثلا 10 تا دیگه لود بشه.
واسه این کار هم از خاصیت Position اسکرول کمک بگیر.
کد پی‌اچ‌پی:
Sub SCV1_ScrollChanged(Position As Int)
    
End Sub 
موفق باشید.
 

 
با درود فراوان خدمت شما دوست عزیز

من این راه اسکرول چنج رو هم امتحان کردم متاسفانه کار نکرد اگه به کد دقت کنی در انتهاش ساب اسکرول چنج رو نوشتم ولی متاسفانه کار نمیکنه

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


 

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


RE: اموزش برنامه نویسی اندروید به همراه تمامی ابزارها - Amin_Mansouri - 02-12-2014

(02-10-2014، 12:10 AM)'parsvb' نوشته: درود به همه دوستان
چطور میتونم یک فایل apk رو از تو نرم افزار ارسال کنم؟؟
یه حالت share via که بعد بلوتوث انتخاب بشه بعدم ارسال.
قبلا دیده بودم تو سایت اصلی ولی الان هرچی سرچ کردم پیدا نکردم.
ممنون

 

 

http://www.basic4ppc.com/android/forum/threads/filetransfer-send-and-receive-files-with-asyncstreams.30493/#post177049
http://www.basic4ppc.com/android/forum/threads/android-bluetooth-bluetoothadmin-tutorial.14768/#content

 


RE: اموزش برنامه نویسی اندروید به همراه تمامی ابزارها - mojtaba212 - 02-12-2014

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


RE: اموزش برنامه نویسی اندروید به همراه تمامی ابزارها - Amin_Mansouri - 02-12-2014

واسه عکس سمپل زیر:
http://www.basic4ppc.com/android/forum/threads/getting-imagebutton-image-from-database.1144/
اموزش کامل sql :
http://www.basic4ppc.com/android/forum/threads/sql-tutorial.6736/


RE: اموزش برنامه نویسی اندروید به همراه تمامی ابزارها - mojtaba212 - 02-12-2014

مرسی امین جان
مشکل اصلی من اسکرول ویو هستش
بانک من خیلی بزرگه حدودا 100000 آیتم که برای هرکدوم یه پنل با چندتا لیبل و باتون گذاشتم ولی وقتی روی 2000 اسکرول رو تنظیم میکنم لود نمیشه چه برسه به 100/000 تا تو برنامه های بزرگتر من دیدم که اسکرول زمانی که به انتها میرسه شروع میکنه به دوباره لود کردن بیشتر علتشم همینه که نمیشه یه دفعه همشو لود کرد و قطعا بیسیک برای این مسئله یه فکری کرده.


RE: اموزش برنامه نویسی اندروید به همراه تمامی ابزارها - mojtaba212 - 02-13-2014

(02-12-2014، 03:48 PM)'Amin_Mansouri' نوشته: واسه عکس سمپل زیر:
http://www.basic4ppc.com/android/forum/threads/getting-imagebutton-image-from-database.1144/
اموزش کامل sql :
http://www.basic4ppc.com/android/forum/threads/sql-tutorial.6736/

 

سلا:م امین جان
جوابی واسه سوال اسکرول من پیدا نکردی؟

 


RE: اموزش برنامه نویسی اندروید به همراه تمامی ابزارها - Amin_Mansouri - 02-13-2014

من کدتو ندیدم
میتونی از کد زیر :
Sub Wait(MilliSekunden As Int)
   Dim Ti As Long
   Ti = DateTime.Now + MilliSekunden
   Do While DateTime.Now < Ti
      DoEvents
   Loop
End Sub
یه وقفه وقتی از دیتابیس داری get میکنی بنداز
وگرنه همه با هم بخوای get کنی و بخونی معلومه که هنگ میکنه