رفتن به مطلب
  • 0

خطای force closeیا گیر کردن در برنامه


hassan543

سوال

با سلام خدمت  دوستان بنده یه برنامه پیامک نوشتم  فایل دیتابیس به برنامه وصل می کنم وپیامک ها بیش از 20 پیامک باشه  برنامه گیر می کنه بعد از چند ثانیه وارد می شود ویا بعضی موقع ها force close می ده

ممنون می شم راهنمایی کنید دوستان

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

13 پاسخ به این سوال تاکنون داده شده است

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

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

از روی عکس لایوت ک نمیشه :|

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

@@hassan543,

دوستان درست میگن شما باید کد مربوط به بارگذاری پیامک ها در قسمتی که مشکل داره رو قرار بدید

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

و یا اینکه شما به طور اشتباه مطالب رو بارگذاری کردین و داخل حلقه ای که مطالب بارگذاری میشود ممکنه کدی قرار داده باشید که باعث کرش شدن برنامه توسط cpu شود

 

در کل باید اون اکتیوتی که وقتی واردش میشید و پیغام فورس کلوز میده رو قرار بدید

چون پیغام فورس کلوز یک پیغام خاص نیست که راه حل خاص داشته باشه

موفق باشید :give_rose:

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

ممنون از پاسختون

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

#Region  Project Attributes 
	#ApplicationLabel: پیامک کده
	#VersionCode: 1
	#VersionName: 
	'SupportedOrientations possible values: unspecified, landscape or portrait.
	#SupportedOrientations: unspecified
	#CanInstallToExternalStorage: False
	#AdditionalRes:C:\Users\hassanmohammadi\Desktop\New folder\Google play service-low size\google-play-services-base-7.5.0\res, com.google.android.gms
#AdditionalRes:C:\Users\hassanmohammadi\Desktop\New folder\Google play service-low size\google-play-services-gcm-7.5.0\res, com.google.android.gms
#AdditionalRes:C:\Users\hassanmohammadi\Desktop\New folder\res, co.ronash.pushe
#End Region

#Region  Activity Attributes 
	#FullScreen: False
	#IncludeTitle: False
#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 sql1 As SQL
Dim timer1 As Timer
Dim sm As SlidingMenu
	Private listFeh As ListView
	Private lblhead As Label
	Private imgpc As ImageView
	Private Btnlike As ImageView
	Private btncopy As Button
	Private btnShare As Button
	Private lblpayamaktest As Label
	Private pnlpayamak As Panel
	Dim lv As CustomListView
	Dim su As StringUtils
	Dim cb As BClipboard
	Private lblsample As Label
	Dim pagenume As Int=1
	Dim p As Pushe
End Sub

Sub Activity_Create(FirstTime As Boolean)
	
'Do not forget to load the layout file created with the visual designer. For example:

	Activity.LoadLayout("lsplash")
	   
	If File.Exists(File.DirInternal,"pm.db")=False Then 
		File.Copy(File.DirAssets,"pm.db",File.DirInternal,"pm.db")
		End If 
		sql1.Initialize(File.DirInternal,"pm.db",True)
		
		
timer1.Initialize("timer1",2000)
timer1.Enabled=True
p.initialize(True)

   
End Sub

Sub timer1_Tick
Activity.RemoveAllViews
Activity.LoadLayout("lmain")
timer1.Enabled=False
	
	End Sub
 
Sub Activity_Resume

End Sub

Sub Activity_Pause (UserClosed As Boolean)

End Sub

Sub img1_Click
Activity.RemoveAllViews
	Activity.LoadLayout("bankpayamak")
	pagenume=2
	Dim imgback As BitmapDrawable
	imgback.Initialize(LoadBitmap(File.DirAssets,"item.png"))
	listFeh.SingleLineLayout.Background=imgback
	listFeh.SingleLineLayout.ItemHeight=10%y
	listFeh.SingleLineLayout.Label.Gravity=Gravity.CENTER
	listFeh.SingleLineLayout.Label.TextSize=15
	listFeh.SingleLineLayout.Label.TextColor=Colors.White
	listFeh.SingleLineLayout.Label.Typeface=Typeface.LoadFromAssets("BYekan.ttf")
	
	
	
	
	
	
	
	
	Dim cur As Cursor
	cur=sql1.ExecQuery("SELECT * FROM Tblfehrest")
	Dim i As Int
	For i=0 To cur.RowCount-1
	cur.Position=i
	listFeh.AddSingleLine2(cur.GetString("Name"),cur.GetString("ID"))
	
	
	Next 
	
End Sub
Sub listFeh_ItemClick (Position As Int, Value As Object)
Activity.RemoveAllViews
Activity.LoadLayout("payamak")

