Android 기술 Q&A 
Q&A 게시판에 질문을 남기신 글에 대한 답변/덧글/쪽글에 대한 Push 메일 서비스를 받고자 하시는 분들은
☞ Push 메일 서비스 공지를 필독하시기 바랍니다.
메소드 생성 관련 질문입니다.
작성자
작성일 2016-12-09 (금) 16:13
분 류 질문
ㆍ추천: 0  ㆍ조회: 8570      
IP: 175.xxx.100
아래와 같이 붉은색으로 표시된 메소드들을 사용하지 않고 다른 메소드를 만들어 사용하고 싶은데
만들어본 메소드는 실제 사용하지 못했고 사용불가능하다는 메세지가 나왔습니다.
사용가능한 메소드를 만드는데 가능여부확인 방법과 어떤 이름으로 메소드를 만들어야 하는지 궁금합니다.

예)버른클릭을 하지않고 onCreate(Bundle savedInstanceState) 다음에 바로 
 databaseName = editText.getText().toString();
        //데이터베이스를 여는 과정
        try {
            //database = openOrCreateDatabase(databaseName, Context.MODE_PRIVATE, null);

            //Helper사용 데이터 베이스를 만드는 부분이며 SelfWashLisDatatHelper를 만들어 사용함. 여기서 1은 버전정보이며 테이블을 추가했을 경우은 숫자를 2로 변경함.
            datatHelper = new SelfWashLisDatatHelper(getApplicationContext(), databaseName, null, 1);
            database = datatHelper.getWritableDatabase();
            plintln("데이터베이스를 열었습니다." + databaseName);
        }catch (Exception e) {
            e.printStackTrace();
        }
        내용을 실행 시키려면 사용가능한 메소드를 만드는데 가능여부확인 방법과 어떤 이름으로 메소드를 만들어야 하는지 아니면 찾는 방법이 궁금합니다.
