Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 使用DB时,sendUserActionEvent()mViwe==null错误_Android_Database_Logcat - Fatal编程技术网

Android 使用DB时,sendUserActionEvent()mViwe==null错误

Android 使用DB时,sendUserActionEvent()mViwe==null错误,android,database,logcat,Android,Database,Logcat,我是S4用户和我的安卓版本。是184.3.3 嗯……当我制作一个应用程序时,我遇到了一些问题sendUserActionEvent mViwe==null,所以我需要别人的帮助。请帮助我: 这是发生错误的代码 ... try{ body = m_et_inc_bdy.toString(); mny = Integer.parseInt(m_et_inc_mn

我是S4用户和我的安卓版本。是184.3.3

嗯……当我制作一个应用程序时,我遇到了一些问题sendUserActionEvent mViwe==null,所以我需要别人的帮助。请帮助我:

这是发生错误的代码

  ...
                    try{
                        body = m_et_inc_bdy.toString();
                        mny = Integer.parseInt(m_et_inc_mny.toString());
                        ord = yr*10000+mth*100+day;
                        m_dao.Append(body, mny, yr, mth, day, ord);
                        Toast.makeText(this, "REG success.", Toast.LENGTH_SHORT).show();
                        finish();
                    }catch(Exception ig)
                    {
                        Toast.makeText(this, "pre_DB_Error", Toast.LENGTH_LONG).show(); 
                        ig.printStackTrace();
                        finish();
                }
    ...
m_dao.Append方法就是这段代码

public void Append(String body, int mny, int yr, int mth, int day, int ord ) throws Exception{
    str_query="'"+body+"',"+mny+","+yr+","+mth+","+day+","+ord;
    _db_.execSQL("insert into HAC (body, money, dateyear, datemonth, dateday, ord) values("+str_query+") ");
}
我想我的代码中没有错误,但它不起作用..带有logcat的错误msg sendUserActionEvent mViwe==null

有人能帮我吗??请:

/*这就是全部代码*/

    package com.example.accountbook;

    import java.util.*;

    import android.app.*;
    import android.app.DatePickerDialog.OnDateSetListener;
    import android.os.*;
    import android.view.*;
    import android.widget.*;

    import com.example.accountbook.db.*;



    public class InpIncActivity extends Activity implements View.OnClickListener{

        private RankDAO m_dao       = null;

        private Button m_btn_date   = null;
        private Button m_btn_input  = null;
        private Button m_btn_cancel = null;

        private EditText m_et_inc_bdy   = null;
        private EditText m_et_inc_mny   = null;

        private DatePickerDialog dlg        = null;
        private OnDateSetListener listener  = null;

        private int yr  = 0;
        private int mth = 0;
        private int day = 0;
        private int mny = 0;
        private int ord = 0;
        String body;

        String date = null;

        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_in_inc);

            setBindingButtons();
            setBindingText();
            setBingingDialog();
            setBindingRank();
        }
        private void setBindingButtons()
        {
            m_btn_date=(Button)findViewById(R.id.btn_ia_date);
            m_btn_input=(Button)findViewById(R.id.btn_ia_input);
            m_btn_cancel=(Button)findViewById(R.id.btn_ia_cancel);

            m_btn_date.setOnClickListener(this);
            m_btn_input.setOnClickListener(this);
            m_btn_cancel.setOnClickListener(this);
        }

        private void setBindingText()
        {
            m_et_inc_bdy=(EditText)findViewById(R.id.et_ia_bd);
            m_et_inc_mny=(EditText)findViewById(R.id.et_ia_mny);

        }

        public void onClick(View v)
        {
            if(v==m_btn_date)
            {
                dlg.show();
            }
            else if(v==m_btn_input)
            {
                try{
                    body=m_et_inc_bdy.toString();
                    mny=Integer.parseInt(m_et_inc_mny.toString());
                    ord=yr*10000+mth*100+day;
                    m_dao.Append(body, mny, yr, mth, day, ord);
                    Toast.makeText(this, "REG success", Toast.LENGTH_SHORT).show();
                    finish();
                }catch(Exception ig)
                {
                    Toast.makeText(this, "pre_DB_Error", Toast.LENGTH_LONG).show(); 
                    ig.printStackTrace();
                    finish();
                    }

            }
            else if(v==m_btn_cancel)
            {
                finish();
            }
        }

        public void setBingingDialog()
        {

            this.listener = new OnDateSetListener()
            {

                @Override
                public void onDateSet(DatePicker view, int year, int monthOfYear,
                        int dayOfMonth) {

                    yr=year;
                    mth=monthOfYear+1;
                    day=dayOfMonth;
                    if(mth<10)
                        date=String.valueOf(yr)+".0"+String.valueOf(mth)+"."+String.valueOf(day);
                    else
                        date=String.valueOf(yr)+"."+String.valueOf(mth)+"."+String.valueOf(day);

                    m_btn_date.setText(date);

                }

            };
            this.dlg=new DatePickerDialog(this, listener,Calendar.getInstance().get(Calendar.YEAR), Calendar.getInstance().get(Calendar.MONTH), Calendar.getInstance().get(Calendar.DATE));
        }
        public void setBindingRank()
        {
            try{
                m_dao=RankDAO.GetInstance(this);
            }catch(Exception e){
                Toast.makeText(this, "DB ERROR", Toast.LENGTH_LONG).show();
                e.printStackTrace();
            }
        }
    }

