مشکل در اجرای برنامه آندروید
سلام دوستان من تازه برنامه نویسی آندروید رو شروع کردم و در اجرای یه برنامه که می خواد عکس و متن رو از دیتابیس mysql بخونه بوسیله JSON به مشکل برخوردم البته برنامه خطا نداره ولی موقع لود اطلاعات کرش میکنه و خارج میشه.
اینم اضافه کنم ورژن آندرید من 3.1.2 هست و از گردل 4.4 استفاده میکنم و build.gradle من اینه:
apply plugin: 'com.android.application'
android {
compileSdkVersion 26
defaultConfig {
applicationId "com.example.farshid.appand"
minSdkVersion 14
targetSdkVersion 26
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunne r"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:26.1.0'
implementation 'com.android.support.constraint:constraint-layout:1.0.2'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.1'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
}
[/CODE]
و یه دیتابیس داخل gigfa ساختم و اسم دیتابیسم gigfa_22018905_sampleDB و یه جدول دارم با 3 فیلد یid, AndroidNames, ImagePath
و اضافه کنم که فایل connection.php :
<?php
$servername ="sql207.gigfa.com";//replace it with your database server name
$username ="gigfa_22018905";//replace it with your database username
$password ="farshid";//replace it with your database password
$dbname ="gigfa_22018905_sampleDB";
// Create connection
$con = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
//if (!$con) {
// die("Connection failed: " . mysqli_connect_error());
//}
?>
فایل getandroidosnames.php :
<?php
require_once('connection.php');
$sql ="SELECT * FROM androidosnames";
$r = mysqli_query($con,$sql);
$result = array();
while($res = mysqli_fetch_array($r)){
array_push($result,array(
"AndroidNames"=>$res['AndroidNames'],
"ImagePath"=>$res['ImagePath']
)
);
}
echo json_encode(array("result"=>$result));
mysqli_close($con);
exit();
?>
و سه تا فایل جاوا دارم که به ترتیب: Customadapter.java
import android.app.Activity;
import android.graphics.Bitmap;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.TextView;
/**
* Created by Shree on 10/25/2016.
*/
publicclassCustomadapter extends ArrayAdapter<String>{
privateString[] androidosnames;
privateString[] urls;
privateBitmap[] bitmaps;
privateActivity context;
publicCustomadapter(Activity context,String[] androidosnames,Bitmap[] bitmaps ){
super(context, R.layout.layout, androidosnames);
this.context = context;
// this.urls = urls;
this.bitmaps = bitmaps;
this.androidosnames = androidosnames;
}
@Override
publicView getView(int position,View convertView,ViewGroup parent){
LayoutInflater inflater = context.getLayoutInflater();
View listViewItem = inflater.inflate(R.layout.layout,null,true);
TextView androidos =(TextView) listViewItem.findViewById(R.id.tvandroidosnames);
// TextView textView = (TextView) listViewItem.findViewById(R.id.tvurl);
// textView.setText(urls[position] );
androidos.setText(androidosnames[position]);
ImageView image =(ImageView) listViewItem.findViewById(R.id.imgvw);
image.setImageBitmap(Bitmap.createScaledBitmap(bitmaps[position],100,50,false));
return listViewItem;
}
}
نقل قول: مشکل در اجرای برنامه آندروید
نقل قول:
البته برنامه خطا نداره ولی موقع لود اطلاعات کرش میکنه و خارج میشه
دوست عزیز اگر خطا نداره پس چرا crash میکنه خطای منطقی هم جز خطاهای برنامه محسوب میشه.!
تگ های درست هم برای نمایش سورس کدها استفاده نکردید فکر کنم همه تگ ها را php انتخاب کردید برای همین درست نمایش داده نشده البته به جز کد های php .
و اینکه برنامه را در حالت debug اجرا کنید وقتی crash کرد لیست خطا ها را اینجا قرار بدید تا بهتر راهنمایی بشید.
نقل قول: مشکل در اجرای برنامه آندروید
نقل قول:
نوشته شده توسط
farhad_shiri_ex
دوست عزیز اگر خطا نداره پس چرا crash میکنه خطای منطقی هم جز خطاهای برنامه محسوب میشه.!
تگ های درست هم برای نمایش سورس کدها استفاده نکردید فکر کنم همه تگ ها را php انتخاب کردید برای همین درست نمایش داده نشده البته به جز کد های php .
و اینکه برنامه را در حالت debug اجرا کنید وقتی crash کرد لیست خطا ها را اینجا قرار بدید تا بهتر راهنمایی بشید.
دوست عزیز تشکر که جواب دادین این LogCat هست:
کد HTML:
05/15 19:39:21: Launching app
No apk changes detected since last installation, skipping installation of D:\MyAndroid\app\build\outputs\apk\debug\app-debug.apk
$ adb shell am force-stop com.example.farshid.appand
$ adb shell am start -n "com.example.farshid.appand/com.example.farshid.appand.MainActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER -D
Waiting for application to come online: com.example.farshid.appand.test | com.example.farshid.appand
Waiting for application to come online: com.example.farshid.appand.test | com.example.farshid.appand
Waiting for application to come online: com.example.farshid.appand.test | com.example.farshid.appand
Connecting to com.example.farshid.appand
Capturing and displaying logcat messages from application. This behavior can be disabled in the "Logcat output" section of the "Debugger" settings page.
I/dalvikvm: Debugger is active
I/System.out: Debugger has connected
waiting for debugger to settle...
I/System.out: waiting for debugger to settle...
Connected to the target VM, address: 'localhost:8612', transport: 'socket'
I/System.out: waiting for debugger to settle...
I/System.out: waiting for debugger to settle...
I/System.out: waiting for debugger to settle...
I/System.out: waiting for debugger to settle...
I/System.out: waiting for debugger to settle...
I/System.out: waiting for debugger to settle...
I/System.out: debugger has settled (1454)
I/dalvikvm: Could not find method android.view.Window$Callback.onPointerCaptureChanged, referenced from method android.support.v7.view.WindowCallbackWrapper.onPointerCaptureChanged
W/dalvikvm: VFY: unable to resolve interface method 15991: Landroid/view/Window$Callback;.onPointerCaptureChanged (Z)V
D/dalvikvm: VFY: replacing opcode 0x72 at 0x0002
I/dalvikvm: Could not find method android.view.Window$Callback.onProvideKeyboardShortcuts, referenced from method android.support.v7.view.WindowCallbackWrapper.onProvideKeyboardShortcuts
W/dalvikvm: VFY: unable to resolve interface method 15993: Landroid/view/Window$Callback;.onProvideKeyboardShortcuts (Ljava/util/List;Landroid/view/Menu;I)V
D/dalvikvm: VFY: replacing opcode 0x72 at 0x0002
W/dalvikvm: VFY: unable to find class referenced in signature (Landroid/view/SearchEvent;)
I/dalvikvm: Could not find method android.view.Window$Callback.onSearchRequested, referenced from method android.support.v7.view.WindowCallbackWrapper.onSearchRequested
W/dalvikvm: VFY: unable to resolve interface method 15995: Landroid/view/Window$Callback;.onSearchRequested (Landroid/view/SearchEvent;)Z
D/dalvikvm: VFY: replacing opcode 0x72 at 0x0002
I/dalvikvm: Could not find method android.view.Window$Callback.onWindowStartingActionMode, referenced from method android.support.v7.view.WindowCallbackWrapper.onWindowStartingActionMode
W/dalvikvm: VFY: unable to resolve interface method 15999: Landroid/view/Window$Callback;.onWindowStartingActionMode (Landroid/view/ActionMode$Callback;I)Landroid/view/ActionMode;
D/dalvikvm: VFY: replacing opcode 0x72 at 0x0002
I/dalvikvm: Could not find method android.content.res.TypedArray.getChangingConfigurations, referenced from method android.support.v7.widget.TintTypedArray.getChangingConfigurations
W/dalvikvm: VFY: unable to resolve virtual method 707: Landroid/content/res/TypedArray;.getChangingConfigurations ()I
D/dalvikvm: VFY: replacing opcode 0x6e at 0x0002
I/dalvikvm: Could not find method android.content.res.TypedArray.getType, referenced from method android.support.v7.widget.TintTypedArray.getType
W/dalvikvm: VFY: unable to resolve virtual method 729: Landroid/content/res/TypedArray;.getType (I)I
D/dalvikvm: VFY: replacing opcode 0x6e at 0x0008
I/dalvikvm: Could not find method android.content.Context.createDeviceProtectedStorageContext, referenced from method android.support.v4.content.ContextCompat.createDeviceProtectedStorageContext
W/dalvikvm: VFY: unable to resolve virtual method 488: Landroid/content/Context;.createDeviceProtectedStorageContext ()Landroid/content/Context;
D/dalvikvm: VFY: replacing opcode 0x6e at 0x0006
I/dalvikvm: Could not find method android.content.Context.getCodeCacheDir, referenced from method android.support.v4.content.ContextCompat.getCodeCacheDir
W/dalvikvm: VFY: unable to resolve virtual method 494: Landroid/content/Context;.getCodeCacheDir ()Ljava/io/File;
D/dalvikvm: VFY: replacing opcode 0x6e at 0x0006
I/dalvikvm: Could not find method android.content.Context.getColor, referenced from method android.support.v4.content.ContextCompat.getColor
W/dalvikvm: VFY: unable to resolve virtual method 495: Landroid/content/Context;.getColor (I)I
D/dalvikvm: VFY: replacing opcode 0x6e at 0x0006
I/dalvikvm: Could not find method android.content.Context.getColorStateList, referenced from method android.support.v4.content.ContextCompat.getColorStateList
W/dalvikvm: VFY: unable to resolve virtual method 496: Landroid/content/Context;.getColorStateList (I)Landroid/content/res/ColorStateList;
D/dalvikvm: VFY: replacing opcode 0x6e at 0x0006
I/dalvikvm: Could not find method android.content.Context.getDataDir, referenced from method android.support.v4.content.ContextCompat.getDataDir
W/dalvikvm: VFY: unable to resolve virtual method 498: Landroid/content/Context;.getDataDir ()Ljava/io/File;
D/dalvikvm: VFY: replacing opcode 0x6e at 0x0006
I/dalvikvm: Could not find method android.content.Context.getDrawable, referenced from method android.support.v4.content.ContextCompat.getDrawable
W/dalvikvm: VFY: unable to resolve virtual method 499: Landroid/content/Context;.getDrawable (I)Landroid/graphics/drawable/Drawable;
D/dalvikvm: VFY: replacing opcode 0x6e at 0x0006
I/dalvikvm: Could not find method android.content.Context.getNoBackupFilesDir, referenced from method android.support.v4.content.ContextCompat.getNoBackupFilesDir
W/dalvikvm: VFY: unable to resolve virtual method 506: Landroid/content/Context;.getNoBackupFilesDir ()Ljava/io/File;
D/dalvikvm: VFY: replacing opcode 0x6e at 0x0006
I/dalvikvm: Could not find method android.content.Context.isDeviceProtectedStorage, referenced from method android.support.v4.content.ContextCompat.isDeviceProtectedStorage
W/dalvikvm: VFY: unable to resolve virtual method 519: Landroid/content/Context;.isDeviceProtectedStorage ()Z
D/dalvikvm: VFY: replacing opcode 0x6e at 0x0006
I/dalvikvm: Could not find method android.content.Context.startForegroundService, referenced from method android.support.v4.content.ContextCompat.startForegroundService
W/dalvikvm: VFY: unable to resolve virtual method 534: Landroid/content/Context;.startForegroundService (Landroid/content/Intent;)Landroid/content/ComponentName;
D/dalvikvm: VFY: replacing opcode 0x6e at 0x0006
I/dalvikvm: Could not find method android.widget.FrameLayout.startActionModeForChild, referenced from method android.support.v7.widget.ActionBarContainer.startActionModeForChild
W/dalvikvm: VFY: unable to resolve virtual method 16460: Landroid/widget/FrameLayout;.startActionModeForChild (Landroid/view/View;Landroid/view/ActionMode$Callback;I)Landroid/view/ActionMode;
D/dalvikvm: VFY: replacing opcode 0x6f at 0x0002
I/dalvikvm: Could not find method android.content.Context.getColorStateList, referenced from method android.support.v7.content.res.AppCompatResources.getColorStateList
W/dalvikvm: VFY: unable to resolve virtual method 496: Landroid/content/Context;.getColorStateList (I)Landroid/content/res/ColorStateList;
D/dalvikvm: VFY: replacing opcode 0x6e at 0x0006
W/dalvikvm: VFY: unable to find class referenced in signature (Landroid/graphics/drawable/Icon;)
I/dalvikvm: Could not find method android.widget.ImageButton.setImageIcon, referenced from method android.support.v7.widget.AppCompatImageButton.setImageIcon
W/dalvikvm: VFY: unable to resolve virtual method 16483: Landroid/widget/ImageButton;.setImageIcon (Landroid/graphics/drawable/Icon;)V
D/dalvikvm: VFY: replacing opcode 0x6f at 0x0000
I/dalvikvm: Could not find method android.content.res.Resources.getDrawable, referenced from method android.support.v7.widget.ResourcesWrapper.getDrawable
W/dalvikvm: VFY: unable to resolve virtual method 670: Landroid/content/res/Resources;.getDrawable (ILandroid/content/res/Resources$Theme;)Landroid/graphics/drawable/Drawable;
D/dalvikvm: VFY: replacing opcode 0x6e at 0x0002
I/dalvikvm: Could not find method android.content.res.Resources.getDrawableForDensity, referenced from method android.support.v7.widget.ResourcesWrapper.getDrawableForDensity
W/dalvikvm: VFY: unable to resolve virtual method 672: Landroid/content/res/Resources;.getDrawableForDensity (IILandroid/content/res/Resources$Theme;)Landroid/graphics/drawable/Drawable;
D/dalvikvm: VFY: replacing opcode 0x6e at 0x0002
E/dalvikvm: Could not find class 'android.graphics.drawable.RippleDrawable', referenced from method android.support.v7.widget.AppCompatImageHelper.hasOverlappingRendering
W/dalvikvm: VFY: unable to resolve instanceof 194 (Landroid/graphics/drawable/RippleDrawable;) in Landroid/support/v7/widget/AppCompatImageHelper;
D/dalvikvm: VFY: replacing opcode 0x20 at 0x000c
I/dalvikvm: Could not find method android.widget.TextView.getAutoSizeMaxTextSize, referenced from method android.support.v7.widget.AppCompatTextView.getAutoSizeMaxTextSize
W/dalvikvm: VFY: unable to resolve virtual method 16779: Landroid/widget/TextView;.getAutoSizeMaxTextSize ()I
D/dalvikvm: VFY: replacing opcode 0x6f at 0x0006
I/dalvikvm: Could not find method android.widget.TextView.getAutoSizeMinTextSize, referenced from method android.support.v7.widget.AppCompatTextView.getAutoSizeMinTextSize
W/dalvikvm: VFY: unable to resolve virtual method 16780: Landroid/widget/TextView;.getAutoSizeMinTextSize ()I
D/dalvikvm: VFY: replacing opcode 0x6f at 0x0006
I/dalvikvm: Could not find method android.widget.TextView.getAutoSizeStepGranularity, referenced from method android.support.v7.widget.AppCompatTextView.getAutoSizeStepGranularity
W/dalvikvm: VFY: unable to resolve virtual method 16781: Landroid/widget/TextView;.getAutoSizeStepGranularity ()I
D/dalvikvm: VFY: replacing opcode 0x6f at 0x0006
I/dalvikvm: Could not find method android.widget.TextView.getAutoSizeTextAvailableSizes, referenced from method android.support.v7.widget.AppCompatTextView.getAutoSizeTextAvailableSizes
W/dalvikvm: VFY: unable to resolve virtual method 16782: Landroid/widget/TextView;.getAutoSizeTextAvailableSizes ()[I
D/dalvikvm: VFY: replacing opcode 0x6f at 0x0006
I/dalvikvm: Could not find method android.widget.TextView.getAutoSizeTextType, referenced from method android.support.v7.widget.AppCompatTextView.getAutoSizeTextType
W/dalvikvm: VFY: unable to resolve virtual method 16783: Landroid/widget/TextView;.getAutoSizeTextType ()I
D/dalvikvm: VFY: replacing opcode 0x6f at 0x0007
I/dalvikvm: Could not find method android.widget.TextView.setAutoSizeTextTypeUniformWithConfiguration, referenced from method android.support.v7.widget.AppCompatTextView.setAutoSizeTextTypeUniformWithConfiguration
W/dalvikvm: VFY: unable to resolve virtual method 16826: Landroid/widget/TextView;.setAutoSizeTextTypeUniformWithConfiguration (IIII)V
D/dalvikvm: VFY: replacing opcode 0x6f at 0x0006
I/dalvikvm: Could not find method android.widget.TextView.setAutoSizeTextTypeUniformWithPresetSizes, referenced from method android.support.v7.widget.AppCompatTextView.setAutoSizeTextTypeUniformWithPresetSizes
W/dalvikvm: VFY: unable to resolve virtual method 16827: Landroid/widget/TextView;.setAutoSizeTextTypeUniformWithPresetSizes ([II)V
D/dalvikvm: VFY: replacing opcode 0x6f at 0x0006
I/dalvikvm: Could not find method android.widget.TextView.setAutoSizeTextTypeWithDefaults, referenced from method android.support.v7.widget.AppCompatTextView.setAutoSizeTextTypeWithDefaults
W/dalvikvm: VFY: unable to resolve virtual method 16828: Landroid/widget/TextView;.setAutoSizeTextTypeWithDefaults (I)V
D/dalvikvm: VFY: replacing opcode 0x6f at 0x0006
I/dalvikvm: Could not find method android.widget.TextView.getAutoSizeStepGranularity, referenced from method android.support.v7.widget.AppCompatTextHelper.loadFromAttributes
W/dalvikvm: VFY: unable to resolve virtual method 16781: Landroid/widget/TextView;.getAutoSizeStepGranularity ()I
D/dalvikvm: VFY: replacing opcode 0x6e at 0x0163
I/dalvikvm: Could not find method android.text.StaticLayout$Builder.obtain, referenced from method android.support.v7.widget.AppCompatTextViewAutoSizeHelper.createStaticLayoutForMeasuring
W/dalvikvm: VFY: unable to resolve static method 15270: Landroid/text/StaticLayout$Builder;.obtain (Ljava/lang/CharSequence;IILandroid/text/TextPaint;I)Landroid/text/StaticLayout$Builder;
D/dalvikvm: VFY: replacing opcode 0x71 at 0x0014
D/dalvikvm: GC_FOR_ALLOC freed 216K, 9% free 2930K/3204K, paused 4ms, total 11ms
I/dalvikvm-heap: Grow heap (frag case) to 3.522MB for 635808-byte allocation
D/dalvikvm: GC_FOR_ALLOC freed 6K, 8% free 3545K/3828K, paused 2ms, total 2ms
W/dalvikvm: VFY: unable to find class referenced in signature (Landroid/graphics/drawable/Icon;)
I/dalvikvm: Could not find method android.widget.ImageView.setImageIcon, referenced from method android.support.v7.widget.AppCompatImageView.setImageIcon
W/dalvikvm: VFY: unable to resolve virtual method 16518: Landroid/widget/ImageView;.setImageIcon (Landroid/graphics/drawable/Icon;)V
D/dalvikvm: VFY: replacing opcode 0x6f at 0x0000
I/dalvikvm: Could not find method android.widget.Button.getAutoSizeMaxTextSize, referenced from method android.support.v7.widget.AppCompatButton.getAutoSizeMaxTextSize
W/dalvikvm: VFY: unable to resolve virtual method 16339: Landroid/widget/Button;.getAutoSizeMaxTextSize ()I
D/dalvikvm: VFY: replacing opcode 0x6f at 0x0006
I/dalvikvm: Could not find method android.widget.Button.getAutoSizeMinTextSize, referenced from method android.support.v7.widget.AppCompatButton.getAutoSizeMinTextSize
W/dalvikvm: VFY: unable to resolve virtual method 16340: Landroid/widget/Button;.getAutoSizeMinTextSize ()I
D/dalvikvm: VFY: replacing opcode 0x6f at 0x0006
I/dalvikvm: Could not find method android.widget.Button.getAutoSizeStepGranularity, referenced from method android.support.v7.widget.AppCompatButton.getAutoSizeStepGranularity
W/dalvikvm: VFY: unable to resolve virtual method 16341: Landroid/widget/Button;.getAutoSizeStepGranularity ()I
D/dalvikvm: VFY: replacing opcode 0x6f at 0x0006
I/dalvikvm: Could not find method android.widget.Button.getAutoSizeTextAvailableSizes, referenced from method android.support.v7.widget.AppCompatButton.getAutoSizeTextAvailableSizes
W/dalvikvm: VFY: unable to resolve virtual method 16342: Landroid/widget/Button;.getAutoSizeTextAvailableSizes ()[I
D/dalvikvm: VFY: replacing opcode 0x6f at 0x0006
I/dalvikvm: Could not find method android.widget.Button.getAutoSizeTextType, referenced from method android.support.v7.widget.AppCompatButton.getAutoSizeTextType
W/dalvikvm: VFY: unable to resolve virtual method 16343: Landroid/widget/Button;.getAutoSizeTextType ()I
D/dalvikvm: VFY: replacing opcode 0x6f at 0x0007
I/dalvikvm: Could not find method android.widget.Button.setAutoSizeTextTypeUniformWithConfiguration, referenced from method android.support.v7.widget.AppCompatButton.setAutoSizeTextTypeUniformWithConfiguration
W/dalvikvm: VFY: unable to resolve virtual method 16349: Landroid/widget/Button;.setAutoSizeTextTypeUniformWithConfiguration (IIII)V
D/dalvikvm: VFY: replacing opcode 0x6f at 0x0006
I/dalvikvm: Could not find method android.widget.Button.setAutoSizeTextTypeUniformWithPresetSizes, referenced from method android.support.v7.widget.AppCompatButton.setAutoSizeTextTypeUniformWithPresetSizes
W/dalvikvm: VFY: unable to resolve virtual method 16350: Landroid/widget/Button;.setAutoSizeTextTypeUniformWithPresetSizes ([II)V
D/dalvikvm: VFY: replacing opcode 0x6f at 0x0006
I/dalvikvm: Could not find method android.widget.Button.setAutoSizeTextTypeWithDefaults, referenced from method android.support.v7.widget.AppCompatButton.setAutoSizeTextTypeWithDefaults
W/dalvikvm: VFY: unable to resolve virtual method 16351: Landroid/widget/Button;.setAutoSizeTextTypeWithDefaults (I)V
D/dalvikvm: VFY: replacing opcode 0x6f at 0x0006
D/: HostConnection::get() New Host Connection established 0xb8ea3ef0, tid 2542
W/EGL_emulation: eglSurfaceAttrib not implemented
D/OpenGLRenderer: Enabling debug mode 0
W/EGL_emulation: eglSurfaceAttrib not implemented
D/dalvikvm: GC_FOR_ALLOC freed 199K, 7% free 3847K/4108K, paused 3ms, total 3ms
W/System.err: org.json.JSONException: Value <html><body><script of type java.lang.String cannot be converted to JSONObject
at org.json.JSON.typeMismatch(JSON.java:111)
at org.json.JSONObject.<init>(JSONObject.java:159)
at org.json.JSONObject.<init>(JSONObject.java:172)
at com.example.farshid.appand.Getjson.<init>(Getjson.java:26)
at com.example.farshid.appand.MainActivity$1GetURLs.onPostExecute(MainActivity.java:69)
at com.example.farshid.appand.MainActivity$1GetURLs.onPostExecute(MainActivity.java:58)
at android.os.AsyncTask.finish(AsyncTask.java:632)
at android.os.AsyncTask.access$600(AsyncTask.java:177)
at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:645)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5017)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
at dalvik.system.NativeStart.main(Native Method)
W/dalvikvm: threadid=14: thread exiting with uncaught exception (group=0xaf7d7b20)
E/AndroidRuntime: FATAL EXCEPTION: AsyncTask #2
Process: com.example.farshid.appand, PID: 2542
java.lang.RuntimeException: An error occured while executing doInBackground()
at android.os.AsyncTask$3.done(AsyncTask.java:300)
at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:355)
at java.util.concurrent.FutureTask.setException(FutureTask.java:222)
at java.util.concurrent.FutureTask.run(FutureTask.java:242)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
at java.lang.Thread.run(Thread.java:841)
Caused by: java.lang.NullPointerException
at com.example.farshid.appand.Getjson.getAllImages(Getjson.java:49)
at com.example.farshid.appand.MainActivity$1GetImages.doInBackground(MainActivity.java:47)
at com.example.farshid.appand.MainActivity$1GetImages.doInBackground(MainActivity.java:30)
at android.os.AsyncTask$2.call(AsyncTask.java:288)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
at java.lang.Thread.run(Thread.java:841)
W/EGL_emulation: eglSurfaceAttrib not implemented
E/WindowManager: android.view.WindowLeaked: Activity com.example.farshid.appand.MainActivity has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView{afbb9250 V.E..... R......D 0,0-480,243} that was originally added here
at android.view.ViewRootImpl.<init>(ViewRootImpl.java:348)
at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:248)
at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:69)
at android.app.Dialog.show(Dialog.java:286)
at android.app.ProgressDialog.show(ProgressDialog.java:116)
at android.app.ProgressDialog.show(ProgressDialog.java:104)
at com.example.farshid.appand.MainActivity$1GetImages.onPreExecute(MainActivity.java:35)
at android.os.AsyncTask.executeOnExecutor(AsyncTask.java:587)
at android.os.AsyncTask.execute(AsyncTask.java:535)
at com.example.farshid.appand.MainActivity.getImages(MainActivity.java:55)
at com.example.farshid.appand.MainActivity.access$000(MainActivity.java:14)
at com.example.farshid.appand.MainActivity$1GetURLs.onPostExecute(MainActivity.java:70)
at com.example.farshid.appand.MainActivity$1GetURLs.onPostExecute(MainActivity.java:58)
at android.os.AsyncTask.finish(AsyncTask.java:632)
at android.os.AsyncTask.access$600(AsyncTask.java:177)
at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:645)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5017)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
at dalvik.system.NativeStart.main(Native Method)
نقل قول: مشکل در اجرای برنامه آندروید
W/System.err: org.json.JSONException: Value <html><body><script of type java.lang.String cannot be converted to JSONObject
این خط از لاگ رو ببینید.
شما توقع داری که خروجی یک String باشه با فرمت JSON، اما خروجی واقعی کد HTML هست
گرچه در کد PHP خروجی رو به JSON تبدیل میکنی، اما احتمالاً چون هاست رایگان هست، یکسری کدهای Javascript به خروجی اضافه میشه، که اگه در مرورگر اون لینک باز بشه همه چی به درستی کار میکنه، اما اینجا شما همون قسمت HTML رو دریافت میکنی.
بهتره از یه سرویس هاستینگ دیگه استفاده کنی، اگر فقط برای تست هست Heroku گزینهی خوبی هست، اما اگه میخوای واقعاً یک برنامه رو باهاش بالا بیاری، از یه شرکت معتبر هاست بگیر (که هزینهی زیادی هم نداره)
1 ضمیمه
نقل قول: مشکل در اجرای برنامه آندروید
نقل قول:
نوشته شده توسط
Nevercom
W/System.err: org.json.JSONException: Value <html><body><script of type java.lang.String cannot be converted to JSONObject
این خط از لاگ رو ببینید.
شما توقع داری که خروجی یک String باشه با فرمت JSON، اما خروجی واقعی کد HTML هست
گرچه در کد PHP خروجی رو به JSON تبدیل میکنی، اما احتمالاً چون هاست رایگان هست، یکسری کدهای Javascript به خروجی اضافه میشه، که اگه در مرورگر اون لینک باز بشه همه چی به درستی کار میکنه، اما اینجا شما همون قسمت HTML رو دریافت میکنی.
بهتره از یه سرویس هاستینگ دیگه استفاده کنی، اگر فقط برای تست هست Heroku گزینهی خوبی هست، اما اگه میخوای واقعاً یک برنامه رو باهاش بالا بیاری، از یه شرکت معتبر هاست بگیر (که هزینهی زیادی هم نداره)
ضمیمه 148175
دوست عزیز ولی من که آدرس رو میزنم درست نشون میده:
آدرس: http://farshidpc.gigfa.com/getandroidosnames.php?i=1
نمایش:
{"result":[{"AndroidNames":"pc","ImagePath":"http:\/\/farshidpc.gigfa.com\/Images\/01.png"},{"AndroidNames":"mac","ImagePath":"http:\/\/farshidpc.gigfa.com\/Images\/02.png"},{"AndroidNames":"delfi","ImagePath":"http :\/\/farshidpc.gigfa.com\/Images\/03.png"},{"AndroidNames":"photoshop","ImagePath":" http:\/\/farshidpc.gigfa.com\/Images\/04.png"}]}
نقل قول: مشکل در اجرای برنامه آندروید
نقل قول:
نوشته شده توسط
farshid.pc
ضمیمه 148175
دوست عزیز ولی من که آدرس رو میزنم درست نشون میده:
آدرس:
http://farshidpc.gigfa.com/getandroidosnames.php?i=1
نمایش:
{"result":[{"AndroidNames":"pc","ImagePath":"http:\/\/farshidpc.gigfa.com\/Images\/01.png"},{"AndroidNames":"mac","ImagePath":"http:\/\/farshidpc.gigfa.com\/Images\/02.png"},{"AndroidNames":"delfi","ImagePath":"http :\/\/farshidpc.gigfa.com\/Images\/03.png"},{"AndroidNames":"photoshop","ImagePath":" http:\/\/farshidpc.gigfa.com\/Images\/04.png"}]}
دوست عزیز خروجی JSON شما مشکل داره
http://jsonviewer.stack.hu/#http://f...snames.php?i=2
این آدرس را یه نگاه بنداز!
وقتی خروجی میگرید به همراه تگ های html هست
از چه کلاسی برای خروجی استفاده کردید اگر تونستی کد php تون بذارید!
من معمولا اینطوری تست میگیرم البته می تونید با ابزارهای دیگه ای هم کنترل کنید ببنید به صورت صحیح نمایش میده رشته JSON شما رو این سایتی که من گذاشتم نتونست درست لود کنه. البته اینم بگم شاید از مرورگر من باشه شما خودت تست کن ببین نمایش درست میده.! ولی سرویس های خودم را درست نمایش میده من با کروم هم چک کردم اصلا درست نمایش نمیده.!
نقل قول: مشکل در اجرای برنامه آندروید
همونطور که عرض کردم، اگه با مرورگر تست کنید همون نتیجه ای رو بهتون میده که توقع دارید.
بعضی از سایت هایی که هاست رایگان میدن، برای کنترل میزان مصرف و یه سری چیزای دیگه، پلاگین هایی نصب کردن که باعث میشه این اتفاق بیفته. (مثلن اینجا هم همین توضیحات رو داده)
پاسخی که دنبالش هستید اینه: یه سرویس هاستینگ دیگه پیدا کنید که این محدودیت رو نداشته باشه، یا اینکه هاست (یا VPS) رو خریداری کنید که این مشکلات رو نداشته باشید.
نقل قول: مشکل در اجرای برنامه آندروید
نقل قول:
نوشته شده توسط
farhad_shiri_ex
دوست عزیز خروجی JSON شما مشکل داره
http://jsonviewer.stack.hu/#http://f...snames.php?i=2
این آدرس را یه نگاه بنداز!
وقتی خروجی میگرید به همراه تگ های html هست
از چه کلاسی برای خروجی استفاده کردید اگر تونستی کد php تون بذارید!
من معمولا اینطوری تست میگیرم البته می تونید با ابزارهای دیگه ای هم کنترل کنید ببنید به صورت صحیح نمایش میده رشته JSON شما رو این سایتی که من گذاشتم نتونست درست لود کنه. البته اینم بگم شاید از مرورگر من باشه شما خودت تست کن ببین نمایش درست میده.! ولی سرویس های خودم را درست نمایش میده من با کروم هم چک کردم اصلا درست نمایش نمیده.!
ممنون از راهنماییتون
من از هاست غیر رایگان یکی از دوستان استفاده کردم و 2 تا فایلم رو ریختم داخل پوشه myphp داخل public_html.
این دوتا فایل های php هستن:
<?php
$servername = "sbt-upvc.ir"; //replace it with your database server name
$username = "myDB"; //replace it with your database username
$password = "farshid"; //replace it with your database password
$dbname = "sbtupvci_sampleDB";
// Create connection
$con = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
//if (!$con) {
// die("Connection failed: " . mysqli_connect_error());
//}
?>
<?php
require_once('connection.php');
$sql = "SELECT * FROM androidosnames";
$r = mysqli_query($con,$sql);
$result = array();
while($res = mysqli_fetch_array($r)){
array_push($result,array(
"AndroidNames"=>$res['AndroidNames'],
"ImagePath"=>$res['ImagePath']
)
);
}
echo json_encode(array("result"=>$result));
mysqli_close($con);
exit();
?>
حالا نمی دونم چه مشکلی داره خطا میده و کانکت نمیشه
اینم خطای php:
کد HTML:
[16-May-2018 07:01:29 UTC] PHP Warning: mysqli_connect(): (HY000/1045): Access denied for user 'myDB'@'176.9.137.39' (using password: YES) in /home/sbtupvci/public_html/myphp/connection.php on line 7
[16-May-2018 07:01:29 UTC] PHP Warning: mysqli_query() expects parameter 1 to be mysqli, boolean given in /home/sbtupvci/public_html/myphp/getandroidosnames.php on line 4
[16-May-2018 07:01:29 UTC] PHP Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, null given in /home/sbtupvci/public_html/myphp/getandroidosnames.php on line 6
[16-May-2018 07:01:29 UTC] PHP Warning: mysqli_close() expects parameter 1 to be mysqli, boolean given in /home/sbtupvci/public_html/myphp/getandroidosnames.php on line 14
[16-May-2018 07:01:30 UTC] PHP Warning: mysqli_connect(): (HY000/1045): Access denied for user 'myDB'@'176.9.137.39' (using password: YES) in /home/sbtupvci/public_html/myphp/connection.php on line 7
[16-May-2018 07:01:30 UTC] PHP Warning: mysqli_query() expects parameter 1 to be mysqli, boolean given in /home/sbtupvci/public_html/myphp/getandroidosnames.php on line 4
[16-May-2018 07:01:30 UTC] PHP Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, null given in /home/sbtupvci/public_html/myphp/getandroidosnames.php on line 6
[16-May-2018 07:01:30 UTC] PHP Warning: mysqli_close() expects parameter 1 to be mysqli, boolean given in /home/sbtupvci/public_html/myphp/getandroidosnames.php on line 14
[16-May-2018 07:01:43 UTC] PHP Warning: mysqli_connect(): (HY000/1045): Access denied for user 'myDB'@'176.9.137.39' (using password: YES) in /home/sbtupvci/public_html/myphp/connection.php on line 7
[16-May-2018 07:01:43 UTC] PHP Warning: mysqli_query() expects parameter 1 to be mysqli, boolean given in /home/sbtupvci/public_html/myphp/getandroidosnames.php on line 4
[16-May-2018 07:01:43 UTC] PHP Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, null given in /home/sbtupvci/public_html/myphp/getandroidosnames.php on line 6
[16-May-2018 07:01:43 UTC] PHP Warning: mysqli_close() expects parameter 1 to be mysqli, boolean given in /home/sbtupvci/public_html/myphp/getandroidosnames.php on line 14
نقل قول: مشکل در اجرای برنامه آندروید
دوستان ممنون مشکلم حل شد تشکر از همگی :تشویق::تشویق::تشویق::تشویق:: شویق::لبخندساده::لبخندساده: :لبخندساده::لبخندساده: