태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.


1부터 50 클릭

2011.07.03 17:21



apk파일 :


//==================================================================
Main클래스

package cc.co.sody;

import java.util.ArrayList;
import java.util.Random;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.ContentValues;
import android.content.DialogInterface;
import android.content.Intent;
import android.database.sqlite.SQLiteDatabase;
import android.graphics.Color;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.View;
import android.widget.Button;
import android.widget.TableLayout;
import android.widget.TableRow;
import android.widget.TextView;

public class Main extends Activity {
      ArrayList<Integer> arr1;
      ArrayList<Integer> arr2;
      int ok=1;
      TableLayout tl;
      Tim tim;
        int time=0;
        protected Helper mData=null;
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        mData=new Helper(this.getApplicationContext());
         arr1=new ArrayList<Integer>();
         arr2=new ArrayList<Integer>();  
      // input();
     
       main();
         Button btnstart=(Button)findViewById(R.id.start);
         btnstart.setOnClickListener(new View.OnClickListener() {
           
            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
               
                tl.removeAllViews();
                ok=1;
                input();
                time=0;
                      tim=new Tim();
                     tim.start();
                     TextView tv=(TextView)findViewById(R.id.time);
                     tv.setVisibility(0);
                     v.setVisibility(8);
            }
        });
        
        
         Button btn=(Button)findViewById(R.id.list);
         btn.setOnClickListener(new View.OnClickListener() {
           
            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                //tim.stop();
                TextView tv=(TextView)findViewById(R.id.time);
                 Button btnstart=(Button)findViewById(R.id.start);
                  tv.setVisibility(8);
                  ok=1;
                 btnstart.setVisibility(0);
                tl.removeAllViews();
                arr1.clear();
                arr2.clear();
                 main();
                Intent in=new Intent(Main.this,Score.class);
                startActivity(in);
            }
        });
    }
    void main(){
        for(int i=1;i<26;i++){
            arr1.add(i);
        }
        for(int i=26;i<51;i++){
            arr2.add(i);
        }
           tl=(TableLayout)findViewById(R.id.tablelayout);
              int z=0;
          for(int i=0;i<5;i++){
       
               TableRow tr=new TableRow(Main.this);
                    for(int k=0;k<5;k++){
                        final TextView tv1=new TextView(Main.this);
                       
                        tr.addView(tv1);
             
                
                        Random rnd=new Random();
                      tv1.setGravity(1);
                        tv1.setTextSize(52);
                                if(z++%2==0)  tv1.setBackgroundColor(Color.YELLOW);
                                else  tv1.setBackgroundColor(Color.WHITE);
                        tv1.setTextColor(Color.BLACK);
                        int a=rnd.nextInt(arr1.size());
                       tv1.setText(" "+arr1.get(a)+" ");
                        arr1.remove(a);   
                     
                    }
                tl.addView(tr);
               
           }z=0;
       
    }
   
            void input(){
                arr1.clear();
                arr2.clear();
                for(int i=1;i<26;i++){
                    arr1.add(i);
                }
                for(int i=26;i<51;i++){
                    arr2.add(i);
                }
                   tl=(TableLayout)findViewById(R.id.tablelayout);
                      int z=0;
                  for(int i=0;i<5;i++){
               
                       TableRow tr=new TableRow(Main.this);
                            for(int k=0;k<5;k++){
                                final TextView tv1=new TextView(Main.this);
                               
                                tr.addView(tv1);
                     
                        
                                Random rnd=new Random();
                              tv1.setGravity(1);
                                tv1.setTextSize(52);
                                        if(z++%2==0)  tv1.setBackgroundColor(Color.YELLOW);
                                        else  tv1.setBackgroundColor(Color.WHITE);
                                tv1.setTextColor(Color.BLACK);
                                int a=rnd.nextInt(arr1.size());
                               tv1.setText(" "+arr1.get(a)+" ");
                                arr1.remove(a);   
                               
                                tv1.setOnClickListener(new View.OnClickListener() {
                               
                                @Override
                                                public void onClick(View v) {
                                        if(ok==50){
                                            //tim.stop();
                                            SQLiteDatabase db = mData.getWritableDatabase();
                                            ContentValues values=new ContentValues();
                                            values.put("time", time);
                                            db.insert("Score", null, values);
                                           
                                            exit("축하합니다",time+"초 달성 한겜 더 하시겠습니까?");
                                        }
                                        if(ok>25){
                                                if(ok==Integer.parseInt(tv1.getText().toString().trim())){
                                                tv1.setText("      ");
                                                ok++;
                                                }else{
                                                    //tim.stop();
                                                    exit("게임끝","한겜더");
                                                }
                                        }else{
                                            if(ok==Integer.parseInt(tv1.getText().toString().trim())){
                                                Random rnd=new Random();
                                                  int a=rnd.nextInt(arr2.size());
                                                       tv1.setText(" "+arr2.get(a)+" ");
                                                        arr2.remove(a);   
                                                ok++;
                                               
                                            }else{
                                                tim.stop();
                                                exit("게임끝","한겜더");
                                            }
                                               
                                            }
                                }
                                });
                            }
                        tl.addView(tr);
                       
                   }z=0;
            }

           
                                                void exit(String str,String str2){
                                                    new AlertDialog.Builder(Main.this)
                                                    .setMessage(str2)
                                                    .setTitle(str )
                                                    .setPositiveButton("함더", new DialogInterface.OnClickListener() {
                                                        public void onClick(DialogInterface dialog, int whichButton) {
                                                            tl.removeAllViews();
                                                            arr1.clear();
                                                            arr2.clear();
                                                            ok=1;
                                                            input();
                                                            time=0;
                                                            // tim.start();
                                                        }
                                                    })
                                                    .setNegativeButton("안해", new DialogInterface.OnClickListener() {
                                                        public void onClick(DialogInterface dialog, int whichButton) {
                                                            finish();
                                                        }
                                                    })
                                                    .show();
                                                }
                                               
                                               
                                                Handler hd=new Handler(){
                                                    public void handleMessage(Message msg){
                                                        TextView tv=(TextView)findViewById(R.id.time);
                                                        if(msg.what==0){
                                                            tv.setText(msg.arg1+"초");
                                                        }
                                                    }
                                                };


