Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/181.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何在sqlite中插入值?_Android_Database_Sqlite - Fatal编程技术网

Android 如何在sqlite中插入值?

Android 如何在sqlite中插入值?,android,database,sqlite,Android,Database,Sqlite,我的问题是如何在我从web服务接收的sqlite数据库中存储值。我是新来安卓的。我需要一些帮助。提前谢谢。几天来我一直在寻找一个合适的答案,但没有找到任何解决办法 下面的responseStr是我从webservice接收的响应对象,我希望将其值存储在数据库中 SQLiteDB sqlite_obj = new SQLiteDB(UrlActivity.this); try{ JSONObject mainObject = new JSONOb

我的问题是如何在我从web服务接收的sqlite数据库中存储值。我是新来安卓的。我需要一些帮助。提前谢谢。几天来我一直在寻找一个合适的答案,但没有找到任何解决办法

下面的
responseStr
是我从webservice接收的响应对象,我希望将其值存储在数据库中

  SQLiteDB sqlite_obj = new SQLiteDB(UrlActivity.this);

  try{                 
    JSONObject mainObject = new JSONObject(responseStr);
    String url = mainObject.getString("url");

    if(url.equals("valid")){

        //JSONObject data= new JSONObject();
        //data.put("data",jsonArray2); 

        //List <NameValuePair> nvps2 = new ArrayList <NameValuePair>();
        //nvps2.add(new BasicNameValuePair("data", mainObject.toString()));

        try{
        ProgressBar1.setVisibility(View.GONE);
        Toast.makeText(UrlActivity.this,  responseStr, Toast.LENGTH_LONG).show();

        sqlite_obj.open();
        sqlite_obj.deleteAll(); 

        JSONArray jsonArray2 = new JSONArray();
        jsonArray2.put(mainObject);
        for (int i = 0; i < jsonArray2.length(); i++) {
        JSONObject object = jsonArray2.getJSONObject(i);
        //sqlite_obj.insert();


        }

        sqlite_obj.close();


        Toast.makeText(getBaseContext(), "Stored in SQLite DB", Toast.LENGTH_LONG).show();

        } catch (android.database.sqlite.SQLiteException e) {
            Log.e(TAG, "SQLiteException:" + e.getMessage());
        } catch (Exception e) {
            Log.e(TAG, "Exception:" + e.getMessage());
        }
    }

堆栈溢出用于编程问题。你的问题是什么?如果您的问题是,如标题所示,“如何在sqlite中插入值?”,那么请解释您的代码遇到了哪些问题。例如,你是不是在撞车?如果是这样,LogCat会告诉您什么?我的问题是:如何与数据库建立连接并插入通过web服务获得的值?
public class SQLiteDB {
public static final String KEY_ROWID = "_id";
public static final String KEY_USER_ID= "user_id";
public static final String KEY_NUMBER_OF_CHECKIN= "no_of_checkin";
public static final String KEY_STATUS="status";
public static final String KEY_URL="url";


private static final String TAG = "DBAdapter";
private static final String DATABASE_NAME = "SQLiteDB";

private static final String DATABASE_TABLE = "databasetable";
private static final int DATABASE_VERSION = 1;

private static final String DATABASE_CREATE = 
            "create table databasetable (_id integer primary key autoincrement, " +
            "user_id integer not null, " +
            "no_of_checkin integer not null, " +
            "status integer not null, " +
            "url text not null );";

private final Context context;
private DatabaseHelper DBHelper;
private SQLiteDatabase db;

public SQLiteDB(Context ctx) {

this.context = ctx;
DBHelper = new DatabaseHelper(context);
}

private static class DatabaseHelper extends SQLiteOpenHelper {

DatabaseHelper(Context context) {

super(context, DATABASE_NAME, null, DATABASE_VERSION);
}

@Override
public void onCreate(SQLiteDatabase db) {

try {
db.execSQL(DATABASE_CREATE);
} catch (SQLException e) {
e.printStackTrace();
}
}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

Log.w(TAG, "Upgrading database from version " + oldVersion + " to "
                    + newVersion + ", which will destroy all old data");
db.execSQL("DROP TABLE IF EXISTS databasetable");
onCreate(db);
}
}

//---open SQLite DB---
public SQLiteDB open() throws SQLException {

db = DBHelper.getWritableDatabase();
return this;
}

//---close SQLite DB---
public void close() {

DBHelper.close();
}

//---insert data into SQLite DB---
public long insert( 
            Integer user_id, Integer no_of_checkin, Integer status, String url) {

ContentValues initialValues = new ContentValues();
initialValues.put(KEY_USER_ID, user_id);
initialValues.put(KEY_NUMBER_OF_CHECKIN, no_of_checkin);
initialValues.put(KEY_STATUS, status);
initialValues.put(KEY_URL, url);


return db.insert(DATABASE_TABLE, null, initialValues);
}

//---Delete All Data from table in SQLite DB---
public void deleteAll() {

db.delete(DATABASE_TABLE, null, null);
}   
}