그리고 아래에서 private void plintln(String data) {
        textView.append(data + "n");
    } 메소드도 어떻게 이 메소드도 사용가능한지 확인하고 만들었는지 알고 싶습니다.
    public void onButtonClick (View v) {
        databaseName = editText.getText().toString();
        //데이터베이스를 여는 과정
        try {
            //database = openOrCreateDatabase(databaseName, Context.MODE_PRIVATE, null);

            //Helper사용 데이터 베이스를 만드는 부분이며 SelfWashLisDatatHelper를 만들어 사용함. 여기서 1은 버전정보이며 테이블을 추가했을 경우은 숫자를 2로 변경함.
            datatHelper = new SelfWashLisDatatHelper(getApplicationContext(), databaseName, null, 1);
            database = datatHelper.getWritableDatabase();
            plintln("데이터베이스를 열었습니다." + databaseName);
        }catch (Exception e) {
            e.printStackTrace();
        }
    }

    public void onButtonClick2 (View v) {
        //createTable(); onCreate(SQLiteDatabase db)부분에서 호출됨.

        // Helper를 사용할 경우 사용하지 않음
        /*
        tableName = editText2.getText().toString(); //테이블을 읽어오는 부분
        //테이블 만느는 과정
        try {
            if (databaseName != null) {
                database.execSQL("CREATE TABLE if not exists " + tableName + "("
                        + "_id integer PRIMARY KEY autoincrement, "
                        + "name text,"
                        + "adress text, "
                        + "phone text"
                        + ")");
                plintln("테이블을 만들었습니다." + tableName);
            }else {
                plintln("데이터베이스를 열어 주세요.");
            }
        }catch (Exception e) {
            e.printStackTrace();
        }
        */
    }
    public void createTable(SQLiteDatabase db) {
        tableName = editText2.getText().toString();
        //테이블 만느는 과정
        try {
            if (db != null) {
                db.execSQL("CREATE TABLE if not exists " + tableName + "("
                        + "_id integer PRIMARY KEY autoincrement, "
                        + "name text, "
                        + "adress text, "
                        + "phone text"
                        + ")");
                plintln("테이블을 만들었습니다." + tableName);
            }else {
                plintln("데이터베이스를 먼저 열어 주세요.");
            }
        }catch (Exception e) {
            e.printStackTrace();
        }
    }

    //데이터 베이스가 있는경우
    public  void changeTable (SQLiteDatabase db) {
        try {
            if (db != null) {
                db.execSQL("CREATE TABLE if not exists " + "PRICE" + "("
                        + "_id integer PRIMARY KEY autoincrement, "
                        + "name text,"
                        + "price integer"
                        + ")");
                plintln("PRICE" + "테이블을 추가로 만들었습니다.");
            }else {
                plintln("데이터베이스를 열어 주세요.");
            }
        }catch (Exception e) {
            e.printStackTrace();
        }
    }

    public void onButtonClick4 (View v) {

        try {
            if (tableName == null) {
                tableName = editText2.getText().toString();
            }

            if (database != null) {
                Cursor cursor = database.rawQuery("SELECT _id, name, adress, phone FROM " + tableName, null);

                //리스트뷰에 붙이는 부분
                startManagingCursor(cursor);

                String [] columns = new String[] {"name", "adress", "phone"};
                int[] to = new int[] {R.id.textView2, R.id.textView3, R.id.textView4};

                //columns와 to 부분이 맵핑되는 부분
                SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, R.layout.selfwash_item, cursor, columns, to);
                listView.setAdapter(adapter);
                adapter.notifyDataSetChanged();


                int count = cursor.getCount();
                plintln("테이블에 갯수는 : " + count);

                for (int i = 0; i < count; i++) {
                    cursor.moveToNext();
                    int _id = cursor.getInt(0);
                    String name = cursor.getString(1);
                    String adress = cursor.getString(2);
                    String phone = cursor.getString(3);

                    plintln("테이블# : " + i + ":" + _id + ","  + name + ","  +  adress + ","  +  phone);
                }

                //cursor.close();
                plintln(tableName + "에 데이터를 조회했습니다.");

            }else {
                plintln("데이터베이스를 열어 주세요.");
            }
        }catch (Exception e) {
            e.printStackTrace();
        }
    }

    private void plintln(String data) {
        textView.append(data + "n");
    }

    //Helper사용시 만들어 짐. 생성자, 콜백메소드
    class SelfWashLisDatatHelper extends SQLiteOpenHelper {

        public SelfWashLisDatatHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
            super(context, name, factory, version);
        }

        @Override
        public void onOpen(SQLiteDatabase db) {
            super.onOpen(db);

            Toast.makeText(getApplicationContext(), "helper의 onOpen호출됨.", Toast.LENGTH_LONG).show();
        }

        @Override
        public void onCreate(SQLiteDatabase db) {
            //이 부분에서도 createTable(); 호출됨.
            Toast.makeText(getApplicationContext(), "helper의 onCreate호출됨.", Toast.LENGTH_LONG).show();
            createTable(db);

        }

        @Override
        public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
            Toast.makeText(getApplicationContext(), "helper의 onUpgrade호출됨." + oldVersion +"->" + newVersion, Toast.LENGTH_LONG).show();
            changeTable(db);
        }

        public void insert(String _query) {
            SQLiteDatabase db = getWritableDatabase();
            db.execSQL(_query);
            db.close();
        }

        public void update(String _query) {
            SQLiteDatabase db = getWritableDatabase();
            db.execSQL(_query);
            db.close();
        }

        public void delete(String _query) {
            SQLiteDatabase db = getWritableDatabase();
            db.execSQL(_query);
            db.close();
        }

        public String PrintData() {
            SQLiteDatabase db = getReadableDatabase();
            String str = "";

            Cursor cursor = db.rawQuery("select * from FOOD_LIST", null);
            while(cursor.moveToNext()) {
                str += cursor.getInt(0)
                        + " : foodName "
                        + cursor.getString(1)
                        + ", price = "
                        + cursor.getInt(2)
                        + "n";
            }

            return str;
        }

    }
}
덧글 쓰기 0
3500
※ 회원등급 레벨 0 이상 읽기가 가능한 게시판입니다.
    N     분류     제목    글쓴이 작성일 조회
