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

خطا در ارسال اطلاعات به دیتابیس در Target SDK + 26


User

سوال

سلام

در رابطه با ارسال نشدن اطلاعات به دیتابیس در اندروید های + SDK 26 قبلا تاپیک هایی زده شده

با توجه به گفته های آقای شاهپیری و آقای قاسمی کد زیر به مانیفست اضافه شد

SetApplicationAttribute(android:usesCleartextTraffic,"true")

اما مشکل برطرف نشد

هنوز اطلاعات در SDK های کمتر از 27 ارسال میشن

اما در SDK های بیشتر از 26 نه

 

مانیفست :

spacer.png

کد ها :

Sub Process_Globals
End Sub

Sub Globals
	Private EditText1 As EditText
	Private Send As HttpJob
End Sub

Sub Activity_Create(FirstTime As Boolean)
	Activity.LoadLayout("Layout")
	Send.Initialize("Send",Me)
End Sub
Sub Button1_Click
	If EditText1.Text="" Then
		ToastMessageShow("در فیلد بالا متنی را جهت ارسال به دیتابیس وارد کنید",False)
		Return
	End If
	Send.PostString("http://ادرس سایت/نام فایل پی اچ پی.php","MyText="&EditText1.Text)
End Sub

Sub JobDone(job As HttpJob)
	If Send.JobName="Send" Then
		If job.Success=True Then
			If job.GetString="Done" Then
				ToastMessageShow("عملیات با موفقیت انجام شد",False)
				Else
				ToastMessageShow("اتصال به اینترنت را چک کنید",False)
			End If
			Else	
				ToastMessageShow("خطا",False)	
		End If
	End If
End Sub

Sub Activity_Resume
End Sub

Sub Activity_Pause (UserClosed As Boolean)
End Sub

 

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

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

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

و سوال دوم این که

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

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

در ۱۴۰۰/۴/۲۸ در ۲۰:۱۶، Soheil_Miresmaili گفته است:

سلام

در رابطه با ارسال نشدن اطلاعات به دیتابیس در اندروید های + SDK 26 قبلا تاپیک هایی زده شده

با توجه به گفته های آقای شاهپیری و آقای قاسمی کد زیر به مانیفست اضافه شد

SetApplicationAttribute(android:usesCleartextTraffic,"true")

 

به جای توست نشون دادن هنگام خطا. کد زیر رو بزارید ببینید چی چاپ میشه

Log(job.ErrorMessage)

 

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

در ۱۴۰۰/۴/۲۸ در 20:16، Soheil_Miresmaili گفته است:

سلام

در رابطه با ارسال نشدن اطلاعات به دیتابیس در اندروید های + SDK 26 قبلا تاپیک هایی زده شده

با توجه به گفته های آقای شاهپیری و آقای قاسمی کد زیر به مانیفست اضافه شد

SetApplicationAttribute(android:usesCleartextTraffic,"true")

اما مشکل برطرف نشد

هنوز اطلاعات در SDK های کمتر از 27 ارسال میشن

اما در SDK های بیشتر از 26 نه

 

مانیفست :

spacer.png

کد ها :

Sub Process_Globals
End Sub

Sub Globals
	Private EditText1 As EditText
	Private Send As HttpJob
End Sub

Sub Activity_Create(FirstTime As Boolean)
	Activity.LoadLayout("Layout")
	Send.Initialize("Send",Me)
End Sub
Sub Button1_Click
	If EditText1.Text="" Then
		ToastMessageShow("در فیلد بالا متنی را جهت ارسال به دیتابیس وارد کنید",False)
		Return
	End If
	Send.PostString("http://ادرس سایت/نام فایل پی اچ پی.php","MyText="&EditText1.Text)
End Sub

Sub JobDone(job As HttpJob)
	If Send.JobName="Send" Then
		If job.Success=True Then
			If job.GetString="Done" Then
				ToastMessageShow("عملیات با موفقیت انجام شد",False)
				Else
				ToastMessageShow("اتصال به اینترنت را چک کنید",False)
			End If
			Else	
				ToastMessageShow("خطا",False)	
		End If
	End If
End Sub

Sub Activity_Resume
End Sub

Sub Activity_Pause (UserClosed As Boolean)
End Sub

 

سلام و درود

احتمال داره مشکل از نبود دسترسی اینترنت باشه که کامنتش کردین ظاهراً

 

خطایی هم برمی‌گردونه؟

 

در ۱۴۰۰/۴/۲۸ در 20:21، Soheil_Miresmaili گفته است:

