के साथ प्रगति संवाद मेरे पास 3 कक्षाएं हैं और वेब सेवा सेवा श्रेणी कहा जाता है क्लास Asynctask
और doInBackgrnd()
में मैं यूआरएल पास कर रहा हूं और मुझे webservice से डेटा मिल रहा है। लेकिन मैं इसे VerifyTeacherId नामक किसी अन्य वर्ग की विधि से कॉल कर रहा हूं। अब मैं प्रगति संवाद कैसे दिखा सकता हूं ??? मुझे pg.show और pg.dismiss कहां लिखना चाहिए ??? ???एसिन्टास्क
public class WebServiceClient extends AsyncTask<String, Void, String>
{
private static final String base_path = "http://www.gdaschools.in/";
protected static final String SLASH = "/";
private ProgressDialog dialog;
private Activity activity;
public WebServiceClient(Activity activity) {
this.activity = activity;
this.dialog = new ProgressDialog(activity);
}
@Override
protected void onPreExecute() {
this.dialog.setMessage("Progress start");
this.dialog.show();
}
@Override
protected String doInBackground(String... params) {
StringBuffer sb = new StringBuffer();
sb.append(base_path);
sb.append(params[0]);
HttpRetriever retrieveResponse = new HttpRetriever();
retrieveResponse.retrieve(sb.toString());
return retrieveResponse.getResponseXml();
}
@Override
protected void onPostExecute(String result) {
if (this.dialog.isShowing()) {
this.dialog.dismiss();
}
}
}
और विधि मैं जहां हूं बुला SelectOptionActivity
नामक एक अन्य वर्ग में यह है। विधि है
public void verifyTeacherId(View view)
{
teacherIdString = TeacherId.getText().toString().trim();
clientThread = new WebServiceClient(SelectOptionActivity.this);
clientThread.execute("teacher/" + teacherIdString);
try
{
String xml = clientThread.get();
DocumentBuilderFactory factory1 = DocumentBuilderFactory.newInstance();
factory1.setNamespaceAware(true);
try
{
DocumentBuilder builder = factory1.newDocumentBuilder();
Document doc =builder.parse(new InputSource(new StringReader(xml)));
Element root = doc.getDocumentElement();
if (doc != null)
{
NodeList nl = doc.getElementsByTagName("empId");
if (nl.getLength() > 0)
{
Node node = nl.item(0);
responseTeacherId = node.getTextContent();
}
NodeList n2=doc.getElementsByTagName("empName");
if (n2.getLength() > 0)
{
Node node = n2.item(0);
responseTeacherName = node.getTextContent();
}
}
Toast.makeText(getBaseContext(),""+responseTeacherId,10).show();
}
catch(Exception e)
{
e.printStackTrace();
}
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ExecutionException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
की तरह अब हो रही त्रुटि
05-08 12:10:10.834: D/AndroidRuntime(524): Shutting down VM
05-08 12:10:10.834: W/dalvikvm(524): threadid=1: thread exiting with uncaught exception (group=0x40014760)
05-08 12:10:10.872: E/AndroidRuntime(524): FATAL EXCEPTION: main
05-08 12:10:10.872: E/AndroidRuntime(524): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.GDAProj/com.GDAProj.SelectOptionActivity}: java.lang.NullPointerException
05-08 12:10:10.872: E/AndroidRuntime(524): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1739)
05-08 12:10:10.872: E/AndroidRuntime(524): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1831)
05-08 12:10:10.872: E/AndroidRuntime(524): at android.app.ActivityThread.access$500(ActivityThread.java:122)
05-08 12:10:10.872: E/AndroidRuntime(524): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1024)
05-08 12:10:10.872: E/AndroidRuntime(524): at android.os.Handler.dispatchMessage(Handler.java:99)
05-08 12:10:10.872: E/AndroidRuntime(524): at android.os.Looper.loop(Looper.java:132)
05-08 12:10:10.872: E/AndroidRuntime(524): at android.app.ActivityThread.main(ActivityThread.java:4123)
05-08 12:10:10.872: E/AndroidRuntime(524): at java.lang.reflect.Method.invokeNative(Native Method)
05-08 12:10:10.872: E/AndroidRuntime(524): at java.lang.reflect.Method.invoke(Method.java:491)
05-08 12:10:10.872: E/AndroidRuntime(524): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841)
05-08 12:10:10.872: E/AndroidRuntime(524): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599)
05-08 12:10:10.872: E/AndroidRuntime(524): at dalvik.system.NativeStart.main(Native Method)
05-08 12:10:10.872: E/AndroidRuntime(524): Caused by: java.lang.NullPointerException
05-08 12:10:10.872: E/AndroidRuntime(524): at android.content.ContextWrapper.getApplicationInfo(ContextWrapper.java:132)
05-08 12:10:10.872: E/AndroidRuntime(524): at android.view.ContextThemeWrapper.getTheme(ContextThemeWrapper.java:65)
05-08 12:10:10.872: E/AndroidRuntime(524): at android.app.AlertDialog.resolveDialogTheme(AlertDialog.java:120)
05-08 12:10:10.872: E/AndroidRuntime(524): at android.app.AlertDialog.<init>(AlertDialog.java:80)
05-08 12:10:10.872: E/AndroidRuntime(524): at android.app.ProgressDialog.<init>(ProgressDialog.java:76)
05-08 12:10:10.872: E/AndroidRuntime(524): at com.GDAProj.WebServiceClient.<init>(WebServiceClient.java:20)
05-08 12:10:10.872: E/AndroidRuntime(524): at com.GDAProj.SelectOptionActivity.<init>(SelectOptionActivity.java:70)
05-08 12:10:10.872: E/AndroidRuntime(524): at java.lang.Class.newInstanceImpl(Native Method)
05-08 12:10:10.872: E/AndroidRuntime(524): at java.lang.Class.newInstance(Class.java:1301)
05-08 12:10:10.872: E/AndroidRuntime(524): at android.app.Instrumentation.newActivity(Instrumentation.java:1022)
05-08 12:10:10.872: E/AndroidRuntime(524): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1730)
05-08 12:10:10.872: E/AndroidRuntime(524): ... 11 more
+1 मैं इस समाधान के साथ जाऊंगा। –
महोदय, मैं इसे विभिन्न गतिविधियों से कॉल करना चाहता हूं। तो क्या यह WebServiceClient क्लाइंट थ्रेड = नया वेब सेवा क्लाइंट (SelectOptionActivity.this) जैसे कॉल करने का सही तरीका है; क्योंकि मुझे फिर से त्रुटि मिल रही है – samir
@ user370305 सर ने त्रुटि पोस्ट की है। Plz मदद – samir