【发布时间】:2015-08-15 14:44:36
【问题描述】:
我正在尝试将 parse.com 与我的 android 应用程序一起使用。我正在创建注册凭据,但收到了 TransactionTooLargeExcepetion。我相信发生这种情况是因为我超出了我接收或提交的数据量。但是,我无法确定问题所在,因为我只是尝试向服务器提交 2 个字符串。我正在添加堆栈跟踪的图像和少量代码供您参考。非常感谢大家的指导!
public class ParseStarterProjectActivity extends Activity {
// Sign Up/sign in Variables
Button signup;
String userName;
String userPassword;
EditText user;
EditText pass;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// // Test Parse Object
// ParseObject testObject = new ParseObject("TestObject");
// testObject.put("foo", "bar");
// testObject.saveInBackground();
user = (EditText) findViewById(R.id.editText);
pass = (EditText) findViewById(R.id.editText2);
signup = (Button) findViewById(R.id.button);
//signup = (Button) findViewById(R.id.button2);
// Button onClick Listener
signup.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
userName = user.getText().toString();
userPassword = pass.getText().toString();
//send to parse
ParseUser user = new ParseUser();
user.setUsername(userName);
user.setPassword(userPassword);
user.signUpInBackground(new SignUpCallback() {
public void done(ParseException e) {
if (e == null) {
Toast.makeText(getApplicationContext(),
"Success",
Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(getApplicationContext(),
"Failed",
Toast.LENGTH_SHORT).show();
}
}
});
}
});
}
}
堆栈跟踪输出:
17:52:54.747 15613-15613/com.parse.starter D/Error﹕ ERR: TOTAL BYTES WRITTEN: 12282164
06-01 17:52:54.748 15613-15613/com.parse.starter E/JavaBinder﹕ !!! FAILED BINDER TRANSACTION !!!
06-01 17:52:54.748 15613-15613/com.parse.starter E/AndroidRuntime﹕ Error reporting crash
android.os.TransactionTooLargeException
at android.os.BinderProxy.transactNative(Native Method)
at android.os.BinderProxy.transact(Binder.java:496)
at android.app.ActivityManagerProxy.handleApplicationCrash(ActivityManagerNative.java:4100)
at com.android.internal.os.RuntimeInit$UncaughtHandler.uncaughtException(RuntimeInit.java:89)
at com.parse.ErrorReporter.uncaughtException(ErrorReporter.java:1084)
at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:693)
at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:690)
06-01 17:52:54.749 15613-15613/com.parse.starter I/Process﹕ Sending signal. PID: 15613 SIG: 9
【问题讨论】:
-
TransactionTooLargeException表示您在活页夹中放入了太多东西,可能是为了启动活动或与服务通信 -
感谢您的回复。我知道我没有使用意图(至少据我所知),所以它必须是我的应用程序和服务器之间的通信。我正在使用 parse.com。在对登录凭据进行编码之前,我进行了测试,测试成功。凭据后,我开始收到此错误。我是否错过了一种可以防止这种情况发生的方法?再次感谢。
-
它的解析服务类,处理您的注册请求,用户名或密码多长时间尝试将它们设置为最大 12 或 10,看看是否有帮助
-
您好 Elltz,我在创建新用户时尝试输入 5 个字符的用户名和密码。该应用程序只是抛出异常并关闭应用程序。我有 2 个 java 类。一个包含登录键的 ParseApplication 和包含上述代码的 ParseStarterProjectActivity。你的评论让我相信我应该有一个 ParseService 课程?