일단 과제는 아님

안드로이드에서 SQLite를 이용해서 리스트뷰로 DB내용을 뿌려주고 

리스트뷰 해당 아이템을 클릭하면 웹브라우저가 열리게 클릭이벤트를 만드는데 

클릭을 해도 안먹혀;; 뭐가 잘못된지 모르겠음 인터넷 찾아보고 밤새면서 해도 안되더라고;;;

어레이어댑터고 지랄이고 다 써봤는데도 안됨...

횽들 좀 도와줘




<pre>package com.example.favoritesql;

import java.util.ArrayList;
import java.util.Collection;

import android.net.Uri;
import android.os.Bundle;
import android.app.Activity;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.Menu;  
import android.view.ViewGroup;
import android.content.ContentValues;
import android.content.Context;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.CursorAdapter;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.Toast;
import android.widget.ImageView;
import android.widget.TextView;

    public class MainActivity extends Activity {

       ArrayList<String> items = new ArrayList<String>();
       ArrayAdapter<String> itemsDBAdapter;  
        
       DBHelper mHelper;
       EditText mText;
       Button btn;
       ListView listview;
       Cursor cursor;
       SQLiteDatabase db;
        
       public void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.activity_main);

          mHelper = new DBHelper(this);
          mText = (EditText)findViewById(R.id.editText);
          btn = (Button)findViewById(R.id.select);
          listview = (ListView)findViewById(R.id.listview);
          
          
          
        //  listview.setAdapter(itemsDBAdapter);
          
       //   registerForContextMenu(listview);
        
      
    
       }
       public void m(View v) {
          SQLiteDatabase db;
          ContentValues row;

          switch (v.getId()) {  

          // 데이터 추가
          case R.id.insert:
             db = mHelper.getWritableDatabase();
        
             //insert 메서드로 삽입
             row = new ContentValues();
             row.put(\"name\", \"\");
             row.put(\"adress\",mText.getText().toString());
             db.insert(\"Customer\", null, row);
              
             // SQL 명령으로 삽입
           /*  db.execSQL(\"INSERT INTO customer VALUES (null, \'임꺽정\', \'서울\', 40);\");
             db.execSQL(\"INSERT INTO customer VALUES (null, \'이순신\', \'부산\', 35);\");   */

             mHelper.close();
             Toast.makeText(this, \"저장되었습니다.\", 3000).show();
             break;

      

/*       // 데이터 삭제
        case R.id.delete:
           db = mHelper.getWritableDatabase();


           // delete 메서드로 삭제
          db.delete(\"customer\", null, null);


          // SQL 명령으로 삭제
          //db.execSQL(\"DELETE FROM customer;\");


          mHelper.close();
          mText.setText(\"테이터 삭제 성공\");
          break;

      

       // 데이터 수정 (서울을 속초로 수정)
       case R.id.update:
          db = mHelper.getWritableDatabase();


          // update 메서드로 갱신
          //row = new ContentValues();
          //row.put(\"adress\", \"속초\");
          //db.update(\"customer\", row, \"adress = \'홍길동\'\", null);


          // SQL 명령으로 갱신
         db.execSQL(\"UPDATE customer SET adress = \'대전\' WHERE name = \'홍길동\';\");
         mHelper.close();
         mText.setText(\"데이터 수정 완료\");
          break;
*/


       //데이터 조회

       case R.id.select:
          db = mHelper.getReadableDatabase();

          // 안드로이드의 Cursor 클래스는 ResultSet과 유사하다.
          Cursor cursor1;

          // query 메서드로 읽기
          //cursor = db.query(\"customer\", new String[]
          //{\"name\", \"adress\", \"age\"}, null, null, null, null, null);

         // SQL 명령으로 읽기
         cursor1 = db.rawQuery(\"SELECT name, adress FROM Customer\", null);
         String[] Result = new String[1];
        while (cursor1.moveToNext()) {
            int i =0;
         String name = cursor1.getString(0);
          String adress = cursor1.getString(1);
          Result[i] += (name + \"\" + adress + \"\\n\");
          Result[i] = Result[i].substring(4);
          
          }
      
          
          
          
         if(cursor1.getCount() > 0){
             itemsDBAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, Result);
             listview.setAdapter(itemsDBAdapter);
             //listview.setChoiceMode(listview.CHOICE_MODE_SINGLE);
            }        

else {
                
                 mText.setText(\"데이터가 없습니다\");
             }
         listview.setOnItemClickListener(new OnItemClickListener()
           {

            @Override
            public void onItemClick(AdapterView<?> arg0, View arg1, int position, long id) {
                // TODO Auto-generated method stub
                /* SQLiteDatabase db;
                 db = mHelper.getReadableDatabase();
                 Cursor cursor;
                 String str = new String();
                  
                 cursor = db.rawQuery(\"SELECT adress FROM Customer\", null);
                  
               //  String name = cursor.getString(0);
                 String adress = cursor.getString(1);
              
                 str += ( adress + \"\\n\");*/

                //cursor.moveToPosition(position);
                //String str = cursor.getString(cursor.getColumnIndex(\"address\"));
                String str = (String)itemsDBAdapter.getItem(position);
                  
                  

                 Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(str));
                 MainActivity.this.startActivity(intent);
            }
           });
             cursor1.close();
             mHelper.close();
             break;
          }
       }  
    }

      

    /* WordDBHelper에 부모 클래스인 안드로이드의 SQLiteOpenHelper 클래스는 많은 도움을 준다.

        1. onCreate(SQLiteDatabase db 메서드로 DB를 생성하거나, DB가 있으면 열기를 한다,  

        2. onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) 메서드로 DB 업데이트도 한다.

    */


        

    class DBHelper extends SQLiteOpenHelper {
       public DBHelper(Context context) {
       super(context, \"Customer.db\", null, 1);
       }

       public void onCreate(SQLiteDatabase db) {
          db.execSQL(\"CREATE TABLE Customer ( _id INTEGER PRIMARY KEY AUTOINCREMENT, \" +
                  \"name TEXT, adress TEXT);\");
       }

       public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
          db.execSQL(\"DROP TABLE IF EXISTS dic\");
          onCreate(db);
       }
    }

</pre>