2017-10-07 12 views
0

永続化を有効にすると、アプリケーションはクラッシュし続けます。 親フィールドがFirebaseにある場合はクラッシュし、そうでない場合は正しくレイアウトをロードします。 次にfirebaseにデータを保存すると、データベースに親が見つかると再びクラッシュします。すべてのFirebaseDatabase.getInstance()。setPersistenceEnabled(true)は、アプリケーションをクラッシュさせます。

protected void onCreate(Bundle savedInstanceState) { 

    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_chat_line); 

    final DatabaseReference reference1, reference2; 

    if(!FirebaseApp.getApps(this).isEmpty()) { 
     FirebaseDatabase.getInstance().setPersistenceEnabled(true); 
    } 

    layout = (LinearLayout)findViewById(R.id.layout1); 
    sendButton = (ImageView)findViewById(R.id.sendButton); 
    messageArea = (EditText)findViewById(R.id.messageArea); 
    scrollView = (ScrollView)findViewById(R.id.scrollView); 

     reference1 = FirebaseDatabase.getInstance().getReference("message/" + "username" + "_" + "admin"); 
     reference2 = FirebaseDatabase.getInstance().getReference("message/" + "admin" + "_" + "username"); 
+0

は()FirebaseDatabase.getInstanceを置きます。 setPersistenceEnabled(true);アプリケーションのアプリケーションファイル。 – Priya

+1

[setPersistenceEnabled(true)crashes app]の重複している可能性があります(https://stackoverflow.com/questions/37448186/setpersistenceenabledtrue-crashes-app) – akhilesh0707

+1

クラッシュが発生している場合は、質問にスタックトレースを含めてください。 –

答えて

0

まずあなたは、MApplicationとしてアプリケーション名を設定したManifest.xmlで

public class MApplication extends Application { 

@Override 
public void onCreate() { 
    super.onCreate(); 
    FirebaseDatabase.getInstance().setPersistenceEnabled(true); 
}} 

としてのようなアプリケーションのためのクラスを作成します。

<application 
    android:name="com.MyApplication" 
    android:allowBackup="false" 
    android:icon="@mipmap/logo" 
android:supportsRtl="true" 
    android:theme="@style/AppTheme"> 
関連する問題