[問題] 遇到 NullPointerException (已解決)
MainActivity.java: http://pastie.org/private/ug3fro2yrh9lukiyxelwww
activity_main.xml: http://pastie.org/private/iuck0z7owdnbgudvla13tq
strings.xml: http://pastie.org/private/4zibxnwupplfimtqjashsw
這是小弟寫的計算機程式
內容大概是有兩條 TextView,
一行是 expression,使用者輸入按鍵就會顯示在上面
另一行是 result,使用者按下 '=' 就會把結果顯示出來
我只有寫完按下按鈕可以出現 expression 就先測試,結果一 run 就停止了.....
原本還有在提示 ErrorLog 提示 NullPointerException
我把
expression = "";
expressionPrevious = "";
改成
expression = new String("");
expressionPrevious = new String("");
以後似乎就好了?!我想說可能是 "" 是常數不能修改,需要先 new 物件
但實際原因還是不太清楚 orz...
(我是 Java 新手,比較常寫 C++... )
因為最後還是不能跑...
以下截錄自 Console
[2013-11-18 00:39:03 - Calculator] ------------------------------
[2013-11-18 00:39:03 - Calculator] Android Launch!
[2013-11-18 00:39:03 - Calculator] adb is running normally.
[2013-11-18 00:39:03 - Calculator] Performing
com.example.calculator87.MainActivity activity launch
[2013-11-18 00:39:03 - Calculator] Automatic Target Mode: Unable to detect
device compatibility. Please select a target device.
[2013-11-18 00:39:08 - Calculator] Application already deployed. No need to
reinstall.
[2013-11-18 00:39:08 - Calculator] Starting activity
com.example.calculator87.MainActivity on device TCFY9SFY59V4UKSG
[2013-11-18 00:39:08 - Calculator] ActivityManager: Starting: Intent {
act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER]
cmp=com.example.calculator/.MainActivity }
好像沒有什麼跟錯誤有關的訊息?!看起來應該正常才對
然後看 LogCat 狂洗畫面也不知道在寫些什麼
以下節錄自一些 all message 的 LogCat 訊息
(com.example.calculate (Session Filter) 倒是沒東西... )
11-18 00:32:46.356: I/PowerManagerService(507): setBrightness mButtonLight 0.
11-18 00:32:46.356: D/PowerManagerService(507): updateScreenStateLocked:
mDisplayReady=true, newScreenState=2, mWakefulness=1, mWakeLockSummary=0x0,
mUserActivitySummary=0x1, mBootCompleted=true
11-18 00:32:46.356: D/IPCThreadState(507): [DN #5]
BR_CLEAR_DEATH_NOTIFICATION_DONE cookie 0x616c0e18
11-18 00:32:46.357: D/PowerManagerService(507): handleSandman: canDream=true,
mWakefulness=Awake
11-18 00:32:46.360: D/dalvikvm(27092): threadid=34: exiting
11-18 00:32:46.361: D/dalvikvm(27092): threadid=34: bye!
11-18 00:32:46.498: I/SurfaceTextureClient(598): [STC::queueBuffer]
(this:0x5e756fb0) fps:2.97, dur:1009.41, max:511.73, min:109.83
11-18 00:32:46.498: I/BufferQueue(133): [StatusBar](this:0x41b6f6f8,api:1)
[queue] fps:2.97, dur:1009.41, max:511.57, min:110.01
11-18 00:32:46.531: I/SurfaceFlinger(133): [SurfaceFlinger]
fps:2.973932,dur:1008.77,max:511.88,min:100.85
11-18 00:32:46.535: V/Provider/Settings(651): from settings cache , name =
pdp_watchdog_poll_interval_ms , value = null
11-18 00:32:46.536: D/ADB_SERVICES(18953): adb fdevent_process list (15) (17)
11-18 00:32:46.536: D/ADB_SERVICES(18953): adb socket read list (17)
11-18 00:32:46.536: D/ADB_SERVICES(18953): read_data=45712
11-18 00:32:46.536: D/ADB_SERVICES(18953): max_read_time=0.000138
max_send_time=0.000081
11-18 00:32:46.537: D/ADB_SERVICES(18953): adb local_socket_ready list (17)
11-18 00:32:46.667: D/PowerManagerDisplayController(507): updateAmbientLux:
Possibly brightened, waiting for 300 ms: brighteningLuxThreshold=181.96902,
mRecentShortTermAverageLux=217.93811, mRecentLongTermAverageLux=201.8294,
mAmbientLux=165.42638
11-18 00:32:46.907: D/PowerManagerDisplayController(507): updateAmbientLux:
Canceled debounce: brighteningLuxThreshold=181.96902,
darkeningLuxThreshold=132.34111, mRecentShortTermAverageLux=177.04062,
mRecentLongTermAverageLux=188.2631, mAmbientLux=165.42638
11-18 00:32:47.316: V/AlarmManager(507): Native set alarm :Alarm{4272c690
type 2 com.google.android.gms}
11-18 00:32:47.316: I/AlarmManager(507): reset poweroff alarm none
11-18 00:32:47.317: V/ActivityManager(507): Broadcast: Intent {
act=com.android.internal.telephony.gprs-data-stall flg=0x14 (has extras) }
ordered=true userid=0
11-18 00:32:47.322: D/PowerManagerService(507): acquireWakeLockInternal:
lock=1107100528, flags=0x1, tag="AlarmManager", ws={WorkSource: uids=[1001]},
uid=1000, pid=507
11-18 00:32:47.323: D/PowerManagerService(507): updateWakeLockSummaryLocked:
mWakefulness=Awake, mWakeLockSummary=0x1
11-18 00:32:47.332: D/PowerManagerService(507): newScreenState = 2
11-18 00:32:47.333: D/PowerManagerDisplayController(507): requestPowerState:
screenState=2, useProximitySensor=false, screenBrightness=102,
screenAutoBrightnessAdjustment=0.0, useAutoBrightness=true,
useEcoBrightness=false, blockScreenOn=false, waitForNegativeProximity=false
11-18 00:32:47.334: D/Provider/Settings(651): put string name =
radio.data.stall.recovery.action , value = 0 userHandle = 0
11-18 00:32:47.335: I/PowerManagerService(507): setBrightness mButtonLight 0.
11-18 00:32:47.335: D/PowerManagerService(507): updateScreenStateLocked:
mDisplayReady=true, newScreenState=2, mWakefulness=1, mWakeLockSummary=0x1,
mUserActivitySummary=0x1, mBootCompleted=true
11-18 00:32:47.336: D/PowerManagerService(507): handleSandman: canDream=true,
mWakefulness=Awake
11-18 00:32:47.337: D/SettingsProvider(507): call request for 0
11-18 00:32:47.338: V/SettingsProvider(507):
call_put(system:radio.data.stall.recovery.action=0) for 0
11-18 00:32:47.338: V/SettingsProvider(507):
insert(content://settings/system) for user 0 by 0
11-18 00:32:47.338: D/SettingsProvider(507):
insert(content://settings/system) for user 0 by 0
11-18 00:32:47.339: D/SettingsProvider(507): redundant, old Value: 0 new
value: 0
想破頭想不出為什麼會這樣!
請大家給我指點一下吧!!!謝謝!!!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 210.66.250.37
→
11/18 01:08, , 1F
11/18 01:08, 1F
→
11/18 02:12, , 2F
11/18 02:12, 2F
→
11/18 02:26, , 3F
11/18 02:26, 3F
→
11/18 02:27, , 4F
11/18 02:27, 4F
→
11/18 02:28, , 5F
11/18 02:28, 5F
→
11/19 03:01, , 6F
11/19 03:01, 6F