2014-03-05 35 views
0

我有一个数据库,一个主要活动和4个按钮。我试图让按钮在点击时向数据库发送一个数字值,然后当单击另一个按钮时显示一个附有数字值的视图,例如点击这4个按钮的总和。在SQL数据库中插入值,将它们加在一起并比较reult

如何分配数值来点击按钮并将值发送到我拥有的数据库? 如何添加(总和)数据库中的值并将它们与我想要的值进行比较?

classdbOpenHelper.class 

import android.content.Context; 
import android.database.sqlite.SQLiteDatabase; 
import android.database.sqlite.SQLiteOpenHelper; 


public class classdbOpenHelper extends SQLiteOpenHelper { 

    public static final String KEY_ROWID = "_id"; 
    public static final String KEY_NUMBER = "btnumber"; 
    public static final String KEY_RESULT = "result"; 


    public static final String DATABASE_NAME= "data"; 
    public static final String DATABASE_TABLE = "tabel"; 
    public static final int DATABASE_VERSION = 1; 


    public classdbOpenHelper(Context context) { 
     super(context, DATABASE_NAME, null, DATABASE_VERSION); 
     // TODO Auto-generated constructor stub 
    } 


    @Override 
    public void onCreate(SQLiteDatabase db) { 
     db.execSQL("CREATE TABLE" + DATABASE_TABLE + " (" + 
       KEY_ROWID + " INTEGER PRIMARY KEY AUTOINCREMENT " + 
       KEY_NUMBER + " INTEGER " + 
       KEY_RESULT + " INTEGER); " 
       ); 
    } 


    @Override 
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 
     // TODO Auto-generated method stub 
     db.execSQL("DROP TABLE IF EXITS " + DATABASE_TABLE); 
     onCreate(db); 

    }} 

MainActivity.class

import android.os.Bundle; 
import android.app.Activity; 
import android.database.Cursor; 
import android.view.Menu; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.Button; 
import android.widget.ImageButton; 
import android.widget.ScrollView; 

public class MainActivity extends Activity { 

