2017-03-06 6 views
0

私は誤って活動をしたと私はちょうどJavaクラスのようにそれを作るために、コードを削除したが、私はそれがJavaクラスへのアクティビティを正しく変更しましたか?

を言う私のマニフェストファイルに気づいたデータベースハンドラを持っているが「com.something.MyDBHandler」はデフォルトコンストラクタがありませんless ...(Ctrl + F1) Android XMLファイル内のリソース参照を検証します。 'com.something.MyDBHandler'は 'android.app.Activity' less ...(Ctrl + F1)に割り当てられません Android XMLファイル内のリソース参照を検証します。

"MyDBHandler"(6行目)の上にカーソルを置いたとき。

とも私は

未解決のクラスを取得する 'ハイスコア' あまり...(Ctrlキー+ F1)AndroidのXMLファイル内の を検証リソース参照。

「ハイスコア」(4行目)から上に移動したとき。あなたはそれをしたくない場合は

マニフェスト

<application 
    android:allowBackup="true" 
    android:icon="@mipmap/gamebutton" 
    android:label="@string/app_name" 
    android:supportsRtl="true" 
    android:theme="@style/AppTheme"> 
    <activity android:name=".MainActivity"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 

    <activity android:name=".GameScreen" 
     android:label="@string/app_name" /> 

    <activity android:name="MyDBHandler" /> 


    <activity android:name=".HighScore"></activity> 
</application> 

MyDBHandlerクラス

import android.content.ContentValues; 
import android.content.Context; 
import android.database.Cursor; 
import android.database.sqlite.SQLiteDatabase; 
import android.database.sqlite.SQLiteOpenHelper; 

public class MyDBHandler extends SQLiteOpenHelper { 

private static final int DATABASE_VERSION = 2; 
private static final String DATABASE_NAME = "products.db"; 
public static final String TABLE_PRODUCTS = "products"; 
public static final String COLUMN_ID = "_id"; 
public static final String COLUMN_PRODUCTNAME = "productname"; 

public MyDBHandler(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) { 
    super(context, DATABASE_NAME, factory, DATABASE_VERSION); 
} 


@Override 
public void onCreate(SQLiteDatabase db) { 
    String query = "CREATE TABLE " + TABLE_PRODUCTS + "(" + 
      COLUMN_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " + 
      COLUMN_PRODUCTNAME + " TEXT " + 
      ");"; 
    db.execSQL(query); 
} 

@Override 
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 
    db.execSQL("DROP TABLE IF EXISTS " + TABLE_PRODUCTS); 
    onCreate(db); 
} 

//add a new row to the database 
public void addProduct(Products product){ 
    ContentValues values = new ContentValues(); 
    values.put(COLUMN_PRODUCTNAME, product.get_productname()); 
    SQLiteDatabase db = getWritableDatabase(); 
    db.insert(TABLE_PRODUCTS, null, values); 
    db.close(); 
} 

/*//delete a product from the database 
public void deleteProduct(String productName){ 
    SQLiteDatabase db = getWritableDatabase(); 
    db.execSQL("DELETE FROM " + TABLE_PRODUCTS + " WHERE " + COLUMN_PRODUCTNAME + "=\"" + productName + "\";"); 
} 
*/ 

//print out the database as a string 
public String databaseToString(){ 
    String dbString = ""; 
    SQLiteDatabase db = getWritableDatabase(); 
    String query = "SELECT * FROM " + TABLE_PRODUCTS + " WHERE 1"; 


    //Cursor point to location in your results 

    Cursor c = db.rawQuery(query, null); 
    //Move to the first row in your results 
    c.moveToFirst(); 

    while(!c.isAfterLast()){ 
     if(c.getString(c.getColumnIndex("productname")) != null){ 
      dbString += c.getString(c.getColumnIndex("productname")); 
      dbString += "\n"; 
     } 
     c.moveToNext(); 
    } 


    db.close(); 
    return dbString; 

} 

} 

答えて

1

<activity android:name=".HighScore"></activity>を削除します。あなたのAndroidManifest

+0

からあなたMyDBHandler活動のプロパティを削除することが混乱の何かアップしたい場合おかげで、確認されませんでした。 –

0

から は、Androidマニフェスト

<application android:allowBackup="true" android:icon="@mipmap/gamebutton" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".GameScreen" android:label="@string/app_name" /> <activity android:name=".HighScore"></activity> </application> 
関連する問題