使用其列创建的数据库,但未插入jsonfile中的数据

时间:2018-06-27 20:42:29

标签: java android

{

公共类MainActivity扩展了AppCompatActivity {

FragranceHelper fragranceHelper;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    fragranceHelper = new FragranceHelper(this);
}

}

公共类FragranceHelper扩展了SQLiteOpenHelper {

    private static final String TAG = FragranceHelper.class.getSimpleName();

    private static final String DATABASE_NAME = "fragrancesitem.db";
    private static final int DATABASE_VERSION = 1;

    private Resources resources;
    SQLiteDatabase db ;

public FragranceHelper(Context context) {
    super(context, DATABASE_NAME, null, DATABASE_VERSION);
    resources = context.getResources();
    db = getWritableDatabase();

}

@Override
public void onCreate(SQLiteDatabase sqLiteDatabase) {

    final String SQL_CREATE_FRAGRANCE_TABLE = "CREATE TABLE " + FragranceContact.FragranceEntry.TABLE_NAME + " (" +
            FragranceContact.FragranceEntry._ID + " INTEGER PRIMARY KEY AUTOINCREMENT," +
            FragranceContact.FragranceEntry.COLUMN_NAME + " TEXT NOT NULL, " +
            FragranceContact.FragranceEntry.COLUMN_DESCRIPTION + " TEXT NOT NULL, " +
            FragranceContact.FragranceEntry.COLUMN_IMAGE + " TEXT NOT NULL, " +
            FragranceContact.FragranceEntry.COLUMN_PRICE + " REAL NOT NULL, " +
            FragranceContact.FragranceEntry.COLUMN_USERRATING + " INTEGER NOT NULL " + " );";

    sqLiteDatabase.execSQL(SQL_CREATE_FRAGRANCE_TABLE);

    try {
        readDataToDb(sqLiteDatabase);
    } catch (IOException e) {
        e.printStackTrace();
    } catch (JSONException e) {
        e.printStackTrace();
    }

}

@Override
public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {

}

public void readDataToDb (SQLiteDatabase db) throws IOException,JSONException
{



    final String BGS_FRAGRAMNCENAME = "fragranceName";
    final String BGS_DESCRIPTION = "discrption";
    final String BGS_IMAGEURL = "imagUrl";
    final String BGS_PRICE = "price";
    final String BGS_USERRATING = "userRating";

    try {
        String jsonDataString = readJsonDataFromFile();

        //JSONObject fragrance = new JSONObject(rawjson);
        JSONArray fragranceArray = new JSONArray(jsonDataString);

        for (int i = 0; i < fragranceArray.length(); i++) {

            String fragranceName;
            String description;
            String imageUrl;
            String price;
            int userRating;

            JSONObject fragranceDetails = fragranceArray.getJSONObject(i);

            fragranceName = fragranceDetails.getString(BGS_FRAGRAMNCENAME);
            description = fragranceDetails.getString(BGS_DESCRIPTION);
            imageUrl = fragranceDetails.getString(BGS_IMAGEURL);
            price = fragranceDetails.getString(BGS_PRICE);
            userRating = fragranceDetails.getInt(BGS_USERRATING);

            ContentValues fragranceValues = new ContentValues();

            fragranceValues.put(FragranceContact.FragranceEntry.COLUMN_NAME, fragranceName);
            fragranceValues.put(FragranceContact.FragranceEntry.COLUMN_DESCRIPTION, description);
            fragranceValues.put(FragranceContact.FragranceEntry.COLUMN_IMAGE, imageUrl);
            fragranceValues.put(FragranceContact.FragranceEntry.COLUMN_PRICE, price);
            fragranceValues.put(FragranceContact.FragranceEntry.COLUMN_USERRATING, userRating);

            db.insert(FragranceContact.FragranceEntry.TABLE_NAME, null, fragranceValues);

            Log.d(TAG, "Inserted Successfully" + fragranceValues);


        }
        Log.d(TAG, "Inserted Successfully" + fragranceArray.length());

    } catch (JSONException e) {
        Log.e(TAG, e.getMessage(), e);
        e.printStackTrace();
    }
}

private String readJsonDataFromFile () throws IOException
{


    InputStream in = null ;
    StringBuilder builder = new StringBuilder();
    try {
        String jsonDataString ;
        in = resources.openRawResource(R.raw.fragrance);
        BufferedReader reader = new BufferedReader(new InputStreamReader(in,"UTF-8"));

        while ((jsonDataString = reader.readLine()) != null) {
            builder.append(jsonDataString);
        }
    }
    finally {
        if(in !=null)
        {
            in.close();
        }
    }
    return  new String(builder);

}

}

公共类FragranceContact {

public FragranceContact()
{

}

public static final class FragranceEntry implements BaseColumns {

    public static final String TABLE_NAME= "fragrancesItem";
    public static final String CART_TABLE= "cart";

    public static final String COLUMN_NAME = "fragranceNameItem";
    public static final String COLUMN_DESCRIPTION = "description";
    public static final String COLUMN_IMAGE = "imageUrl";
    public static final String COLUMN_PRICE = "price";
    public static final String COLUMN_USERRATING = "userRating";
}

}

}

0 个答案:

没有答案