و سوال دوم این که

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

امکان جلوگیری از دیکامپایل برنامه وجود نداره؛ اما میشه با یسری راهکارها، امنیت برنامه رو بالا برد:

مثلاً استفاده از توکن متناسب با مشخصات دستگاه(یعنی همون اول کار اطلاعات گوشی رو به سرور ارسال کنید و به وسیله اون، یه توکن سمت کلاینت بفرستید و اون رو ذخیره کنید؛ و در نهایت، موقع ارسال هر ریکوئست، این توکن رو هم بفرستید.)

این یکی از راهکارهاست...

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

در ۱۴۰۰/۴/۲۸ در 20:21، Soheil_Miresmaili گفته است:

و سوال دوم این که

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

غیر ممکنه. رو همچین چیزایی واسه امنیت حساب نکنید. حتما امنیت رو سمت سرور پیاده کنید

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

در ۱۴۰۰/۴/۲۸ در ۱۰:۲۵، Salar۸۲ گفته است:

سلام و درود

احتمال داره مشکل از نبود دسترسی اینترنت باشه که کامنتش کردین ظاهراً

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

در ۱۴۰۰/۴/۲۸ در ۱۰:۲۵، محمدرضا شاهپیری گفته است:

به جای توست نشون دادن هنگام خطا. کد زیر رو بزارید ببینید چی چاپ میشه

Log(job.ErrorMessage)

 

لاگ :

Logger connected to:  samsung SM-A205F
--------- beginning of crash
--------- beginning of main
** Activity (main) Create, isFirst = true **
** Activity (main) Resume **
main_button1_click (java line: 376)
java.lang.NoClassDefFoundError: Failed resolution of: Lorg/apache/http/client/methods/HttpPost;
	at anywheresoftware.b4a.http.HttpClientWrapper$HttpUriRequestWrapper.InitializePost2(HttpClientWrapper.java:395)
	at anywheresoftware.b4a.samples.httputils2.httpjob._postbytes(httpjob.java:180)
	at anywheresoftware.b4a.samples.httputils2.httpjob._poststring(httpjob.java:228)
	at ir.postExample.main._button1_click(main.java:376)
	at java.lang.reflect.Method.invoke(Native Method)
	at anywheresoftware.b4a.BA.raiseEvent2(BA.java:213)
	at anywheresoftware.b4a.BA.raiseEvent2(BA.java:197)
	at anywheresoftware.b4a.BA.raiseEvent(BA.java:193)
	at anywheresoftware.b4a.objects.ViewWrapper$1.onClick(ViewWrapper.java:80)
	at android.view.View.performClick(View.java:7339)
	at android.widget.TextView.performClick(TextView.java:14222)
	at android.view.View.performClickInternal(View.java:7305)
	at android.view.View.access$3200(View.java:846)
	at android.view.View$PerformClick.run(View.java:27787)
	at android.os.Handler.handleCallback(Handler.java:873)
	at android.os.Handler.dispatchMessage(Handler.java:99)
	at android.os.Looper.loop(Looper.java:214)
	at android.app.ActivityThread.main(ActivityThread.java:7091)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:494)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:965)
Caused by: java.lang.ClassNotFoundException: Didn't find class "org.apache.http.client.methods.HttpPost" on path: DexPathList[[zip file "/data/app/ir.postExample-53GE0lfGK71WtsVZsPsJJA==/base.apk"],nativeLibraryDirectories=[/data/app/ir.postExample-53GE0lfGK71WtsVZsPsJJA==/lib/arm64, /system/lib64]]
	at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:134)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
	... 21 more
main_button1_click (java line: 376)
java.lang.NoClassDefFoundError: Failed resolution of: Lorg/apache/http/client/methods/HttpPost;
	at anywheresoftware.b4a.http.HttpClientWrapper$HttpUriRequestWrapper.InitializePost2(HttpClientWrapper.java:395)
	at anywheresoftware.b4a.samples.httputils2.httpjob._postbytes(httpjob.java:180)
	at anywheresoftware.b4a.samples.httputils2.httpjob._poststring(httpjob.java:228)
	at ir.postExample.main._button1_click(main.java:376)
	at java.lang.reflect.Method.invoke(Native Method)
	at anywheresoftware.b4a.BA.raiseEvent2(BA.java:213)
	at anywheresoftware.b4a.BA.raiseEvent2(BA.java:197)
	at anywheresoftware.b4a.BA.raiseEvent(BA.java:193)
	at anywheresoftware.b4a.objects.ViewWrapper$1.onClick(ViewWrapper.java:80)
	at android.view.View.performClick(View.java:7339)
	at android.widget.TextView.performClick(TextView.java:14222)
	at android.view.View.performClickInternal(View.java:7305)
	at android.view.View.access$3200(View.java:846)
	at android.view.View$PerformClick.run(View.java:27787)
	at android.os.Handler.handleCallback(Handler.java:873)
	at android.os.Handler.dispatchMessage(Handler.java:99)
	at android.os.Looper.loop(Looper.java:214)
	at android.app.ActivityThread.main(ActivityThread.java:7091)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:494)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:965)
