2016-05-02 20 views
0

これはコードの約は、それが認識されないトークンを言うと

public static final String[] MENU_COLUMNS = {FOOD_NAME,CARBS,SERVING}; 
private static final String REST = "CREATE TABLE " +MENU_COLUMNS +"(" + FOOD_NAME +" TEXT , "+ CARBS +" TEXT, " + SERVING + " TEXT)"; 

を話していると、これはエラーコード

java.lang.RuntimeException: Unable to get provider com.example.diabeticdiner.LocationProvider: android.database.sqlite.SQLiteException: unrecognized token: "[Ljava.lang.String;@75ed766(Food_name TEXT PRIMARY KEY, Carbs TEXT, Serving TEXT)" (code 1): , while compiling: CREATE TABLE [Ljava.lang.String;@75ed766(Food_name TEXT PRIMARY KEY, Carbs TEXT, Serving TEXT) 
+3

おかしな名前のようなものへのコードは、: '[Ljava.lang.Stringは、75ed766' @ ...残念ながら、あなたはそれを使用することはできません。文字列リソースから文字列を取り出す方法を学んでください。 –

+2

'MENU_COLUMNS'の値を設定したコードを共有してください –

答えて

3
public static final String[] MENU_COLUMNS = {FOOD_NAME,CARBS,SERVING}; 
private static final String REST = "CREATE TABLE " +MENU_COLUMNS ... 

MENU_COLUMNS変換されないですがクラッシュし、プログラムを実行することはできません有効なテーブル名となる文字列に変換します。これは文字列配列で、などの結果は[Ljava.lang.String;@75ed766のようになります。

変更テーブルの

public static final String[] MENU_COLUMNS = {FOOD_NAME,CARBS,SERVING}; 
private static final String MENU_TABLE = "menu"; // or whatever your table name should be 
private static final String REST = "CREATE TABLE " + MENU_TABLE ... 
+0

ありがとうございました – kekarook

関連する問題