2016-04-10 5 views
0

Я хочу, чтобы переключаться между двумя деятельности, и я поставил, если заявление, но после того как я решить метод startActivity в приложение аварии:App аварии после startActivity запуска

activity1.java

public class StartActivity extends AppCompatActivity { 

    int count =0; 
    SQLiteDatabase db; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     final Context context = this; 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_start); 

     db=openOrCreateDatabase("StopSmokeDB", Context.MODE_PRIVATE, null); 

     try { 
      Cursor mCount = db.rawQuery("select count(*) from UserTable", null); 
      mCount.moveToFirst(); 
      count= mCount.getInt(0); 
     } catch (Exception e){ 
     } finally { 
      if(count > 0){ 
       finish(); 
       Intent intent = new Intent(context, MainActivity.class); 
       startActivity(intent); 
      } else { 
       finish(); 
       startActivity(new Intent(this,RegActivity.class)); 
      } 
     } 
     } 
} 

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?> 

<application 
    android:allowBackup="true" 
    android:icon="@mipmap/ic_launcher" 
    android:label="@string/app_name" 
    android:supportsRtl="true" 
    android:theme="@style/AppTheme"> 
    <activity android:name=".MainActivity"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
    <activity android:name="tzahianidgar.stopsmoke.RegActivity"></activity> 
    <activity android:name="tzahianidgar.stopsmoke.StartActivity"></activity> 
</application> 

это мой LogCat: 04-10 05: 57: 38,316 3630-3630/tzahianidgar.stopsmoke I/искусство: Не поздно включение -Xcheck: JNI (уже) 04-10 05: 57: 38.602 3630-3630/tzahianidgar.stopsmoke W/System: ClassLoader ссылается на неизвестный путь: /data/app/tzahianidgar.stopsmoke-1/lib/x86 04-10 05: 57: 38.733 3630-3630/tzahianidgar.stopsmoke W/система: ClassLoader ссылки неизвестно путь: /data/app/tzahianidgar.stopsmoke-1/lib/x86

+0

Что такое авария? Поставьте сообщение об ошибке и трассировку стека –

+0

nope просто сбой – Tzahi

+0

Посмотрите на логарифм. Android расскажет вам, почему ваше приложение разбилось. –

ответ

0

Во-первых, вы должны закрыть курсор после использования, как:

if(mCount != null) 
    mCount.close(); 

Во-вторых, вы закрыли свою текущую деятельность, прежде чем начинать новую. Замените код вашего окончательного блока следующим образом:

finally { 
     if(mCount != null) 
      mCount.close(); 

     if(count > 0){ 
      startActivity(new Intent(StartActivity.this,MainActivity.class)); 
      finish(); 
     } else { 
      startActivity(new Intent(StartActivity.this,RegActivity.class)); 
      finish(); 
     } 
    } 
+0

все еще сбой – Tzahi

Смежные вопросы