복붙노트

[ANDROID] 가까운 데이터베이스 연결에 가장 좋은 장소

ANDROID

가까운 데이터베이스 연결에 가장 좋은 장소

해결법


  1. 1.구글 엔지니어 (다이앤 Hackborn)에 의해이 게시물에 따르면, 개방형 데이터베이스 연결을 떠나는 아무것도 잘못있다 :

    구글 엔지니어 (다이앤 Hackborn)에 의해이 게시물에 따르면, 개방형 데이터베이스 연결을 떠나는 아무것도 잘못있다 :

    그래서, 간단하게하기 위해, 당신의 코드에 대한 하나의 잘 정의 된 진입 점을 제공하는 응용 프로그램 클래스를 확장하고, 그것에서 onCreate에서 데이터베이스 연결을 열 것 (). 응용 프로그램의 필드로 DB 연결을 저장하고 코드의 나머지에 대한 연결이 사용할 수 있도록 접근 방법을 제공합니다.

    그런 다음, 그것을 폐쇄에 대해 걱정하지 마십시오.


  2. 2.일반적으로 나는 연결을 연 활동의들의 OnDestroy () 함수에 연결을 닫을 것입니다. 나는 커서를 사용하는 기능의 데이터베이스에서) (커서를 닫을 것입니다.

    일반적으로 나는 연결을 연 활동의들의 OnDestroy () 함수에 연결을 닫을 것입니다. 나는 커서를 사용하는 기능의 데이터베이스에서) (커서를 닫을 것입니다.

    public MyActivity extends Activity{
        private myDatabase mDatabase; // myDatabase extends SQLiteOpenHelper
        private Cursor mCursor;
    
        public MyActivity(Context context){
            super(context);
            initMemberVariables();
        }
    
        public ElementButton(Context context, AttributeSet attrS){
        super(context, attrS);
            initMemberVariables();
        }
    
        public ElementButton(Context context, AttributeSet attrS, int defStyle){
            super(context, attrS, defStyle);
            initMemberVariables();
        }
    
        private void initMemberVariables(){
            mDatabase = new PSEdb(this.getContext());
        }
    
        private void getData(){
            mCursor = mDatabase.MyGetterFunction();
            while(mCursor.moveToNext()){
                try{
                    // populate your data
                }catch(CursorIndexOutOfBoundsException ex){
                    // handle the exception
                }
            }
            mCursor.close();
        }
    
        @Override
        public void onDestroy(){
            super.onDestroy();
            mDatabase.close();
        }
    }
    

  3. 3.데이터베이스에 대한 연결을 설정하면 비싸다. 연결이 부족하지 않고, 데이터베이스가 로컬 인 경우는 일반적으로 클라이언트 - 서버 응용 프로그램에서 할 거라고, 나는, 데이터베이스에 각 쓰기 작업을 위해 수립보다는 열린 연결을 유지하는 것 그 규모에 요구 동시 다수의 사용자를 수용.

    데이터베이스에 대한 연결을 설정하면 비싸다. 연결이 부족하지 않고, 데이터베이스가 로컬 인 경우는 일반적으로 클라이언트 - 서버 응용 프로그램에서 할 거라고, 나는, 데이터베이스에 각 쓰기 작업을 위해 수립보다는 열린 연결을 유지하는 것 그 규모에 요구 동시 다수의 사용자를 수용.

  4. from https://stackoverflow.com/questions/6608498/best-place-to-close-database-connection by cc-by-sa and MIT license