抛出InstantiationException

时间:2012-09-20 01:19:36

标签: java android exception

我还没有完成这个应用程序,但我希望看到我手机上的样子。但是,它使用InstantiationException强制关闭。

logcat中的异常:

  

09-19 20:13:47.987:D / szipinf(5396):初始化充气状态09-19   20:13:48.007:D / dalvikvm(5396):newInstance失败:否()09-19   20:13:48.007:D / AndroidRuntime(5396):关闭VM 09-19   20:13:48.007:W / dalvikvm(5396):threadid = 1:线程退出   未捕获的异常(组= 0x4001d560)09-19 20:13:48.017:   E / AndroidRuntime(5396):致命异常:主09-19 20:13:48.017:   E / AndroidRuntime(5396):java.lang.RuntimeException:无法执行   实例化活动   ComponentInfo {com.hyperspacemg.showstopper / com.hyperspacemg.showstopper.MainActivity}:   java.lang.InstantiationException:   com.hyperspacemg.showstopper.MainActivity 09-19 20:13:48.017:   E / AndroidRuntime(5396):at   android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1680)   09-19 20:13:48.017:E / AndroidRuntime(5396):at   android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1784)   09-19 20:13:48.017:E / AndroidRuntime(5396):at   android.app.ActivityThread.access $ 1500(ActivityThread.java:123)09-19   20:13:48.017:E / AndroidRuntime(5396):at   android.app.ActivityThread $ H.handleMessage(ActivityThread.java:939)   09-19 20:13:48.017:E / AndroidRuntime(5396):at   android.os.Handler.dispatchMessage(Handler.java:99)09-19   20:13:48.017:E / AndroidRuntime(5396):at   android.os.Looper.loop(Looper.java:130)09-19 20:13:48.017:   E / AndroidRuntime(5396):at   android.app.ActivityThread.main(ActivityThread.java:3835)09-19   20:13:48.017:E / AndroidRuntime(5396):at   java.lang.reflect.Method.invokeNative(Native Method)09-19   20:13:48.017:E / AndroidRuntime(5396):at   java.lang.reflect.Method.invoke(Method.java:507)09-19 20:13:48.017:   E / AndroidRuntime(5396):at   com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:864)   09-19 20:13:48.017:E / AndroidRuntime(5396):at   com.android.internal.os.ZygoteInit.main(ZygoteInit.java:622)09-19   20:13:48.017:E / AndroidRuntime(5396):at   dalvik.system.NativeStart.main(Native Method)09-19 20:13:48.017:   E / AndroidRuntime(5396):引起:java.lang.InstantiationException:   com.hyperspacemg.showstopper.MainActivity 09-19 20:13:48.017:   E / AndroidRuntime(5396):at java.lang.Class.newInstanceImpl(Native   方法)09-19 20:13:48.017:E / AndroidRuntime(5396):at   java.lang.Class.newInstance(Class.java:1409)09-19 20:13:48.017:   E / AndroidRuntime(5396):at   android.app.Instrumentation.newActivity(Instrumentation.java:1021)   09-19 20:13:48.017:E / AndroidRuntime(5396):at   android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1672)   09-19 20:13:48.017:E / AndroidRuntime(5396):... 11更多09-19   20:13:48.017:W / ActivityManager(1426):强制完成活动   com.hyperspacemg.showstopper / .MainActivity 09-19 20:13:48.177:   D / dalvikvm(1426):GC_EXTERNAL_ALLOC获得311K,42%免费6658K / 11335K,   外部2060K / 2067K,暂停73ms 09-19 20:13:48.237:   D / dalvikvm(5379):GC_CONCURRENT释放346K,48%免费3158K / 6023K,   外部0K / 0K,暂停18ms + 3ms 09-19 20:13:48.378:I / dalvikvm(5355):   JIT的总体竞技场页面:11 09-19 20:13:48.518:   W / ActivityManager(1426):活动暂停超时   HistoryRecord {40824588 com.hyperspacemg.showstopper / .MainActivity}

MainActivity

package com.hyperspacemg.showstopper;

import com.hyperspacemg.showstopper.ColorPickerDialog.OnColorChangedListener;

import android.os.Bundle;
import android.app.Activity;
import android.content.SharedPreferences;
import android.graphics.Color;
import android.view.Menu;
import android.view.View;
import android.widget.RadioButton;
import android.widget.SeekBar;
import android.widget.SeekBar.OnSeekBarChangeListener;
import android.widget.TextView;

