【问题标题】:The erroneous line is blank as per the LogCat. What do I do?根据 LogCat,错误行是空白的。我该怎么办?
【发布时间】:2014-04-03 08:35:39
【问题描述】:

以下是我为理解和练习 AsyncTask 的工作而编写的第一个程序。它是一个程序,它在工作线程中从 Internet 下载图像并将其显示在主线程的图像视图中。 根据我阅读 LogCats 的有限知识,我检查了 LogCat 并找到了“Caused by: ClassNotFoundException...”这个短语,然后我最终得出结论,它位于第 56 行。

1.首先,请告诉我我阅读LogCat是否正确?如果是这样,第 56 行为空白:-S

  1. 其次,请告诉我您认为这个应用程序有什么问题? 提前谢谢你。

    UsingAsyncTask.java:-

    package com.example.concurrency;
    
    import java.io.InputStream;
    import java.net.URL;
    
    import android.app.Activity;
    import android.graphics.Bitmap;
    import android.graphics.BitmapFactory;
    import android.os.AsyncTask;
    import android.os.Bundle;
    import android.widget.ImageView;
    
    public class UsingAsyncTask extends Activity {
    ImageView imageView;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.using_asynctask); 
        String spec="http://www.google.com/imgres?imgurl=http%3A%2F%2Fupload.wikimedia.org%2Fwikipedia%2Fcommons%2F7%2F7a%2FBasketball.png&imgrefurl=http%3A%2F%2Fcommons.wikimedia.org%2Fwiki%2FFile%3ABasketball.png&h=340&w=340&tbnid=EJmjEDyJzrhAuM%3A&zoom=1&docid=C_hn8nOgsGmuwM&hl=en&ei=Q0o2U93LNcaIygH4mICQBQ&tbm=isch&ved=0CHwQhBwwBg&iact=rc&dur=3875&page=1&start=0&ndsp=14";
        URL params = null;
        try {params= new URL(spec);} catch(Exception e) {}
        //Bitmap result;
        new MyTask().execute(params);
        imageView= new ImageView(null);
    }
    //03015583738
    
    private class MyTask extends AsyncTask<URL, Void, Bitmap> {
    
        private Bitmap loadImageFromNetwork(String url){
            try {
            Bitmap bitmap = BitmapFactory.decodeStream((InputStream)new URL(url).getContent());
            return bitmap;
            } catch (Exception e) {
            e.printStackTrace();
            }
            return null;
        }
    
        /*protected void onPreExecute() {
    
        }*/
    
    
        protected Bitmap doInBackground(URL... params){
            //if(isCancelled()) return;
            String url=params[0].toString();
            final Bitmap bitmap= loadImageFromNetwork(url);
            return bitmap;
        }
    
        /*protected void onProgressUpdate(Progress progress){
            setProgressPercent(progress[0]);
        }*/
    
        protected void onPostExecute(Bitmap result){
            imageView.setImageBitmap(result);
        }
    
    }
    
    }
    

LogCat:-

04-03 05:17:21.752: D/AndroidRuntime(1447): Shutting down VM
04-03 05:17:21.752: W/dalvikvm(1447): threadid=1: thread exiting with uncaught exception 

(group=0xb1ab2ba8)
04-03 05:17:21.782: E/AndroidRuntime(1447): FATAL EXCEPTION: main
04-03 05:17:21.782: E/AndroidRuntime(1447): Process: com.example.concurrency, PID: 1447
04-03 05:17:21.782: E/AndroidRuntime(1447): java.lang.RuntimeException: Unable to 

instantiate activity ComponentInfo

{com.example.concurrency/com.example.concurrency.UsingAsyncTask.java}: 

java.lang.ClassNotFoundException: Didn't find class 

"com.example.concurrency.UsingAsyncTask.java" on path: DexPathList[[zip file 

"/data/app/com.example.concurrency-1.apk"],nativeLibraryDirectories=[/data/app-

lib/com.example.concurrency-1, /system/lib]]
04-03 05:17:21.782: E/AndroidRuntime(1447):     at 

android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2121)
04-03 05:17:21.782: E/AndroidRuntime(1447):     at 

android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
04-03 05:17:21.782: E/AndroidRuntime(1447):     at android.app.ActivityThread.access$800

(ActivityThread.java:135)
04-03 05:17:21.782: E/AndroidRuntime(1447):     at android.app.ActivityThread

$H.handleMessage(ActivityThread.java:1196)
04-03 05:17:21.782: E/AndroidRuntime(1447):     at android.os.Handler.dispatchMessage

(Handler.java:102)
04-03 05:17:21.782: E/AndroidRuntime(1447):     at android.os.Looper.loop(Looper.java:136)
04-03 05:17:21.782: E/AndroidRuntime(1447):     at android.app.ActivityThread.main

(ActivityThread.java:5017)
04-03 05:17:21.782: E/AndroidRuntime(1447):     at java.lang.reflect.Method.invokeNative

(Native Method)
04-03 05:17:21.782: E/AndroidRuntime(1447):     at java.lang.reflect.Method.invoke

(Method.java:515)
04-03 05:17:21.782: E/AndroidRuntime(1447):     at com.android.internal.os.ZygoteInit

$MethodAndArgsCaller.run(ZygoteInit.java:779)
04-03 05:17:21.782: E/AndroidRuntime(1447):     at com.android.internal.os.ZygoteInit.main

(ZygoteInit.java:595)
04-03 05:17:21.782: E/AndroidRuntime(1447):     at dalvik.system.NativeStart.main(Native 

Method)
04-03 05:17:21.782: E/AndroidRuntime(1447): Caused by: java.lang.ClassNotFoundException: 

Didn't find class "com.example.concurrency.UsingAsyncTask.java" on path: DexPathList[[zip 

file "/data/app/com.example.concurrency-1.apk"],nativeLibraryDirectories=[/data/app-

lib/com.example.concurrency-1, /system/lib]]
04-03 05:17:21.782: E/AndroidRuntime(1447):     at 

dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
04-03 05:17:21.782: E/AndroidRuntime(1447):     at java.lang.ClassLoader.loadClass

(ClassLoader.java:497)
04-03 05:17:21.782: E/AndroidRuntime(1447):     at java.lang.ClassLoader.loadClass

(ClassLoader.java:457)
04-03 05:17:21.782: E/AndroidRuntime(1447):     at android.app.Instrumentation.newActivity

(Instrumentation.java:1061)
04-03 05:17:21.782: E/AndroidRuntime(1447):     at 

android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2112)
04-03 05:17:21.782: E/AndroidRuntime(1447):     ... 11 more
04-03 05:17:26.782: I/Process(1447): Sending signal. PID: 1447 SIG: 9

清单文件:-

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.concurrency"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-permission android:name="android.permission.INTERNET"></uses-permission>

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="19" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.example.concurrency.UsingAsyncTask"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

【问题讨论】:

    标签: android eclipse android-asynctask classnotfoundexception android-logcat


    【解决方案1】:

    AndroidManifest.xml 中的启动器活动名称更改为.UsingAsyncTask。目前是MainActivity,好像不见了。

    此外,当 LogCat 中提到该行时,您不必手动查找该行。只需双击 Eclipse 的 LogCat 视图中的右侧行,就会自动跳转到代码中的相应行。

    【讨论】:

    • 除了 LogCat 中的类名之外没有任何变化。我正在更新问题中的 LogCat。
    猜你喜欢
    • 2021-08-06
    • 1970-01-01
    • 2012-04-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-01
    • 1970-01-01
    • 2021-04-27
    相关资源
    最近更新 更多