samedi 23 mai 2015

getting package name in android

I want to get my package name when it extends SQLiteOpenHelper. In this class I myself change my package name and it is hard code. I just want that automaticly it gets package name. how I can fix it? It extends from SQLiteOpenHelper not Acctivity that's my problem.

enter code here
     public class database extends SQLiteOpenHelper {


public final String path="data/data/com.fatemehkh.hamkon/databases/";

public final String Name="database";
public SQLiteDatabase mydb;

private final Context mycontext;


public database(Context context) {
    super(context, "database", null, 1);
    mycontext=context;

}


@Override
public void onCreate(SQLiteDatabase arg0) {
    // TODO Auto-generated method stub

}
@Override
public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) {
    // TODO Auto-generated method stub

}


public void useable(){

    boolean checkdb=checkdb();

    if(checkdb){

    }else{

        this.getReadableDatabase();

        try{
        copydatabase();
        }catch(IOException e){
        }

    }



}

public void open(){

    mydb=SQLiteDatabase.openDatabase(path+Name, null, SQLiteDatabase.OPEN_READWRITE);

}

public void close(){
    mydb.close();
}

public boolean checkdb(){

    SQLiteDatabase db=null;
    try{    
    db=SQLiteDatabase.openDatabase(path+Name, null, SQLiteDatabase.OPEN_READONLY);
    }
    catch(SQLException e)
    {

    }
    //mydb.close();
    return db !=null ? true:false ;

}

public void copydatabase() throws IOException{
    OutputStream myOutput = new FileOutputStream(path+Name);
    byte[] buffer = new byte[1024];
    int length;
    InputStream myInput = mycontext.getAssets().open(Name);
    while ((length = myInput.read(buffer)) > 0) {
    myOutput.write(buffer, 0, length);
    }
    myInput.close();
    myOutput.flush();
    myOutput.close();
}

how I change this line.

public final String path="data/data/com.fatemehkh.hamkon/databases/";

Aucun commentaire:

Enregistrer un commentaire