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

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


HS71

سوال

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

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

اینم ساب سرچ:

Sub searching_TextChanged (Old As String, New As String)
	
	Scrollvi.Panel.RemoveAllViews
	space = Scrollvi.Height - Scrollvi.Height
	Scrollvi.ScrollPosition = space

	Dim curs As Cursor
	curs = sql.ExecQuery("SELECT * FROM shtbl WHERE names LIKE '%"&searching.Text&"%'")

	For i = 0 To curs.RowCount -1
		curs.Position = i
		Dim pp As Panel
		pp.Initialize("p")
		Scrollvi.Panel.AddView(pp,0,space,100%x,190dip)
		space = space + 140dip
			pp.LoadLayout("pans")
		pp.Tag = curs.GetInt("id")
		
		Scrollvi.Panel.Height = space	
		bplay.Tag = curs.GetInt("id")
		bplay.Text = curs.GetString("mufile")		
		matn1.Tag = curs.Getint("id")
		matn1.Text = curs.GetString("names")
		year.Tag = curs.GetInt("id")
		year.Text = curs.GetString("year")				
	Next		
End Sub

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

با تشکر.

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

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

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

سلام

دو سه تا تا راه دارید به نظرم:

1- از آریا لیست ویو استفاده کنید که هنگی کار رو بگیره (مشکل بخاطر ساختن مجدد پنل ها هست)

2- همین کدهارو توی کلیک بات بزارید تا مدام تکرار نشه

3- برای قسمت سرچ کردن از لیست ویو استفاده کنید

 

 

این کد رو هم به Manifest اضافه کنید شاید مشکل هنگی حل بشه با بهتر بشه :

SetApplicationAttribute(android:largeHeap,"true")

 

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

سلام

علاوه بر سخنان گهروار استاد ایزدی، عمل سرچ رو با آریا ایسینک تسک و در ساب doInBackGroung انجام بدید

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

فکر نکنم مشکل خاصی دیگه پیش بیاد

و حتما بیخیال TextChangedبشید و عمل جستجو رو بعد از کلیک روی دکمه انجام بدید، همونطور که استاد ایزدی فرمودند

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

در 2 ساعت قبل، shahab.es گفته است :

سلام

علاوه بر سخنان گهروار استاد ایزدی، عمل سرچ رو با آریا ایسینک تسک و در ساب doInBackGroung انجام بدید

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

فکر نکنم مشکل خاصی دیگه پیش بیاد

و حتما بیخیال TextChangedبشید و عمل جستجو رو بعد از کلیک روی دکمه انجام بدید، همونطور که استاد ایزدی فرمودند

ممنون، متاسفانه نمیدونم چطور دقیقا استفاده کنم..

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

ضمنا ملتی پنله و از آریا لیست ویو استفاده نشده.

Sub ariasy_DoInBackground(Params() As Object) As Object
	
	Scrollvi.Panel.RemoveAllViews
	space = Scrollvi.Height - Scrollvi.Height
	Scrollvi.ScrollPosition = space
	
	Dim curs As Cursor
	curs = sql.ExecQuery("SELECT * FROM shtbl WHERE names LIKE '%"&searching.Text&"%'")
		Dim boo As Boolean
	For i = 0 To curs.RowCount -1
		curs.Position = i
		Dim pp As Panel
		pp.Initialize("p")
		Scrollvi.Panel.AddView(pp,0,space,100%x,190dip)
		space = space + 140dip
			pp.LoadLayout("pans")
		pp.Tag = curs.GetInt("id")	
		Scrollvi.Panel.Height = space
		bplay.Tag = curs.GetInt("id")
		bplay.Text = curs.GetString("mufile")
		matn1.Tag = curs.Getint("id")
		matn1.Text = curs.GetString("names")
	Next
End Sub

Sub ariasy_OnPostExecute(Result As Object)
	
End Sub

Sub but_search_Click
	
End Sub

همون کدهایی که در ساب ادیت تکست بود رو آوردم تو ساب doInBackGroung  و ساب بعدیش که onpostexecute هست و آخریش هم دکمه سرچ

حالا لطفا بگید چی باید نوشته بشه در ساب ها:fekr:

مرســــی.

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

یکی راهنمایی کنه لطفا

کد منیفست جناب ایزدی رو هم گذاشتم بهتر شده، یکم البته. 

تو تاپیک ها هم در مورد سرچ با آریا تسک چیزی ندیدم

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

ویه چیز دیگم ک نفهمیدم لیست ویو رو بجای ادیت تکست استفاده کنم؟؟ اونوقت هنگام کلیک که فعال نمیشه مثله ادیت تکس که بنویسم متن جستجو رو.:wacko1:

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

بایگانی شده

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

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

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