public class MainActivity extends Activity implements OnColorChangedListener
    {
    public static final String PREFS_NAME = "ShowStopperPrefsFile";

    SeekBar seekbarChan, seekbarRed, seekbarGreen, seekbarBlue, seekbarBand, seekbarSens;
    TextView valueChan, valueRed, valueGreen, valueBlue, side, valueBand, valueSens, valueSave;
    private static int Chan = 0;
    private static int Rset = 0;
    private static int Gset = 0;
    private static int Bset = 0;
    private static int Side = 0;
    private static int Band = 0;
    private static int Sens = 24;
    private static int Save = 0;

    String chanFinal = null;
    String redFinal = null;
    String greenFinal = null;
    String blueFinal = null;
    String modeFinal = null;
    String sideFinal = null;
    String bandFinal = null;
    String sensFinal = null;
    String saveFinal = null;
    String message = "<HMG" + chanFinal + ":" + redFinal + ":" + greenFinal + ":" + blueFinal + ":" + modeFinal + ":" + sideFinal + ":" + bandFinal + ":" + sensFinal + ":" + saveFinal + ">"; 

    public MainActivity(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);

        valueChan = (TextView) findViewById(R.id.textViewChan);
        seekbarChan = (SeekBar) findViewById(R.id.seekBarChan);
        valueRed = (TextView) findViewById(R.id.textViewRed);
        seekbarRed = (SeekBar) findViewById(R.id.seekBarRed);
        valueGreen = (TextView) findViewById(R.id.textViewGreen);
        seekbarGreen = (SeekBar) findViewById(R.id.seekBarGreen);
        valueBlue = (TextView) findViewById(R.id.textViewBlue);
        seekbarBlue = (SeekBar) findViewById(R.id.seekBarBlue);
        valueBand = (TextView) findViewById(R.id.textViewBand);
        seekbarBand = (SeekBar) findViewById(R.id.seekBarBand);
        valueSens = (TextView) findViewById(R.id.textViewSens);
        seekbarSens = (SeekBar) findViewById(R.id.seekBarSens);

        int sbar_chan_position = settings.getInt("seekbar_chan_pref", 0);
        seekbarChan.setProgress(sbar_chan_position);
        valueChan.setText("Channel: " + sbar_chan_position);
        Chan = sbar_chan_position;

        int sbar_red_position = settings.getInt("seekbar_red_pref", 0);
        seekbarRed.setProgress(sbar_red_position);
        valueRed.setText("Red: " + sbar_red_position);
        Rset = sbar_red_position;

        int sbar_green_position = settings.getInt("seekbar_green_pref", 0);
        seekbarGreen.setProgress(sbar_green_position);
        valueGreen.setText("Green: " + sbar_green_position);
        Gset = sbar_green_position;

        int sbar_blue_position = settings.getInt("seekbar_blue_pref", 0);
        seekbarBlue.setProgress(sbar_blue_position);
        valueBlue.setText("Blue: " + sbar_blue_position);
        Bset = sbar_blue_position;

        int sbar_band_position = settings.getInt("seekbar_band_pref", 0);
        seekbarBand.setProgress(sbar_band_position);
        valueBand.setText("Band: " + sbar_band_position);
        Band = sbar_band_position;

        int sbar_sens_position = settings.getInt("seekbar_sens_pref", 0);
        seekbarSens.setProgress(sbar_sens_position);
        valueSens.setText("Sensitivity: " + sbar_red_position);
        Sens = sbar_sens_position;

        seekbarChan.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
            public void onProgressChanged(SeekBar seekBar, int progress,
                    boolean fromUser) {
                valueChan.setText("Channel: " + progress);

                Chan = progress;


                String chanFinal = "" + Chan;

            }
            public void onStartTrackingTouch(SeekBar seekBar) {
                // TODO Auto-generated method stub
            }

            public void onStopTrackingTouch(SeekBar seekBar) {
                // TODO Auto-generated method stub
            }
        });

seekbarRed.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
            public void onProgressChanged(SeekBar seekBar, int progress,
                    boolean fromUser) {
                valueRed.setText("Red: " + progress);

                Rset = progress;


                String redFinal = "" + Rset;

            }
            public void onStartTrackingTouch(SeekBar seekBar) {
                // TODO Auto-generated method stub
            }

            public void onStopTrackingTouch(SeekBar seekBar) {
                // TODO Auto-generated method stub
            }
        });

seekbarGreen.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
            public void onProgressChanged(SeekBar seekBar, int progress,
                    boolean fromUser) {
                valueGreen.setText("Green: " + progress);

                Gset = progress;


                String greenFinal = "" + Gset;

            }
            public void onStartTrackingTouch(SeekBar seekBar) {
                // TODO Auto-generated method stub
            }

            public void onStopTrackingTouch(SeekBar seekBar) {
                // TODO Auto-generated method stub
            }
        });

