Android中未处理的异常
好了,伙计们,我是安卓的新手。我正在开发一个登录页面,将用户登录到后端服务器。我正在使用的后端服务是Parse。因此,当我在onclick方法中包含一些代码来写入数据时,我会得到一个错误,显示存在未处理的异常 以下是页面的xml文件:Android中未处理的异常,android,exception,exception-handling,unhandled,Android,Exception,Exception Handling,Unhandled,好了,伙计们,我是安卓的新手。我正在开发一个登录页面,将用户登录到后端服务器。我正在使用的后端服务是Parse。因此,当我在onclick方法中包含一些代码来写入数据时,我会得到一个错误,显示存在未处理的异常 以下是页面的xml文件: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" andro
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/acchead"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:gravity="center"
android:text="Create a FFOD account"
android:textSize="25dp" />
<EditText
android:id="@+id/fnameffod"
android:layout_width="180dp"
android:layout_height="wrap_content"
android:layout_marginLeft="120dp"
android:layout_marginTop="40dp" />
<TextView
android:id="@+id/lname"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_marginTop="100dp"
android:gravity="center"
android:text="Last Name"
android:textSize="20dp" />
<EditText
android:id="@+id/lnameffod"
android:layout_width="180dp"
android:layout_height="wrap_content"
android:layout_marginLeft="120dp"
android:layout_marginTop="90dp" />
<TextView
android:id="@+id/uname"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/userffod"
android:layout_alignBottom="@+id/userffod"
android:layout_alignParentLeft="true"
android:gravity="center"
android:text="Username"
android:textSize="20dp" />
<EditText
android:id="@+id/userffod"
android:layout_width="180dp"
android:layout_height="wrap_content"
android:layout_marginLeft="120dp"
android:layout_marginTop="140dp" />
<TextView
android:id="@+id/email"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/emailffod"
android:layout_alignBottom="@+id/emailffod"
android:layout_alignParentLeft="true"
android:gravity="center"
android:text="Email"
android:textSize="20dp" />
<EditText
android:id="@+id/emailffod"
android:layout_width="180dp"
android:layout_height="wrap_content"
android:layout_marginLeft="120dp"
android:layout_marginTop="190dp" />
<TextView
android:id="@+id/pass"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/passffod"
android:layout_alignBottom="@+id/passffod"
android:layout_alignParentLeft="true"
android:gravity="center"
android:text="Password"
android:textSize="20dp" />
<EditText
android:id="@+id/passffod"
android:layout_width="180dp"
android:layout_height="wrap_content"
android:layout_marginLeft="120dp"
android:layout_marginTop="240dp"
android:password="true" />
<ImageButton
android:id="@+id/Btwitter1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignRight="@+id/passffod"
android:layout_marginBottom="16dp"
android:layout_marginRight="26dp"
android:src="@drawable/twitter_icon" />
<ImageButton
android:id="@+id/Bfacebook1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/Btwitter1"
android:layout_toLeftOf="@+id/Bcreate"
android:src="@drawable/facebook_icon2" />
<Button
android:id="@+id/Bcreate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/pass"
android:layout_marginBottom="14dp"
android:layout_alignLeft="@+id/passffod"
android:gravity="center"
android:text="Create Account" />
<TextView
android:id="@+id/fbtwitt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/Bcreate"
android:gravity="center"
android:text="Use FACEBOOK or TWITTER account? Touch any one!"
android:textSize="17dp" />
<TextView
android:id="@+id/fname"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/fnameffod"
android:layout_alignBottom="@+id/fnameffod"
android:layout_alignRight="@+id/pass"
android:gravity="center"
android:text="First Name"
android:textSize="15dp" />
</RelativeLayout>
请注意,我刚刚将parse.initialize中的实际值更改为简单的appkeys
以下是cat o/p的日志:
>02-07 10:22:17.242: D/com.parse.ParseBroadcastReceiver(284): received >android.intent.action.USER_PRESENT
>02-07 10:22:33.101: W/KeyCharacterMap(284): No keyboard for id 0
>02-07 10:22:33.101: W/KeyCharacterMap(284): Using default keymap: /system/usr/keychars/qwerty.kcm.bin
>02-07 10:22:55.262: W/dalvikvm(284): threadid=7: thread exiting with uncaught exception (group=0x4001d800)
>02-07 10:22:55.335: E/AndroidRuntime(284): FATAL EXCEPTION: AsyncTask #1
>02-07 10:22:55.335: E/AndroidRuntime(284): java.lang.RuntimeException: An error occured while executing doInBackground()
>02-07 10:22:55.335: E/AndroidRuntime(284): at android.os.AsyncTask$3.done(AsyncTask.java:200)
>02-07 10:22:55.335: E/AndroidRuntime(284): at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:273)
>02-07 10:22:55.335: E/AndroidRuntime(284): at java.util.concurrent.FutureTask.setException(FutureTask.java:124)
>02-07 10:22:55.335: E/AndroidRuntime(284): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:307)
>02-07 10:22:55.335: E/AndroidRuntime(284): at java.util.concurrent.FutureTask.run(FutureTask.java:137)
>02-07 10:22:55.335: E/AndroidRuntime(284): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1068)
>02-07 10:22:55.335: E/AndroidRuntime(284): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:561)
>02-07 10:22:55.335: E/AndroidRuntime(284): at java.lang.Thread.run(Thread.java:1096)
>02-07 10:22:55.335: E/AndroidRuntime(284): Caused by: java.lang.IllegalArgumentException: Username cannot be missing or blank
>02-07 10:22:55.335: E/AndroidRuntime(284): at com.parse.ParseUser.signUp(ParseUser.java:232)
>02-07 10:22:55.335: E/AndroidRuntime(284): at com.parse.ParseUser$1.run(ParseUser.java:273)
>02-07 10:22:55.335: E/AndroidRuntime(284): at com.parse.ParseUser$1.run(ParseUser.java:1)
>02-07 10:22:55.335: E/AndroidRuntime(284): at com.parse.BackgroundTask.doInBackground(BackgroundTask.java:39)
>02-07 10:22:55.335: E/AndroidRuntime(284): at com.parse.BackgroundTask.doInBackground(BackgroundTask.java:1)
>02-07 10:22:55.335: E/AndroidRuntime(284): at android.os.AsyncTask$2.call(AsyncTask.java:185)
>02-07 10:22:55.335: E/AndroidRuntime(284): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
>02-07 10:22:55.335: E/AndroidRuntime(284): ... 4 more
>02-07 10:23:06.851: I/Process(284): Sending signal. PID: 284 SIG: 9
这是一项非常紧迫的要求。我将非常感激能得到的一切帮助。谢谢大家! 问题可能是因为这条线
username = user_name.getText().toString();
我认为您可能没有在EditText中保存任何可能返回空值的值,这会导致此问题
或者,因为这是EditText,而不是user.getText().toString()
我建议您使用user_name.getEditableText().toString()代码>
问题是,因为这里的值是空的,所以会导致其他类中出现异常 您的ParseUser.signup()抛出错误:IllegalArgumentException,请检查或粘贴ParseUser.signup的代码。>02-07 10:22:55.335:E/AndroidRuntime(284):原因:java.lang.IllegalArgumentException:用户名不能丢失或为空
:这一行说明了它的确切含义。请双击日志猫中的02-07 10:22:55.335:E/AndroidRuntime(284):在com.parse.ParseUser.signUp(ParseUser.java:232)
行。检查正在传递的用户名值。Andro Selva:使用getEditableText()似乎没有什么帮助。你得到了用户名的一些值还是它是空的?@jitendrasharma:注册是解析服务提供的一个函数。LogCat仍然非常相似。我在logcat的开头看到一个未处理的线程异常。为什么会这样?@JitendraSharma:我在用parse。请访问www.parse.com
username = user_name.getText().toString();