////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////

    package com.example.accountbook.db;

    import java.util.*;

    import com.example.accountbook.*;

    import android.app.*;
    import android.database.*;
    import android.database.sqlite.*;




    public class RankDAO {

        private static RankDAO _instance_ = null;
        private static Activity _activity_ = null;
        private  SQLiteDatabase _db_ = null;

        private int year    = 0;
        private int month   = 0;
        private int day     = 0;
        private int money   = 0;
        String body         = null;
        String val          = null;
        String str_query    = null;

        private RankDAO() throws Exception{
            super();
            OpenDatabase();
        }

        public static synchronized RankDAO GetInstance(Activity act) throws Exception{

            if(_instance_ == null) {
                _activity_ = act;
                _instance_ = new RankDAO();         
            }

            return _instance_;
        }

        private void OpenDatabase() throws Exception {
            try{
                if(_db_ == null){
                    _db_ = _activity_.openOrCreateDatabase("db", Activity.MODE_PRIVATE, null);              
                    //_db_.execSQL("drop table HAC");
                    _db_.execSQL("Create Table IF NOT EXISTS HAC (body varchar(127), money int(8), dateyear int(4), datemonth int(2), dateday int(2), ord int(8) )");
    //              _db_AC.execSQL("Create Index IF NOT EXISTS IDX_HAC ON HAC (dateyear asc, datemonth asc, dateday asc)");
                }                       
            }catch(Exception ig){
                ig.printStackTrace();
                throw ig;
            }
        }

        public void Append(String body, int mny, int yr, int mth, int day, int ord ) throws Exception{
            str_query="'"+body+"',"+mny+","+yr+","+mth+","+day+","+ord;
            _db_.execSQL("insert into HAC (body, money, dateyear, datemonth, dateday, ord) values("+str_query+") ");
        }

        public ArrayList<HashMap<String,String >> GetRankData(){
            ArrayList<HashMap<String,String>> _Items = new ArrayList<HashMap<String,String>>();

            Cursor _cursor = _db_.rawQuery("Select * From HAC Order By ord desc ", null);

            if(_cursor.moveToFirst()){
                do{
                    body    = _cursor.getString(0);
                    money   = Integer.parseInt(_cursor.getString(1));
                    year    = Integer.parseInt(_cursor.getString(2));
                    month   = Integer.parseInt(_cursor.getString(3));
                    day     = Integer.parseInt(_cursor.getString(4));

                    val     =String.valueOf(year)+"."+String.valueOf(month)+"."+String.valueOf(day)+"\t"+String.valueOf(money);

                    HashMap<String,String> _Item = new HashMap<String,String>();
                    _Item.put("value",val);   // No. 이름
                    _Item.put("body", body);                        // 시간

                    _Items.add(_Item);

                    MainActivity.mymoney(money);
                    if(year==Calendar.getInstance().get(Calendar.YEAR) && month==Calendar.getInstance().get(Calendar.MONTH) && day==Calendar.getInstance().get(Calendar.DATE))
                        MainActivity.todinc(money);

                }while(_cursor.moveToNext());       

                _cursor.close();
            }

            return _Items;
        }
    }