2

アプリケーションを開発しました。次に、アプリケーション コードで eclipse のバグ検索ツールをダウンロードして実行すると、次のようなバグが発生します。

Bug: Write to static field 
com.abc.myapp.controllers.LoginScreenActivityController.loginDetailsCursor from instance method   
com.abc.myapp.controllers.LoginScreenActivityController.getLoginMasterData()

This instance method writes to a static field. This is tricky to get correct if multiple instances are being manipulated, and generally bad practice. 

Confidence: High, Rank: Of Concern (15)
Pattern: ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD 
Type: ST, Category: STYLE (Dodgy code)

エラーが発生したコードは次のとおりです。

public class LoginScreenActivityController extends Activity{
    public static Cursor loginDetailsCursor;
    DatabaseHelper database_helper;
    public LoginScreenActivityController() {
    }

    public ArrayList<Login_Master> getLoginMasterData(){
        database_helper = new DatabaseHelper(this);
        try{
            database_helper.openDataBase();
        } catch (Exception e){
            e.printStackTrace();
        }   

                /*
                *
                * **Getting **bug** here**
                *
                */
        loginDetailsCursor = database_helper.getLoginDetails();

        //Creating instance of class Login_Master model
        Login_Master login_master = new Login_Master();
        ArrayList<Login_Master> loginDetailsArrayList = new ArrayList<Login_Master>();
        if(loginDetailsCursor != null && loginDetailsCursor.getCount()>0 ){
            for(loginDetailsCursor.moveToFirst(); !loginDetailsCursor.isAfterLast(); loginDetailsCursor.moveToNext()){
                //Done Some thing .....
            }
        }else{
            //Done some thing ...
        }

        //Closing Data Base Connection.
        if (database_helper != null) 
            database_helper.close();

        return loginDetailsArrayList;       
    }

    public void updateLoginDetails(String username){
        try{
            database_helper.openDataBase();
        } catch (Exception e){
        e.printStackTrace();
        }

        database_helper.updateLoginTab(username);
        //Closing Data Base Connection.

                /*
                *
                *  **Getting **null check bug** here**
                *
                */
        if (database_helper != null) 
            database_helper.close();
    }   
}

このバグを取り除くにはどうすればよいですか。私に提案してください。

4

0 に答える 0