pagenume=3
Dim cur As Cursor
 cur=sql1.ExecQuery2("SELECT *FROM Tblfehrest Where ID=?",Array As String(Value))
 cur.Position=0
 lblhead.Text=cur.GetString("Name")
imgpc.SetBackgroundImage(LoadBitmapSample(File.DirAssets,cur.GetString("Ax"),imgpc.Width,imgpc.Height))


lv.Initialize(Me,"lv")
Activity.AddView(lv.AsView,1%X,16%Y,98%X,80%Y)
	 Dim cur As Cursor
	 cur=sql1.ExecQuery2("SELECT *FROM Tblpayamak WHERE FehID=?",Array As String(Value))
	
	 Dim i As Int
	For i=0 To cur.RowCount-1
	cur.Position=i
	
	Dim pl As Panel
	pl.Initialize("pl")
	lblsample.Text=cur.GetString("Matn")
	lv.Add(pl,su.MeasureMultilineTextHeight(lblsample,lblsample.Text)+70dip,"")
	pl.LoadLayout("temp")
	
	pnlpayamak.Height=su.MeasureMultilineTextHeight(lblsample,lblsample.Text)+btncopy.Height+30dip
	lblpayamaktest.Text=cur.GetString("Matn")
lblpayamaktest.Height=su.MeasureMultilineTextHeight(lblpayamaktest,lblpayamaktest.Text)
lblpayamaktest.Top=pnlpayamak.Top+10dip
btncopy.Top=lblpayamaktest.Top+lblpayamaktest.Height+15dip
btnShare.Top=lblpayamaktest.Top+lblpayamaktest.Height+15dip
Btnlike.Top=lblpayamaktest.Top+lblpayamaktest.Height+15dip
btnShare.Tag=cur.GetString("Matn")
btncopy.Tag=cur.GetString("Matn")
Btnlike.Tag=cur.GetString("ID")

    If checkalaqe(cur.GetString("ID"))=False Then
          Btnlike.SetBackgroundImage(LoadBitmap(File.DirAssets,"like.png"))
Else
Btnlike.SetBackgroundImage(LoadBitmap(File.DirAssets,"like - copy.png"))
End If


  

	Next 

End Sub
Sub BtnShare_Click
	Dim obj As View 
	obj=Sender
	Dim share As Intent
	share.Initialize(share.ACTION_SEND,"")
	share.SetType("text/plain")
	share.PutExtra("android.intent.extra.TEXT",obj.Tag)
	share.WrapAsIntentChooser("متن از چه طریقی ارسال شود؟")
	StartActivity(share)
	
End Sub
Sub btncopy_Click
	Dim obj As View
	obj=Sender
	cb.setText(obj.Tag)
	ToastMessageShow("متن پیامک در حافظه موقت کپی شد",False)
End Sub
Sub Btnlike_Click
	Dim obj As View 
	obj=Sender
	If checkalaqe(obj.Tag)=False Then
		sql1.ExecNonQuery2("UPDATE Tblpayamak  SET alaqe=1 WHERE ID=?",Array As String (obj.Tag))
	obj.SetBackgroundImage(LoadBitmap(File.DirAssets,"like - copy.png"))
ToastMessageShow("پیامک مورد نظر شما به علاقه مندی ها اضافه شد",False)
Else
	sql1.ExecNonQuery2("UPDATE Tblpayamak  SET alaqe=0 WHERE ID=?",Array As String (obj.Tag))
	obj.SetBackgroundImage(LoadBitmap(File.DirAssets,"like.png"))
ToastMessageShow("پیامک مورد نظر شما از لیست علاقمندی  حذف شد",False)
End If

End Sub
Sub checkalaqe (PayamakID As Int)As Boolean
Dim cur As Cursor
cur=sql1.ExecQuery2("SELECT *FROM Tblpayamak WHERE ID=?",Array As String(PayamakID))
cur.Position=0
If cur.GetString("alaqe")=1 Then
Return True
Else 
Return False
End If




End Sub

Sub Activity_KeyPress (KeyCode As Int) As Boolean 'Return True to consume the event
	
	If KeyCode=KeyCodes.KEYCODE_BACK Then
	Select pagenume
	Case 1
	If Msgbox2("آیا از خروج اطمینان دارید؟","خروج","بله","خیر","",Null)=DialogResponse.POSITIVE Then
		ExitApplication
	Else
	Return True
	End If
	
	Case 2
	Activity.RemoveAllViews
	Activity.LoadLayout("lmain")
	pagenume=1
	Return True
	Case 3
	img1_Click
	Return True
	End Select
	
	End If
	
	
	
	
End Sub
Sub img2_Click
	Activity.RemoveAllViews
Activity.LoadLayout("payamak")

