App Crashing using Android Studio, Sunshine App, cant get the concept of AsynTask -
i m particularly new in programming, , not getting figure out error, whenever run it, either on emulator or on mobile, says, app has stopped working. please me figure out thanx in advance
main activity
package com.example.android.sunshine.app; import android.annotation.targetapi; import android.support.v4.app.fragment; import android.os.build; import android.os.bundle; import android.support.v7.app.appcompatactivity; import android.util.log; import android.view.layoutinflater; import android.view.menu; import android.view.menuitem; import android.view.view; import android.view.viewgroup; import android.widget.arrayadapter; import android.widget.listview; import android.widget.textview; import java.io.bufferedreader; import java.io.ioexception; import java.io.inputstream; import java.io.inputstreamreader; import java.net.httpurlconnection; import java.net.url; import java.util.arraylist; import java.util.arrays; import java.util.list; public class mainactivity extends appcompatactivity { @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); if (savedinstancestate == null){ getsupportfragmentmanager().begintransaction() .add(r.id.container, new forecastfragment()) .commit(); } } @override public boolean oncreateoptionsmenu(menu menu) { // inflate menu; adds items action bar if present. getmenuinflater().inflate(r.menu.main, menu); return true; } @override public boolean onoptionsitemselected(menuitem item) { // handle action bar item clicks here. action bar // automatically handle clicks on home/up button, long // specify parent activity in androidmanifest.xml. int id = item.getitemid(); //noinspection simplifiableifstatement if (id == r.id.action_settings) { return true; } return super.onoptionsitemselected(item); } } forecastfragement
package com.example.android.sunshine.app; import android.os.asynctask; import android.os.bundle; import android.support.v4.app.fragment; import android.util.log; import android.view.layoutinflater; import android.view.view; import android.view.viewgroup; import android.widget.arrayadapter; import android.widget.listview; import java.io.bufferedreader; import java.io.ioexception; import java.io.inputstream; import java.io.inputstreamreader; import java.net.httpurlconnection; import java.net.url; import java.util.arraylist; import java.util.arrays; import java.util.list; /** * created nabahat on 7/8/2015. */ public class forecastfragment extends fragment { public forecastfragment(){} @override public view oncreateview(layoutinflater inflater, viewgroup container, bundle savedinstancestate) { view rootview = inflater.inflate(r.layout.fragment_main, container, false); string[] forecastarray = { "today - sunny - 88/63", "tomorrow - foggy - 70/40", "weds - cloudy - 72/63", "thurs - asteroids - 75/65", "fri - heavy rain - 65/56", "sat - trapped in weatherstation - 60/51", "sun - sunny - 80/68" }; list<string> weekforecast = new arraylist<string>( arrays.aslist(forecastarray)); arrayadapter<string> mforecastadapter = new arrayadapter<string>( getactivity(), r.layout.list_item_forecast, r.id.list_item_forecast_textview, weekforecast); listview listview = (listview) rootview.findviewbyid(r.id.listview_forecast); listview.setadapter(mforecastadapter); return rootview; } public class fetchweathertask extends asynctask<void, void, void> { private final string log_tag = fetchweathertask.class.getsimplename(); @override protected void doinbackground(void... params){ httpurlconnection urlconnection = null; bufferedreader reader = null; string forecastjsonstr = null; try { url url = new url("http://api.openweathermap.org/data/2.5/forecast/daily?q=94043&mode=json&units=metric&cnt=7"); urlconnection = (httpurlconnection) url.openconnection(); urlconnection.setrequestmethod("get"); urlconnection.connect(); inputstream inputstream = urlconnection.getinputstream(); stringbuffer buffer = new stringbuffer(); if (inputstream == null) { return null; } reader = new bufferedreader(new inputstreamreader(inputstream)); string line; while ((line = reader.readline()) != null) { buffer.append(line + "\n"); } if (buffer.length() == 0) { return null; } forecastjsonstr = buffer.tostring(); } catch (ioexception e) { log.e(log_tag, "error ", e); return null; } finally{ if (urlconnection != null) { urlconnection.disconnect(); } if (reader != null) { try { reader.close(); } catch (final ioexception e) { log.e(log_tag, "error closing stream", e); } } } return null; } } } activity_main.xml
<fragment xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/fragment" android:name="com.example.android.sunshine.app.mainactivity" tools:layout="@layout/fragment_main" android:layout_width="match_parent" android:layout_height="match_parent" /> androidmanifest
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.android.sunshine.app" > <application android:allowbackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:theme="@style/apptheme" > <activity android:name=".mainactivity" 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> fragment_main.xml
<framelayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingleft="64dp" android:paddingright="64dp" android:paddingtop="@dimen/activity_vertical_margin" android:paddingbottom="@dimen/activity_vertical_margin" tools:context="com.example.sunshine.app.mainactivityfragment$placeholderfragment" android:id="@+id/container"> <listview android:id="@+id/listview_forecast" android:layout_width="match_parent" android:layout_height="match_parent" /> </framelayout> here log
02-04 07:12:41.022 11478-11478/? e/libegl﹕ call opengl es api no current context (logged once per thread) 02-04 07:17:25.447 12449-12449/? e/trace﹕ error opening trace file: no such file or directory (2) 02-04 07:17:27.697 12474-12474/? e/trace﹕ error opening trace file: no such file or directory (2) 02-04 07:17:28.202 12492-12492/? e/trace﹕ error opening trace file: no such file or directory (2) 02-04 07:17:28.313 12506-12506/? e/trace﹕ error opening trace file: no such file or directory (2) 02-04 07:17:28.457 12524-12524/? e/trace﹕ error opening trace file: no such file or directory (2) 02-04 07:17:28.706 12547-12547/? e/trace﹕ error opening trace file: no such file or directory (2) 02-04 07:17:28.802 12547-12553/? e/jdwp﹕ failed sending reply debugger: broken pipe 02-04 07:17:28.853 12547-12547/? e/androidruntime﹕ fatal exception: main java.lang.runtimeexception: unable start activity componentinfo{com.example.android.sunshine.app/com.example.android.sunshine.app.mainactivity}: android.view.inflateexception: binary xml file line #2: error inflating class fragment @ android.app.activitythread.performlaunchactivity(activitythread.java:2351) @ android.app.activitythread.handlelaunchactivity(activitythread.java:2403) @ android.app.activitythread.access$600(activitythread.java:165) @ android.app.activitythread$h.handlemessage(activitythread.java:1373) @ android.os.handler.dispatchmessage(handler.java:107) @ android.os.looper.loop(looper.java:194) @ android.app.activitythread.main(activitythread.java:5370) @ java.lang.reflect.method.invokenative(native method) @ java.lang.reflect.method.invoke(method.java:525) @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:833) @ com.android.internal.os.zygoteinit.main(zygoteinit.java:600) @ dalvik.system.nativestart.main(native method) caused by: android.view.inflateexception: binary xml file line #2: error inflating class fragment @ android.view.layoutinflater.createviewfromtag(layoutinflater.java:704) @ android.view.layoutinflater.inflate(layoutinflater.java:466) @ android.view.layoutinflater.inflate(layoutinflater.java:396) @ android.view.layoutinflater.inflate(layoutinflater.java:352) @ android.support.v7.app.appcompatdelegateimplv7.setcontentview(appcompatdelegateimplv7.java:249) @ android.support.v7.app.appcompatactivity.setcontentview(appcompatactivity.java:106) @ com.example.android.sunshine.app.mainactivity.oncreate(mainactivity.java:34) @ android.app.activity.performcreate(activity.java:5122) @ android.app.instrumentation.callactivityoncreate(instrumentation.java:1146) @ android.app.activitythread.performlaunchactivity(activitythread.java:2315) at android.app.activitythread.handlelaunchactivity(activitythread.java:2403) at android.app.activitythread.access$600(activitythread.java:165) at android.app.activitythread$h.handlemessage(activitythread.java:1373) at android.os.handler.dispatchmessage(handler.java:107) at android.os.looper.loop(looper.java:194) at android.app.activitythread.main(activitythread.java:5370) at java.lang.reflect.method.invokenative(native method) at java.lang.reflect.method.invoke(method.java:525) at com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:833) at com.android.internal.os.zygoteinit.main(zygoteinit.java:600) at dalvik.system.nativestart.main(native method) caused by: java.lang.classcastexception: com.example.android.sunshine.app.mainactivity cannot cast android.app.fragment @ android.app.fragment.instantiate(fragment.java:585) @ android.app.fragment.instantiate(fragment.java:560) @ android.app.activity.oncreateview(activity.java:4727) @ android.support.v7.app.appcompatdelegateimplv11.callactivityoncreateview(appcompatdelegateimplv11.java:41) @ android.support.v7.app.appcompatdelegateimplv7.oncreateview(appcompatdelegateimplv7.java:826) @ android.support.v4.view.layoutinflatercompathc$factorywrapperhc.oncreateview(layoutinflatercompathc.java:44) @ android.view.layoutinflater.createviewfromtag(layoutinflater.java:675) at android.view.layoutinflater.inflate(layoutinflater.java:466) at android.view.layoutinflater.inflate(layoutinflater.java:396) at android.view.layoutinflater.inflate(layoutinflater.java:352) at android.support.v7.app.appcompatdelegateimplv7.setcontentview(appcompatdelegateimplv7.java:249) at android.support.v7.app.appcompatactivity.setcontentview(appcompatactivity.java:106) at com.example.android.sunshine.app.mainactivity.oncreate(mainactivity.java:34) at android.app.activity.performcreate(activity.java:5122) at android.app.instrumentation.callactivityoncreate(instrumentation.java:1146) at android.app.activitythread.performlaunchactivity(activitythread.java:2315) at android.app.activitythread.handlelaunchactivity(activitythread.java:2403) at android.app.activitythread.access$600(activitythread.java:165) at android.app.activitythread$h.handlemessage(activitythread.java:1373) at android.os.handler.dispatchmessage(handler.java:107) at android.os.looper.loop(looper.java:194) at android.app.activitythread.main(activitythread.java:5370) at java.lang.reflect.method.invokenative(native method) at java.lang.reflect.method.invoke(method.java:525) at com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:833) at com.android.internal.os.zygoteinit.main(zygoteinit.java:600) at dalvik.system.nativestart.main(native method) 02-04 07:17:29.027 12563-12563/? e/trace﹕ error opening trace file: no such file or directory (2) 02-04 07:17:29.361 12580-12580/? e/trace﹕ error opening trace file: no such file or directory (2) 02-04 07:17:29.550 12599-12599/? e/trace﹕ error opening trace file: no such file or directory (2) 02-04 07:17:29.609 12612-12612/? e/trace﹕ error opening trace file: no such file or directory (2) 02-04 07:17:32.472 12639-12639/? e/trace﹕ error opening trace file: no such file or directory (2) 02-04 07:17:34.982 493-511/? e/keyguardupdatemonitor﹕ object tried add callback java.lang.exception: called @ com.android.internal.policy.impl.keyguard.keyguardupdatemonitor.registercallback(keyguardupdatemonitor.java:1108) @ com.android.internal.policy.impl.keyguard.keyguardselectorview.onresume(keyguardselectorview.java:331) @ com.android.internal.policy.impl.keyguard.keyguardhostview.onscreenturnedon(keyguardhostview.java:1118) @ com.android.internal.policy.impl.keyguard.keyguardviewmanager.onscreenturnedon(keyguardviewmanager.java:403) @ com.android.internal.policy.impl.keyguard.keyguardviewmediator.handlenotifyscreenon(keyguardviewmediator.java:1813) @ com.android.internal.policy.impl.keyguard.keyguardviewmediator.access$2400(keyguardviewmediator.java:106) @ com.android.internal.policy.impl.keyguard.keyguardviewmediator$4.handlemessage(keyguardviewmediator.java:1449) @ android.os.handler.dispatchmessage(handler.java:107) @ android.os.looper.loop(looper.java:194) @ android.os.handlerthread.run(handlerthread.java:60) 02-04 07:17:35.083 120-1870/? e/audiomtkhardware﹕ setcommonparameters() still have param.size() = 1, remain param = "screen_state=on" 02-04 07:17:41.110 12672-12672/com.example.android.sunshine.app e/trace﹕ error opening trace file: no such file or directory (2) 02-04 07:17:41.247 12672-12672/com.example.android.sunshine.app e/androidruntime﹕ fatal exception: main java.lang.runtimeexception: unable start activity componentinfo{com.example.android.sunshine.app/com.example.android.sunshine.app.mainactivity}: android.view.inflateexception: binary xml file line #2: error inflating class fragment @ android.app.activitythread.performlaunchactivity(activitythread.java:2351) @ android.app.activitythread.handlelaunchactivity(activitythread.java:2403) @ android.app.activitythread.access$600(activitythread.java:165) @ android.app.activitythread$h.handlemessage(activitythread.java:1373) @ android.os.handler.dispatchmessage(handler.java:107) @ android.os.looper.loop(looper.java:194) @ android.app.activitythread.main(activitythread.java:5370) @ java.lang.reflect.method.invokenative(native method) @ java.lang.reflect.method.invoke(method.java:525) @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:833) @ com.android.internal.os.zygoteinit.main(zygoteinit.java:600) @ dalvik.system.nativestart.main(native method) caused by: android.view.inflateexception: binary xml file line #2: error inflating class fragment @ android.view.layoutinflater.createviewfromtag(layoutinflater.java:704) @ android.view.layoutinflater.inflate(layoutinflater.java:466) @ android.view.layoutinflater.inflate(layoutinflater.java:396) @ android.view.layoutinflater.inflate(layoutinflater.java:352) @ android.support.v7.app.appcompatdelegateimplv7.setcontentview(appcompatdelegateimplv7.java:249) @ android.support.v7.app.appcompatactivity.setcontentview(appcompatactivity.java:106) @ com.example.android.sunshine.app.mainactivity.oncreate(mainactivity.java:34) @ android.app.activity.performcreate(activity.java:5122) @ android.app.instrumentation.callactivityoncreate(instrumentation.java:1146) @ android.app.activitythread.performlaunchactivity(activitythread.java:2315) at android.app.activitythread.handlelaunchactivity(activitythread.java:2403) at android.app.activitythread.access$600(activitythread.java:165) at android.app.activitythread$h.handlemessage(activitythread.java:1373) at android.os.handler.dispatchmessage(handler.java:107) at android.os.looper.loop(looper.java:194) at android.app.activitythread.main(activitythread.java:5370) at java.lang.reflect.method.invokenative(native method) at java.lang.reflect.method.invoke(method.java:525) at com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:833) at com.android.internal.os.zygoteinit.main(zygoteinit.java:600) at dalvik.system.nativestart.main(native method) caused by: java.lang.classcastexception: com.example.android.sunshine.app.mainactivity cannot cast android.app.fragment @ android.app.fragment.instantiate(fragment.java:585) @ android.app.fragment.instantiate(fragment.java:560) @ android.app.activity.oncreateview(activity.java:4727) @ android.support.v7.app.appcompatdelegateimplv11.callactivityoncreateview(appcompatdelegateimplv11.java:41) @ android.support.v7.app.appcompatdelegateimplv7.oncreateview(appcompatdelegateimplv7.java:826) @ android.support.v4.view.layoutinflatercompathc$factorywrapperhc.oncreateview(layoutinflatercompathc.java:44) @ android.view.layoutinflater.createviewfromtag(layoutinflater.java:675) at android.view.layoutinflater.inflate(layoutinflater.java:466) at android.view.layoutinflater.inflate(layoutinflater.java:396) at android.view.layoutinflater.inflate(layoutinflater.java:352) at android.support.v7.app.appcompatdelegateimplv7.setcontentview(appcompatdelegateimplv7.java:249) at android.support.v7.app.appcompatactivity.setcontentview(appcompatactivity.java:106) at com.example.android.sunshine.app.mainactivity.oncreate(mainactivity.java:34) at android.app.activity.performcreate(activity.java:5122) at android.app.instrumentation.callactivityoncreate(instrumentation.java:1146) at android.app.activitythread.performlaunchactivity(activitythread.java:2315) at android.app.activitythread.handlelaunchactivity(activitythread.java:2403) at android.app.activitythread.access$600(activitythread.java:165) at android.app.activitythread$h.handlemessage(activitythread.java:1373) at android.os.handler.dispatchmessage(handler.java:107) at android.os.looper.loop(looper.java:194) at android.app.activitythread.main(activitythread.java:5370) at java.lang.reflect.method.invokenative(native method) at java.lang.reflect.method.invoke(method.java:525) at com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:833) at com.android.internal.os.zygoteinit.main(zygoteinit.java:600) at dalvik.system.nativestart.main(native method) 02-04 07:17:41.285 493-513/? e/apperrordialog﹕ failed ilowstoragehandle instance 02-04 07:17:45.682 120-438/? e/﹕ audioclosedumppcmfile file== null 02-04 07:17:45.682 120-438/? e/﹕ audioclosedumppcmfile file== null 02-04 07:17:50.354 645-645/? e/wpa_supplicant﹕ sorted scan results 02-04 07:17:50.354 645-645/? e/wpa_supplicant﹕ f4:3e:61:92:4b:21 freq=2462 qual=0 noise=0 level=-83 flags=0xb 02-04 07:17:50.354 645-645/? e/wpa_supplicant﹕ ies 02-04 07:17:50.354 645-645/? e/wpa_supplicant﹕
the issue in main activity_main.xml have used fragment tag loads required fragment, but have used wrong name of fragment. have used android:name="com.example.android.sunshine.app.mainactivity" should use android:name="com.example.android.sunshine.app.forecastfragment
since doing in xml remove transaction code written inside oncreate().
it has nothing async task
Comments
Post a Comment