Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/328.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应用程序时出错_Java_Android_Classcastexception - Fatal编程技术网

Java 创建Android应用程序时出错

Java 创建Android应用程序时出错,java,android,classcastexception,Java,Android,Classcastexception,原因:java.lang.ClassCastException:com.android.okhttp.internal.huc 当您试图将对象强制转换为实际不在中的类型时,将引发ClassCastException。我认为WeatherHttpClient是您编写的类。因此,如果您在这个类中进行类转换,您应该在转换之前执行检查的实例 如果您可以发布WeatherHttpClient类的主体,我可以提供更多详细信息 您是否正在使用volley库进行网络呼叫 FATAL EXCEPTION: Asy

原因:java.lang.ClassCastException:com.android.okhttp.internal.huc

当您试图将对象强制转换为实际不在中的类型时,将引发ClassCastException。我认为
WeatherHttpClient
是您编写的类。因此,如果您在这个类中进行类转换,您应该在转换之前执行
检查的
实例

如果您可以发布
WeatherHttpClient
类的主体,我可以提供更多详细信息

您是否正在使用volley库进行网络呼叫

FATAL EXCEPTION: AsyncTask #1
Process: com.example.elangocandy.weatherapp, PID: 2764
java.lang.RuntimeException: An error occurred while executing doInBackground()
at android.os.AsyncTask$3.done(AsyncTask.java:309)
at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:354)
at java.util.concurrent.FutureTask.setException(FutureTask.java:223)
at java.util.concurrent.FutureTask.run(FutureTask.java:242)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:234)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
at java.lang.Thread.run(Thread.java:818)
Caused by: java.lang.ClassCastException: com.android.okhttp.internal.huc

}

用模型类交叉检查您的响应您在哪里初始化天气对象?这可能就是问题所在,我已经发布了WeatherHttpClient的主体。显然,
WeatherHttpClient
类还可以。我不能再作评论了,因为你的问题不太清楚。这可能是
JSONWeatherParser
类或weather对象中的问题。你要做的是调试应用程序并找出错误的原因。或者不熟悉调试的用户只保留
字符串数据=((new WeatherHttpClient()).getWeatherData(params[0])行并从
doInBackground
方法中删除所有其他行并检查。通过逐个添加其他行来继续此操作。
FATAL EXCEPTION: AsyncTask #1
Process: com.example.elangocandy.weatherapp, PID: 2764
java.lang.RuntimeException: An error occurred while executing doInBackground()
at android.os.AsyncTask$3.done(AsyncTask.java:309)
at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:354)
at java.util.concurrent.FutureTask.setException(FutureTask.java:223)
at java.util.concurrent.FutureTask.run(FutureTask.java:242)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:234)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
at java.lang.Thread.run(Thread.java:818)
Caused by: java.lang.ClassCastException: com.android.okhttp.internal.huc
public class WeatherHttpClient {
public String getWeatherData(String place){
    HttpsURLConnection connection=null;
    InputStream inputStream=null;

    try {
        connection = (HttpsURLConnection)(new URL(Utils.BASE_URL + place)).openConnection();
        connection.setRequestMethod("GET");
        connection.setDoInput(true);
        connection.setDoOutput(true);
        connection.connect();

        //Read the Response
        StringBuffer stringBuffer=new StringBuffer();
        inputStream=connection.getInputStream();
        BufferedReader bufferedReader=new BufferedReader(new InputStreamReader(inputStream));
        String line=null;

        while ((line=bufferedReader.readLine()) != null){
            stringBuffer.append(line + "\r\n");
        }
        inputStream.close();
        connection.disconnect();

         return stringBuffer.toString();
    } catch (IOException e) {
        e.printStackTrace();
    }
      return null;
}