pagenume=2

 lblhead.Text="لیست علاقه مندی ها"
imgpc.SetBackgroundImage(LoadBitmapSample(File.DirAssets,"cool.png",imgpc.Width,imgpc.Height))


lv.Initialize(Me,"lv")
Activity.AddView(lv.AsView,1%X,16%Y,98%X,80%Y)
	 Dim cur As Cursor
	 cur=sql1.ExecQuery("SELECT *FROM Tblpayamak WHERE alaqe=1")
	
	 Dim i As Int
	For i=0 To cur.RowCount-1
	cur.Position=i
	
	Dim pl As Panel
	pl.Initialize("pl")
	lblsample.Text=cur.GetString("Matn")
	lv.Add(pl,su.MeasureMultilineTextHeight(lblsample,lblsample.Text)+70dip,"")
	pl.LoadLayout("temp")
	
	pnlpayamak.Height=su.MeasureMultilineTextHeight(lblsample,lblsample.Text)+btncopy.Height+30dip
	lblpayamaktest.Text=cur.GetString("Matn")
lblpayamaktest.Height=su.MeasureMultilineTextHeight(lblpayamaktest,lblpayamaktest.Text)
lblpayamaktest.Top=pnlpayamak.Top+10dip
btncopy.Top=lblpayamaktest.Top+lblpayamaktest.Height+15dip
btnShare.Top=lblpayamaktest.Top+lblpayamaktest.Height+15dip
Btnlike.Top=lblpayamaktest.Top+lblpayamaktest.Height+15dip
btnShare.Tag=cur.GetString("Matn")
btncopy.Tag=cur.GetString("Matn")
Btnlike.Tag=cur.GetString("ID")

    If checkalaqe(cur.GetString("ID"))=False Then
          Btnlike.SetBackgroundImage(LoadBitmap(File.DirAssets,"like.png"))
Else 
Btnlike.SetBackgroundImage(LoadBitmap(File.DirAssets,"like - copy.png"))
End If


  

	Next 
End Sub
Sub img3_Click
	Dim cafebazar As Intent
	cafebazar.Initialize(cafebazar.Action_edit,"bazaar://details?id=com.mobilestudio.payamakbank")
	StartActivity(cafebazar)
End Sub
Sub img4_Click
	Msgbox2("ایمیل پشتیبانی:[email protected]"& CRLF&"کانال تلگرام:telegram.me/mobilestudio415","ارتباط با ما","باشه","","",Null)
End Sub
Sub img5_Click
	Msgbox2("کاری از گروه برنامه نویسی موبایل استودیو"& CRLF&"برنامه نویس:حسن محمدی","درباره ما","باشه","","",Null)
End Sub

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

با این اطلاعات گنگ کسی نمیتونه کمکتون کنه

اگ میتونین سورس رو پیوست کنید !

اگه نه ک 

دیباگ بکنید با بیسیک خط ب خط

 جایی که گیر میکنه رو کدش رو اینجا قرار بدید ا بتونیم کمکتون کنیم

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

جای شهاب خالی

ساب های اضافی گذاشتی :| :fekr:

چند تا مشکل جزئی دیدم

بعد از ستاره اس پیس بزن

cur=sql1.ExecQuery2("SELECT *FROM Tblpayamak WHERE FehID=?",Array As String(Value))

این قسمتو ببر بیرون حلقه

	Dim pl As Panel
	pl.Initialize("pl")

اینو داخل پروسس گلوبابز تعریف کن

Dim sql1 As SQL

وقتی تو حلقه i رو تعریف میکنی خودش به عنوان متغییر عددی شناساییش میکنه

Dim i As Int

کدات زیاد و در هم شد سرم گیج رفت ولی این کارارو بکن دوباره جوابشو بگو :wacko1::crazy:

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

@@hassan543,

اولین چیزی که گفتمو انجام دادین؟ اسپیس بعد از ستاره؟

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

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

بله انجام دادم

اره رفع شد اما پیام هارو چه جوری لیمیت کنم

واین کد زیر را کجا قرار بدم

Dim pl As Panel
	pl.Initialize("pl")
لینک ارسال
به اشتراک گذاری در سایت های دیگر

 

 

h2245nk05tkdw9jkoass.jpg

زمانی که من روی سرکاری اول کلیک می کنم تا پیامک های بخش سرکاری اول باز شه باید 7ثانیه صبر کنم تا قسمت پیامک سرکاری باز شه

بهپعصی موقع ها برنامه force cloce میده

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

@@hassan543,

خب خدارو شکر

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

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

اگر جستجو شمارا به جواب نمیرسونه

 

داخل فروشگاه به قیمیت خیلی کم آموزش کامل گذاشته شده :give_rose:

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

بایگانی شده

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

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

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