2015-04-07 209 views
0

我是剛剛接觸Android開發人員,我正在爲我的大學項目編寫一個應用程序。該應用程序傳輸存儲在共享偏好設置中的一串數據。數據通過一次性安裝屏幕存儲問題是第一次後,當應用程序再次啓動它顯示「應用程序已不幸停止工作」,當我點擊確定該應用程序啓動。可以有人告訴我爲什麼發生這種情況? 代碼:打開Android應用程序時出錯

package com.example.homeautomation.zigbeehomeauto; 

import android.annotation.TargetApi; 
import android.content.SharedPreferences; 
import android.nfc.NdefMessage; 
import android.nfc.NdefRecord; 
import android.nfc.NfcAdapter; 
import android.os.Build; 
import android.os.Bundle; 
import android.support.v7.app.ActionBarActivity; 
import android.view.View; 
import android.widget.Toast; 


public class MainScreen extends ActionBarActivity { 
    NdefMessage msg; 
    NfcAdapter nfcadapter; 
    public static final String PREFS_NAME = "MyPrefsFile"; 
    public String pass2 ; 

    @Override 

    public void onCreate(Bundle savedInstanceState) { 

     super.onCreate(savedInstanceState); 

     setContentView(R.layout.activity_main_screen); 
     SharedPreferences check = getSharedPreferences(PREFS_NAME, 0); 
     String Pass = check.getString("Str", "Nothing"); 
     pass2 = Pass; 
     nfcadapter = NfcAdapter.getDefaultAdapter(this); 

     if (nfcadapter == null) { 
      Toast.makeText(this, "NFC is not available User", Toast.LENGTH_LONG) 
        .show(); 
      finish(); 

     } 







    } 




    public void ExApp(View v) { 

     finish(); 
     System.exit(0); 
    } 


    @TargetApi(Build.VERSION_CODES.JELLY_BEAN) 
    public void Nsend(View v) 
    { 
     byte[] stringBytes = pass2.getBytes(); 

     nfcadapter.setNdefPushMessage(msg = new NdefMessage(new NdefRecord[]{NdefRecord.createMime("text/plain", stringBytes) 

     }),this); 



    } 
} 

logcat的輸出繼電器:

04-07 12:04:38.478 10836-10836/com.example.homeautomation.zigbeehomeauto E/AndroidRuntime﹕ FATAL EXCEPTION: main 
    Process: com.example.homeautomation.zigbeehomeauto, PID: 10836 
    android.util.SuperNotCalledException: Activity {com.example.homeautomation.zigbeehomeauto/com.example.homeautomation.zigbeehomeauto.SetupScreen} did not call through to super.onCreate() 
      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2510) 
      at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2603) 
      at android.app.ActivityThread.access$900(ActivityThread.java:174) 
      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1321) 
      at android.os.Handler.dispatchMessage(Handler.java:102) 
      at android.os.Looper.loop(Looper.java:146) 
      at android.app.ActivityThread.main(ActivityThread.java:5752) 
      at java.lang.reflect.Method.invokeNative(Native Method) 
      at java.lang.reflect.Method.invoke(Method.java:515) 
      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1291) 
      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1107) 
      at dalvik.system.NativeStart.main(Native Method) 

回答

1

onCreate()SetupScreen類的方法,不叫super.onCreate()。添加聲明並且錯誤應該消失。

+0

非常感謝你 – user3930213

2

檢查您SetupScreen.java你有super.onCreate(savedInstanceState);onCreate()方法是開始。

發表您的SetupScreen.java代碼也..

+0

非常感謝你 – user3930213