seekbarBlue.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
            public void onProgressChanged(SeekBar seekBar, int progress,
                    boolean fromUser) {
                valueBlue.setText("Blue: " + progress);

                Bset = progress;


                String blueFinal = "" + Bset;

            }

            public void onStartTrackingTouch(SeekBar seekBar) {
                // TODO Auto-generated method stub
            }

            public void onStopTrackingTouch(SeekBar seekBar) {
                // TODO Auto-generated method stub
            }
        });

seekbarBand.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
            public void onProgressChanged(SeekBar seekBar, int progress,
                    boolean fromUser) {
                    String audB = null;
                    switch(progress)
                    {
                    case 0:
                    audB = "63Hz";
                    break;
                    case 1:
                    audB = "160Hz";
                    break;
                    case 2:
                    audB = "400Hz";
                    break;
                    case 3:
                    audB = "1kHz";
                    break;
                    case 4:
                    audB = "2.5kHz";
                    break;
                    case 5:
                    audB = "6.25kHz";
                    break;
                    case 6:
                    audB = "16kHz";
                    break;
                    }
                valueBand.setText("Band: " + audB);

                Band = progress;


                String bandFinal = "" + Band;

            }
            public void onStartTrackingTouch(SeekBar seekBar) {
                // TODO Auto-generated method stub
            }

            public void onStopTrackingTouch(SeekBar seekBar) {
                // TODO Auto-generated method stub
            }
        });

seekbarSens.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
            public void onProgressChanged(SeekBar seekBar, int progress,
                    boolean fromUser) {
                    int sensitivity = progress + 1;
                valueSens.setText("Sensitivity: " + sensitivity);

                Sens = progress;


                String sensFinal = "" + Sens;

            }

            public void onStartTrackingTouch(SeekBar seekBar) {
                // TODO Auto-generated method stub
            }

            public void onStopTrackingTouch(SeekBar seekBar) {
                // TODO Auto-generated method stub
            }
        });










    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }

    public void colorChanged(int color) {

        int sbar_red_position = Color.red(color);
        int sbar_green_position = Color.green(color);
        int sbar_blue_position = Color.blue(color);

        seekbarRed.setProgress(sbar_red_position);
        valueRed.setText("Red: " + sbar_red_position);
        Rset = sbar_red_position;

        seekbarGreen.setProgress(sbar_green_position);
        valueGreen.setText("Green: " + sbar_green_position);
        Gset = sbar_green_position;

        seekbarBlue.setProgress(sbar_blue_position);
        valueBlue.setText("Blue: " + sbar_blue_position);
        Bset = sbar_blue_position;

    }

    @Override
    public void onStart() {
        super.onStart();
        }

    @Override
    public void onResume() {
        super.onResume();
    }

    @Override
    public void onPause() {
        super.onPause();
        SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
        SharedPreferences.Editor editor = settings.edit();
        editor.putInt("seekbar_red_pref", Rset);
        editor.putInt("seekbar_green_pref", Gset);
        editor.putInt("seekbar_blue_pref", Bset);
        editor.commit();
    }

    @Override
    public void onStop() {
        super.onStop();
    }

    @Override
    public void onDestroy() {
        super.onDestroy();
    }

    public void onClickColorPicker(View v) {
        new ColorPickerDialog(this, this, Color.rgb(Rset, Gset, Bset)).show();
    }

    public void onRadioButtonClicked(View v) {
        // When radio button is clicked

        // dumb stuff to make these radio group
        RadioButton rb = (RadioButton) v;

        RadioButton rb0 = (RadioButton) findViewById(R.id.radio0);
        RadioButton rb1 = (RadioButton) findViewById(R.id.radio1);

        rb0.setChecked(false);
        rb1.setChecked(false);
        rb.setChecked(true);
        // end dumb stuff

        int checkedRadioButton = rb.getId();

        String radioButtonSelected = "";

        switch (checkedRadioButton) {
        case R.id.radio0:
            radioButtonSelected = "0";
            break;
        case R.id.radio1:
            radioButtonSelected = "1";
            break;
        }
        String audS = radioButtonSelected;
    }


}

main.xml中

