从ContentProvider类而不是主类开始的Android代码

从ContentProvider类而不是主类开始的Android代码,android,sqlite,android-contentprovider,android-context,Android,Sqlite,Android Contentprovider,Android Context,昨天我发布了一个类似的问题,关于为什么我的代码是从我的ContentProvider类而不是主类开始的,我得到了一些反馈,我已经更新了这些反馈,但问题仍然是代码是从ContentProvider类而不是主类开始的。我用debugger运行了这段代码,它让人费解的是,为什么代码在内容提供者中启动,并在上下文阶段传递回主类。我希望在这里寻求一些帮助 主要课程如下: public class MedF1 extends Activity { /** Called when the activity

昨天我发布了一个类似的问题,关于为什么我的代码是从我的ContentProvider类而不是主类开始的,我得到了一些反馈,我已经更新了这些反馈,但问题仍然是代码是从ContentProvider类而不是主类开始的。我用debugger运行了这段代码,它让人费解的是,为什么代码在内容提供者中启动,并在上下文阶段传递回主类。我希望在这里寻求一些帮助

主要课程如下:

public class MedF1 extends Activity {

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.drug_list); 

    ListView drugListView;
    ArrayAdapter<Drug> aa;
    ArrayList<Drug> drugs = new ArrayList<Drug>();

    drugListView = (ListView)this.findViewById(R.id.list1);
    DrugProvider.DatabaseHelper mDbHelper1 = new DrugProvider.DatabaseHelper(this);

    //Creation of the Database here
    try {

    mDbHelper1.createDataBase();

    } catch (IOException ioe) {

    throw new Error("Unable to create database");

    }

    try {

    mDbHelper1.openDataBase();

    }catch(SQLException sqle){

    throw sqle;

    }

嘿,我已经找到了为什么代码是从ContentProvider而不是主类开始的。这是因为ContentProvider扩展附带的onCreate实现方法。我重新调整了另一个教程的用途,在没有真正理解它的情况下创建了它。。。这就是为什么。是的,任何其他面临此问题的人都应该尝试探索内容提供程序类中的onCreate方法是否会影响它-这不是清单问题:

感谢您提供的信息,调试器对清单问题没有帮助,您不能将日志项或toast放入清单中

public class DrugProvider extends ContentProvider {

// publishing the URI for this provider
public static final Uri CONTENT_URI = Uri
        .parse("content://com.paad.provider.drug/drugs");

private static final int DRUGS = 1;
private static final int DRUG_ID = 2;
private static final UriMatcher uriMatcher;

// allocating UriMatcher object

static {
    uriMatcher = new UriMatcher(UriMatcher.NO_MATCH);
    uriMatcher.addURI("com.paad.provider.drug", "drugs", DRUGS);
    uriMatcher.addURI("com.paad.provider.drug", "drugs/#", DRUG_ID);
}

// Column names
public static final String KEY_ROWID = "_id";
public static final String KEY_DRUG = "drug";
public static final String KEY_CONTENT = "content";
public static final String KEY_INDICATION = "indication";
public static final String KEY_DOSAGE = "dosage";
public static final String KEY_SPECIALPRECAUTION = "specialprecaution";

// Column indexes
public static final int DRUG_COLUMN = 1;
public static final int CONTENT_COLUMN = 2;
public static final int INDICATION_COLUMN = 3;
public static final int DOSAGE_COLUMN = 4;
public static final int SPECIALPRECAUTION_COLUMN = 5;

// private DatabaseHelper mDbHelper;
// private SQLiteDatabase mDb;
private static String DB_PATH = "data/data/com.paad.MedF1/databases/";
private static String DB_NAME = "data";
private static final int DATABASE_VERSION = 1;
private static final String DRUG_TABLE = "drugs";

public static SQLiteDatabase myDataBase;



// Creation of the database and its basic parameters
public static class DatabaseHelper extends SQLiteOpenHelper {   

    public final Context myContext;

    public DatabaseHelper(Context context) {

        super(context, DB_NAME, null, 1);

        this.myContext = context;

    }