{
公共类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";
}
}
}