FailedBinderTransaction-TransactionTooLargeException

时间:2015-06-02 00:15:42

标签: android parse-platform

我正在尝试将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();
                        }
                    }
                });
            }
        });
    }
}

StackTrace输出:

    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

2 个答案:

答案 0 :(得分:0)

事实证明代码已正确实现。但由于某种原因,原始项目抛出了错误异常。我将代码迁移到一个新项目,它工作正常。感谢所有花时间解决我问题的人。

答案 1 :(得分:0)

我从API获取一些JSON并使用Retrofit将它传递到Recycler视图时遇到了这个问题显然我使用的是GSON转换器但是我的POJO类没有注释所以我添加了注释,清理并重建了项目,卸载了我的手机/模拟器中的旧设置再次运行,问题就出现了。