<?xml version="1.0" encoding="utf-8"?>
<ScrollView
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent">
<RelativeLayout
 android:layout_width="fill_parent" 
 android:layout_height="wrap_content"
 android:padding="5dp">
 <TextView
        android:id="@+id/textViewChan"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:paddingLeft="5dp"
        android:text="@string/channel"/>

 <SeekBar
        android:id="@+id/seekBarChan"
        android:layout_below="@+id/textViewChan"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:max="4"
        android:paddingBottom="10dp" />
 <Button
        android:id="@+id/btnChoose"
        android:layout_below="@+id/seekBarChan"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:text="@string/choose"/>
 <Button
        android:id="@+id/btnRandom"
        android:layout_below="@+id/btnChoose"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:text="@string/random"/>
 <TextView
        android:id="@+id/textViewRed"
        android:layout_below="@+id/btnRandom"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:paddingLeft="5dp"
        android:paddingTop="10dp"
        android:text="@string/Red" />
    <SeekBar
        android:id="@+id/seekBarRed"
        android:layout_below="@+id/textViewRed"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:max="255"
        android:paddingBottom="10dp" />
    <TextView
        android:id="@+id/textViewGreen"
        android:layout_below="@+id/seekBarRed"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:paddingLeft="5dp"
        android:paddingTop="10dp"
        android:text="@string/Green" />
    <SeekBar
        android:id="@+id/seekBarGreen"
        android:layout_below="@+id/textViewGreen"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:max="255"
        android:paddingBottom="10dp" />
    <TextView
        android:id="@+id/textViewBlue"
        android:layout_below="@+id/seekBarGreen"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:paddingLeft="5dp"
        android:paddingTop="10dp"
        android:text="@string/Blue" />
    <SeekBar
        android:id="@+id/seekBarBlue"
        android:layout_below="@+id/textViewBlue"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:max="255"
        android:paddingBottom="10dp" />
    <Spinner
        android:id="@+id/spinnerMode"
        android:layout_below="@+id/seekBarBlue"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:entries="@array/mode_array"
        android:prompt="@string/mode_prompt" />
    <TextView
        android:id="@+id/textViewSide"
        android:layout_below="@+id/spinnerMode"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:paddingLeft="5dp"
        android:paddingTop="5dp"
        android:text="@string/side" />

      <RadioButton
          android:id="@+id/radio0"
          android:layout_below="@+id/textViewSide"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_gravity="left"
          android:layout_marginLeft="10dp"
          android:checked="true"
          android:onClick="onRadioButtonClicked"
          android:text="@string/left" />

        <RadioButton
            android:id="@+id/radio1"
            android:layout_below="@+id/textViewSide"
            android:layout_toRightOf="@+id/radio0"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="right"
            android:onClick="onRadioButtonClicked"
            android:text="@string/right" />
        <TextView
        android:id="@+id/textViewBand"
        android:layout_below="@+id/radio0"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:paddingLeft="5dp"
        android:paddingTop="10dp"
        android:text="@string/band" />
        <SeekBar
        android:id="@+id/seekBarBand"
        android:layout_below="@+id/textViewBand"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:max="5"
        android:paddingBottom="10dp" />
        <TextView
        android:id="@+id/textViewSens"
        android:layout_below="@+id/seekBarBand"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:paddingLeft="5dp"
        android:paddingTop="10dp"
        android:text="@string/sens" />
        <SeekBar
        android:id="@+id/seekBarSens"
        android:layout_below="@+id/textViewSens"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:max="255"
        android:paddingBottom="10dp" />
        <Button
        android:id="@+id/btnApply"
        android:layout_below="@+id/seekBarSens"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:text="@string/apply"/>
        <Button
        android:id="@+id/btnSave"
        android:layout_below="@+id/btnApply"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:text="@string/save"/>

</RelativeLayout>
</ScrollView>

的strings.xml

<resources>

    <string name="app_name">Show Stopper</string>
    <string name="hello_world">Hello world!</string>
    <string name="menu_settings">Settings</string>
    <string name="title_activity_main">Show Stopper</string>
    <string name="random">Random Color!</string>
    <string name="channel">Channel %d</string>
    <string name="Red">Red %d</string>
    <string name="Green">Green %d</string>
    <string name="Blue">Blue %d</string>
    <string name="side">Audio Side</string>
    <string name="left">Left</string>
    <string name="right">Right</string>
    <string name="band">Band %d</string>
    <string name="sens">Sensitivity %d</string>
    <string name="choose">Choose a Color!</string>
    <string name="apply">Apply</string>
    <string name="save">Save</string>

    <string name="mode_prompt">Choose a Mode</string>

    <string-array name="mode_array">
        <item>Random Fade</item>
        <item>HeartBeat Red</item>
        <item>Set Color</item>
        <item>Pulse Color</item>
        <item>Heartbeat Color</item>
        <item>Audio Color</item>
        <item>Audio Random Flash</item>
        <item>Audio Random Set</item>
    </string-array>

</resources>

1 个答案:

答案 0 :(得分:0)

变化:

public MainActivity(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

为:

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);