こんにちは、アプリケーションに Stetho デバッグ プラットフォームを使用しています。次のようにgradleにStethoを追加しました
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.1.1'
compile 'com.android.support:design:23.1.1'
compile 'com.facebook.stetho:stetho:1.2.0'
}
次のようにonCreateメソッドに初期化しました
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Stetho.initializeWithDefaults(this);
findElementsByIds();
addDataIntoDBs();
initData();
}
デモ用にカテゴリ テーブル (cat_id および cat_name 列として) を作成し、いくつかのエントリを追加しました 。このスクリーンショットを参照してください。
画像のように同じ名前の2つの列が表示されている理由を誰でもわかりますか
テーブル作成のために行ったコード
public class DBHelper extends SQLiteOpenHelper{
private static String DATABASE_NAME = "citizan.db";
private static int DATABASE_VERSION = 1;
private static DBHelper dbHelperInstance = null;
private static SQLiteDatabase dbInstance= null;
public static String CATEGORY_TABLE = "category";
public static String CAT_ID = "cat_id";
public static String CAT_NAME = "cat_name";
private String CREATE_CATEGORY_TABLE = "create table "+CATEGORY_TABLE + "("+CAT_ID+" Integer primary key autoincrement, " +CAT_NAME+ " text"+")";
private String DROP_CATEGORY_TABLE = "drop table if exists "+CATEGORY_TABLE;
private DBHelper(Context context)
{
super(context, AppConstants.DATABASE_NAME, null,AppConstants.DATABASE_VERSION);
}
public static synchronized DBHelper getInstance(Context context) {
if(dbHelperInstance == null)
{
dbHelperInstance = new DBHelper(context);
}
return dbHelperInstance;
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(CREATE_CATEGORY_TABLE);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL(DROP_CATEGORY_TABLE);
onCreate(db);
}
public static void openConnection()
{
if(dbInstance == null)
{
dbInstance = dbHelperInstance.getWritableDatabase();
}
}
public void addCategories(String[] catArray) {
openConnection();
ContentValues values = new ContentValues();
for (int i=0;i<catArray.length;i++)
{
values.put(CAT_NAME, catArray[i]);
dbInstance.insert(CATEGORY_TABLE,null,values);
}
}
}