5003 안드로이드 에뮬레이터 속도 [2] 2008-03-04 16759
5002 개념설명 : "@+" syntax in layout xml 2008-03-04 11766
5001 Touch Screen Event [1] 2008-03-04 12596
5000 Webkit 관련 2008-03-04 11080
4999 P2P 관련 2008-03-04 12365
4998 에뮬레이터간 XMPP 메시징환경 설정 2008-03-04 10776
4997 SD Card 환경설정 [1]+1 2008-03-04 11526
4996 안드로이드 디버깅 로그 출력 2008-03-04 13428
4995 안드로이드(Android) Webkit 사양관련 2008-03-04 14497
4994 레이아웃 : TextView와 Scrollbar 2008-03-04 12155
4993 안드로이드 포팅 [8] 2008-03-04 46645
4992 [파노라마] WebKit에 대한 궁금한 점이.. [1] 2008-03-07 8934
4991 WebKit-GTK에 대하여. [1] 2008-03-07 10917
4990 프로그램을 만들다 난관에 부딧혀 질문올립니다... [2] 2008-03-07 9481
4989 웹 관련해서 질문이 있습니다. [3] 2008-03-11 8416
4988 Android와 OpenBinder에 대한 질문입니다. [3] 2008-03-13 11014
4987 ProgressBarDialog 컨트롤에 대해서.... [3] 2008-03-14 10862
4986 안드로이드 os안에 있는 이미지 파일을 출력하고자 합니다... 2008-03-15 9481
4985 webkit 구조 및 기능에 대한 질문입니다. 2008-03-18 11950
4984 [답변]webkit 구조 및 기능에 대한 질문입니다 [4] 2008-03-18 13753
4983 [답변] 안드로이드 os안에 있는 이미지 파일을 출력하고자 합.. [2] 2008-03-19 12629
4982 안드로이드와 피카사 관련 질문 2008-03-19 8836
4981 rotatedrawable을 어떻게 사용해야되는데요 [1] 2008-03-20 11544
4980 TI OMAP 보드 포팅 [4] 2008-03-21 10787
4979 xmpp를 이용하여 p2p 어플리케이션 제작하신분 계신가요??.. [4] 2008-03-24 9295
4978 포팅관련 질문을 올립니다 [2] 2008-03-24 9751
4977 JVM 관련해서 물어볼 곳이 여기밖에 없네요. [4] 2008-03-25 9961
4976 안녕하십니까 m5에 관한 질문좀 드릴께요 [2] 2008-03-25 8904
4975 다시한번 질문드립니다. [1] 2008-03-26 8361
4974 안드로이드 안에 있는 app데모중에.. [1] 2008-03-26 9480
4973 armadillo-500(arm1136jf-s) - USB Gadget 동작 [3] 2008-03-27 10245
4972 TI OMAP 보드 보팅 중 uboot관련 [5] 2008-03-27 9770
4971 맵 갱신을 하려고하는데요. 에러가 나네요. [2] 2008-03-27 11968
4970 다이얼 로그 질문 이에요.. [2] 2008-03-28 8908
4969 scroll bar 사용시에 터치패드로 움직이는 것을 막고 싶습니다.. 2008-03-28 9026
4968 안드로이드와 UMA/GAN의 조화 2008-03-31 8913
4967 안드로이드 플랫폼 개발과 관련하여 질문 [2] 2008-04-01 8748
4966 이거 만우절 장난인가요? 진짠가...?ㅜㅜ [2] 2008-04-01 9146
4965 안드로이드 포팅 관련 질문입니다[맨땅에 헤딩중입니다].. [2] 2008-04-03 10513
4964 안드로이드 플랫폼에 있는 [1] 2008-04-03 9280
4963 다이얼로그에 관련된 좋은 샘플을 구합니다. [2] 2008-04-04 9094
4962 Conversion to Dalvik format failed with error 1 [3] 2008-04-07 10996
4961 시스템 해킹 관련 [1] 2008-04-07 8616
4960 안드로이드 챌린지 제출방법에 대해서 궁금한점이 있습니다... [4] 2008-04-08 8563
4959 포커스에 관한것좀 여쭙겟습니다. [4] 2008-04-09 15403
4958 파일 관리에 대해 질문있습니다. [1] 2008-04-11 8363
4957 mp3플레이어 MusicDroid에 대해서.. [2] 2008-04-14 9851
4956 안드로이드의 CE제품 적용 [1] 2008-04-21 8526
4955 xml 디자인 관련 [3] 2008-04-21 9641
4954 파일 입출력 관련.. [2] 2008-04-24 9430
12345678910,,,101