Caused by: java.lang.ClassNotFoundException: Didn't find class "org.apache.http.client.methods.HttpPost" on path: DexPathList[[zip file "/data/app/ir.postExample-53GE0lfGK71WtsVZsPsJJA==/base.apk"],nativeLibraryDirectories=[/data/app/ir.postExample-53GE0lfGK71WtsVZsPsJJA==/lib/arm64, /system/lib64]]
	at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:134)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
	... 21 more
** Activity (main) Create, isFirst = true **
** Activity (main) Resume **
java.lang.NoClassDefFoundError: Failed resolution of: Lorg/apache/http/client/methods/HttpPost;
	at anywheresoftware.b4a.http.HttpClientWrapper$HttpUriRequestWrapper.InitializePost2(HttpClientWrapper.java:395)
	at anywheresoftware.b4a.samples.httputils2.httpjob._postbytes(httpjob.java:180)
	at anywheresoftware.b4a.samples.httputils2.httpjob._poststring(httpjob.java:228)
	at ir.postExample.main._button1_click(main.java:435)
	at java.lang.reflect.Method.invoke(Native Method)
	at anywheresoftware.b4a.shell.Shell.runMethod(Shell.java:732)
	at anywheresoftware.b4a.shell.Shell.raiseEventImpl(Shell.java:348)
	at anywheresoftware.b4a.shell.Shell.raiseEvent(Shell.java:255)
	at java.lang.reflect.Method.invoke(Native Method)
	at anywheresoftware.b4a.ShellBA.raiseEvent2(ShellBA.java:144)
	at anywheresoftware.b4a.BA.raiseEvent2(BA.java:197)
	at anywheresoftware.b4a.BA.raiseEvent(BA.java:193)
	at anywheresoftware.b4a.objects.ViewWrapper$1.onClick(ViewWrapper.java:80)
	at android.view.View.performClick(View.java:7339)
	at android.widget.TextView.performClick(TextView.java:14222)
	at android.view.View.performClickInternal(View.java:7305)
	at android.view.View.access$3200(View.java:846)
	at android.view.View$PerformClick.run(View.java:27787)
	at android.os.Handler.handleCallback(Handler.java:873)
	at android.os.Handler.dispatchMessage(Handler.java:99)
	at android.os.Looper.loop(Looper.java:214)
	at android.app.ActivityThread.main(ActivityThread.java:7091)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:494)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:965)
Caused by: java.lang.ClassNotFoundException: Didn't find class "org.apache.http.client.methods.HttpPost" on path: DexPathList[[zip file "/data/app/ir.postExample--wiIOGZvMvhzA0pEBzUcfw==/base.apk"],nativeLibraryDirectories=[/data/app/ir.postExample--wiIOGZvMvhzA0pEBzUcfw==/lib/arm64, /system/lib64]]
	at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:134)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
	... 25 more

 

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

در ۱۴۰۰/۴/۲۸ در ۲۳:۱۹، Soheil_Miresmaili گفته است:

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

لاگ :

برای ارتباط با سرور بهتره از یه کتابخونه استاندارد استفاده کنید. پکیج org.apache.http خیلی وقته منسوخ شده

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

در ۱۴۰۰/۴/۲۸ در ۲۳:۲۴، محمدرضا شاهپیری گفته است:

برای ارتباط با سرور بهتره از یه کتابخونه استاندارد استفاده کنید. پکیج org.apache.http خیلی وقته منسوخ شده

چه کتابخانه ای رو (که ترجیحا سمپل هم داشته باشه) پیشنهاد می‌کنید ؟

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

در ۱۴۰۰/۴/۲۹ در ۰۰:۳۴، Soheil_Miresmaili گفته است:

چه کتابخانه ای رو (که ترجیحا سمپل هم داشته باشه) پیشنهاد می‌کنید ؟

کتابخونه زیر رو میتونید استفاده کنید

 

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

بایگانی شده

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

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

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