class Tim extends Thread{

    public Tim(){}
    public void run(){
        while(true){
        try{
            time=time+1;
        Message m=new Message();
        m.what=0;
        m.arg1=time;
        hd.sendMessage(m);
        sleep(1000);
        }catch(Exception e) {
           
        }
    }
    }
}

}
//-------------------------------------------------------------------------------------------------------
Score 클래스

package cc.co.sody;


import java.util.ArrayList;

import android.app.Activity;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListView;

public class Score extends Activity {
     Helper mData=null;
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.list);
        ArrayList<String> arr=new ArrayList<String>();
        mData=new Helper(this.getApplicationContext());
        SQLiteDatabase db=mData.getReadableDatabase();
       
        Cursor c = db.query("Score",new String[] {"time"}, null, null, null, null, "time ASC");
        int o=1;
          c.moveToFirst();
          while (c.isAfterLast() == false) {

             for (int i = 0; i < c.getColumnCount(); i++) {
                  arr.add((o++)+"위    "+c.getString(i));
             }
             c.moveToNext();
          }
       
          ArrayAdapter<String> aa=new ArrayAdapter<String>(Score.this,android.R.layout.simple_list_item_1 ,arr);
         
          ListView lv=(ListView)findViewById(R.id.listview);
          lv.setAdapter(aa);
       
       
        Button btn=(Button)findViewById(R.id.backbtn);
       
        btn.setOnClickListener(new View.OnClickListener() {
           
            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                finish();
            }
        });
      
    }
    @Override
    protected void onDestroy(){
        super.onDestroy();
        if(mData != null)
        {
            mData.close();
        }
    } 

}
//----------------------------------------------------------------------------------------------------
Helper 클래스

package cc.co.sody;


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

public class Helper extends SQLiteOpenHelper {

    public Helper(Context context) {
        super(context, "1to50score.db", null, 1);
        // TODO Auto-generated constructor stub
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        // TODO Auto-generated method stub
        db.execSQL("CREATE TABLE " + "Score"+ " ("
                + "Id" + " INTEGER PRIMARY KEY AUTOINCREMENT ,"
            
                + "time" + " TEXT"
                + ");");
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        // TODO Auto-generated method stub
       
    }
    @Override
    public void onOpen(SQLiteDatabase db){
        super.onOpen(db);
    }

   
   
}
//======================================================================
xml

Main클래스의 xml(main.xml)


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:gravity="center_horizontal"
    >


<TextView 
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="1부터 50까지 차례대로 눌러주세요"
       android:textSize="10pt"
          android:paddingBottom="10px"
            android:paddingTop="14px"
    />
    <Button
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:text="    시작    "
     android:id="@+id/start"
     android:textSize="10pt"
     android:background="#00ff00"
     />
    <TextView 
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="0"
       android:textSize="10pt"
       android:id="@+id/time"
       android:visibility="gone"
         android:textColor="#ffffff"
    />


    <TableLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/tablelayout"
    android:paddingBottom="20px"
         android:paddingTop="10px"
    >
  
    </TableLayout>
 <Button
     android:layout_width="fill_parent"
     android:layout_height="wrap_content"
     android:text="순위보러가기"
     android:id="@+id/list"
     />
    </LinearLayout>
//-----------------------------------------------------------------------------------------------
Score클래스의 xml(list.xml)

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:gravity="center_horizontal"
    >
    <ListView
        android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:id="@+id/listview"
    />
    <Button
            android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:id="@+id/backbtn"
    android:text="돌아가기"
    />
</LinearLayout>

Comments

What's on your mind?

댓글 입력 폼