2014-03-05 32 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

相關問題