Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android在将图像上载到web服务器时引发空点异常_Java_Php_Android_File Upload - Fatal编程技术网

Java Android在将图像上载到web服务器时引发空点异常

Java Android在将图像上载到web服务器时引发空点异常,java,php,android,file-upload,Java,Php,Android,File Upload,我正在对单击的项目调用uploadFile gridView.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View v, int position, long id) { ImageItem item = (ImageItem)

我正在对单击的项目调用uploadFile

gridView.setOnItemClickListener(new OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View v,
                int position, long id) {
            ImageItem item = (ImageItem) parent.getAdapter().getItem(position);
            Toast.makeText(MainActivity.this,item.getAddress(),
                    Toast.LENGTH_LONG).show();
            uploadFile(item.getAddress());
        }
    });
PHP代码是

<?php

    $file_path = "uploads/";

    $file_path = $file_path . basename( $_FILES['uploaded_file']['name']);
    if(move_uploaded_file($_FILES['uploaded_file']['tmp_name'], $file_path)) {
        echo "success";
    } else{
        echo "fail";
    }
 ?>

提前谢谢

因为这一行,你得到了一个
NPE

ProgressDialog dialog = null;
似乎您从未初始化
对话框
,因此当您对其调用
dismise()
时,它会抛出一个
NPE
。在对其调用方法之前,需要对其进行初始化。我猜您可能想在
UI线程的
内部运行nuithread()
或其他地方


另外,我看不到您是如何在后台
线程上运行任何代码的,因此不需要您拥有的
runOnUiThread()
s。但是,您应该在后台
线程上运行网络代码

我认为您缺少了一些日志猫。此代码与日志文件的例外情况没有关系。在我得到错误的地方大致是
main activity
?dialog.disease()的第217行;它在挡块里面。你说得对。我删除了所有对话框,然后得到了android.os.NetworkOnMainThreadException,然后使用strictmode,您应该在后台线程上运行下载,请参见
Asynctask
    12-19 05:59:32.582: E/AndroidRuntime(1896): java.lang.NullPointerException
12-19 05:59:32.582: E/AndroidRuntime(1896):     at com.javatechig.gridview.MainActivity.uploadFile(MainActivity.java:217)
12-19 05:59:32.582: E/AndroidRuntime(1896):     at com.javatechig.gridview.MainActivity$1.onItemClick(MainActivity.java:51)
    12-19 05:59:32.582: E/AndroidRuntime(1896):     at android.widget.AdapterView.performItemClick(AdapterView.java:301)
    12-19 05:59:32.582: E/AndroidRuntime(1896):     at android.widget.AbsListView.performItemClick(AbsListView.java:1584)
    12-19 05:59:32.582: E/AndroidRuntime(1896):     at android.widget.AbsListView$PerformClick.run(AbsListView.java:3399)
    12-19 05:59:32.582: E/AndroidRuntime(1896):     at android.widget.AbsListView$1.run(AbsListView.java:4653)
    12-19 05:59:32.582: E/AndroidRuntime(1896):     at android.os.Handler.handleCallback(Handler.java:725)
    12-19 05:59:32.582: E/AndroidRuntime(1896):     at android.os.Handler.dispatchMessage(Handler.java:92)
    12-19 05:59:32.582: E/AndroidRuntime(1896):     at android.os.Looper.loop(Looper.java:175)
    12-19 05:59:32.582: E/AndroidRuntime(1896):     at android.app.ActivityThread.main(ActivityThread.java:5279)
    12-19 05:59:32.582: E/AndroidRuntime(1896):     at java.lang.reflect.Method.invokeNative(Native Method)
    12-19 05:59:32.582: E/AndroidRuntime(1896):     at java.lang.reflect.Method.invoke(Method.java:511)
    12-19 05:59:32.582: E/AndroidRuntime(1896):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102)
    12-19 05:59:32.582: E/AndroidRuntime(1896):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869)
    12-19 05:59:32.582: E/AndroidRuntime(1896):     at dalvik.system.NativeStart.main(Native Method)
ProgressDialog dialog = null;