    DBAdapter myDb; 

    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_goto_start); 

     openDB(); 



     //Buttons for start screen 
     ImageButton clicks =(ImageButton)findViewById(R.id.clicks); 
     ImageButton new_test_btn =(ImageButton)findViewById(R.id.new_test_btn); 
     ImageButton view_profile_btn =(ImageButton)findViewById(R.id.view_profile_btn); 
     ImageButton home_btn =(ImageButton)findViewById(R.id.home_btn); 
     ImageButton info_btn =(ImageButton)findViewById(R.id.info_btn); 
     //Buttons for question_1 
     Button a1_btn =(Button)findViewById(R.id.a1_btn); 
     Button b1_btn =(Button)findViewById(R.id.b1_btn); 
     Button next_btn1 =(Button)findViewById(R.id.next_btn1); 
     //Buttons for question_2 
     Button a2_btn =(Button)findViewById(R.id.a2_btn); 
     Button b2_btn =(Button)findViewById(R.id.b2_btn); 
     Button next_btn2 =(Button)findViewById(R.id.next_btn2); 
     Button back_btn1 =(Button)findViewById(R.id.back_btn1); 
     //Buttons for question_3 
     Button a3_btn =(Button)findViewById(R.id.a3_btn); 
     Button b3_btn =(Button)findViewById(R.id.b3_btn); 
     Button next_btn3 =(Button)findViewById(R.id.next_btn3); 
     Button back_btn2 =(Button)findViewById(R.id.back_btn2); 
     //Buttons for question_4 
     Button a4_btn =(Button)findViewById(R.id.a3_btn); 
     Button b4_btn =(Button)findViewById(R.id.b3_btn); 
     Button result_btn =(Button)findViewById(R.id.result_btn); 
     Button back_btn3 =(Button)findViewById(R.id.back_btn3); 
     //Answers 
     ScrollView eerner =(ScrollView)findViewById(R.id.eerner_scroll); 



     //Click on screen to start 
     clicks.setOnClickListener(new OnClickListener() { 
      @Override  
      public void onClick(View v) { 
       View startpage = (View)findViewById(R.id.startpage); 
       View homepage = (View)findViewById(R.id.homepage); 

       homepage.setVisibility(View.GONE); 
       startpage.setVisibility(View.VISIBLE);};}); 

     //Click a1 and b1 !!!!!!! 
     a1_btn.setOnClickListener(new OnClickListener() { 
      @Override  
      public void onClick(View v) { 
       long newId = myDb.insertRow("A1", 1); 
      };}); 


     //Click result 
     result_btn.setOnClickListener(new OnClickListener() { 
      @Override  
      public void onClick(View v) { 
       Cursor cursor = myDb.getAllRows(); 
       displayRecordSet(cursor); 
      } 

      private void displayRecordSet(Cursor cursor) { 
       String message = "Hi"; 

       if(cursor.getLong(columnIndex)) 

        displayText(message); 

      } 


      ;}); 


     //Click for question_1 
     new_test_btn.setOnClickListener(new OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       View startpage = (View)findViewById(R.id.startpage); 
       View question_1 = (View)findViewById(R.id.question_1); 

       startpage.setVisibility(View.GONE); 
       question_1.setVisibility(View.VISIBLE);};}); 

     //Click for question_2 
     next_btn1.setOnClickListener(new OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       View question_1 = (View)findViewById(R.id.question_1); 
       View question_2 = (View)findViewById(R.id.question_2); 

       question_1.setVisibility(View.GONE); 
       question_2.setVisibility(View.VISIBLE);};}); 

     //Go back to question_1 
     back_btn1.setOnClickListener(new OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       View question_2 = (View)findViewById(R.id.question_2); 
       View question_1 = (View)findViewById(R.id.question_1); 

       question_2.setVisibility(View.GONE); 
       question_1.setVisibility(View.VISIBLE);};}); 

     //Click for question_3 
     next_btn2.setOnClickListener(new OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       View question_2 = (View)findViewById(R.id.question_2); 
       View question_3 = (View)findViewById(R.id.question_3); 

       question_2.setVisibility(View.GONE); 
       question_3.setVisibility(View.VISIBLE);};}); 

     //Go back to question_2 
     back_btn2.setOnClickListener(new OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       View question_3 = (View)findViewById(R.id.question_3); 
       View question_2 = (View)findViewById(R.id.question_2); 

       question_3.setVisibility(View.GONE); 
       question_2.setVisibility(View.VISIBLE);};}); 

     //Click for question_4 
     next_btn3.setOnClickListener(new OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       View question_3 = (View)findViewById(R.id.question_3); 
       View question_4 = (View)findViewById(R.id.question_4); 

       question_3.setVisibility(View.GONE); 
       question_4.setVisibility(View.VISIBLE);};}); 

     //Go back to question_3 
     back_btn3.setOnClickListener(new OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       View question_4 = (View)findViewById(R.id.question_4); 
       View question_3 = (View)findViewById(R.id.question_3); 

       question_4.setVisibility(View.GONE); 
       question_3.setVisibility(View.VISIBLE);};}); 

     //Click for info screen 
     info_btn.setOnClickListener(new OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       View startpage = (View)findViewById(R.id.startpage); 
       ScrollView frameinfo = (ScrollView)findViewById(R.id.frameinfo); 
       View answers = (View)findViewById(R.id.answers); 

       startpage.setVisibility(View.GONE); 
       frameinfo.setVisibility(View.VISIBLE); 
       answers.setVisibility(View.VISIBLE);};}); 

     //Click for home 
     home_btn.setOnClickListener(new OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       View startpage = (View)findViewById(R.id.startpage); 
       View homepage = (View)findViewById(R.id.homepage); 

       startpage.setVisibility(View.GONE); 
       homepage.setVisibility(View.VISIBLE);};}); 

     //Click for view profile 
     view_profile_btn.setOnClickListener(new OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       View startpage = (View)findViewById(R.id.startpage); 
       View answers = (View)findViewById(R.id.answers); 
       ScrollView eerner_scroll = (ScrollView)findViewById(R.id.eerner_scroll); 

       startpage.setVisibility(View.GONE); 
       eerner_scroll.setVisibility(View.VISIBLE); 
       answers.setVisibility(View.VISIBLE);};}); 

    } 



    private void openDB() { 
     myDb = new DBAdapter(this); 
     myDb.open(); 

    } 

    protected void onDestroy() { 
     super.onDestroy(); 

     closeDB(); 
    } 

    private void closeDB() { 
     myDb.close(); 

    } 


    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     // Inflate the menu; this adds items to the action bar if it is present. 
     getMenuInflater().inflate(R.menu.goto_start, menu); 
     return true; 
    }} 
+0

你错过了创建查询中的昏迷。 – njzk2

回答

0

创建具有下列的表:

一个)buttonId:引用,四个按钮一个的ID(可以是1,2,3 & 4 )

b)值:要存储在按钮上的值点击

在覆盖SQLiteOpenHelper类的onCreate方法中将初始值插入此表中。 插入以下值(1,0),(2,0),(3,0),(4,0)as(buttonId,Value)

On button单击您的Activity,更新列的值在这种情况下,在1或2或3或4中具有对应的按钮ID的行。这是您可以如何分配一个数值来点击按钮并将值发送到数据库。

然后,将表中的所有列取出到游标中,逐个读取游标中每一行的列“value”将其添加到变量中。这就是我如何从数据库中添加(总和)值并将它们与您想要的值进行比较。

希望这一点帮助你的事业...

+0

你能举一个我可以适应的代码示例吗?谢谢! – eeschimosu

相关问题