我有这段代码:
private void saveBoard(){
Card tmp;
int n = cardBoard.length;
for(int i = 0; i < n/2; i++) {
for(int j = 0; j < n/2; j++) {
tmp = cardBoard[i][j];
ContentValues values = new ContentValues();
values.put(Constants.ENTRY_COLUMN_POSITIONX, i);
values.put(Constants.ENTRY_COLUMN_POSITIONY, j);
values.put(Constants.ENTRY_COLUMN_VALUE, tmp.getValue());
}
}
Uri uri = context.getContentResolver().insert(BoardContentProvider.CONTENT_URL, values);
Toast.makeText(context, "New Diary-entry Added", Toast.LENGTH_SHORT).show();
}
我关注此示例代码:
public void addDiaryEntry(View v) {
String title = mTitle.getText().toString();
String content = mContent.getText().toString();
if(title.isEmpty()) {
mTitle.setError(getText(R.string.error_empty_title));
} else if(content.isEmpty()) {
mContent.setError(getText(R.string.error_empty_content));
} else {
ContentValues values = new ContentValues();
values.put(Constants.ENTRY_COLUMN_TITLE, title);
values.put(Constants.ENTRY_COLUMN_CONTENT, content);
Calendar currentDate = Calendar.getInstance(); //Get the current date
SimpleDateFormat formatter= new SimpleDateFormat("dd/MM/yyyy HH:mm:ss"); //format it as per your requirement
String dateNow = formatter.format(currentDate.getTime());
values.put(Constants.ENTRY_COLUMN_RECORD_DATE, dateNow);
Uri uri = getContentResolver().insert(DiaryContentProvider.CONTENT_URL, values);
Toast.makeText(getBaseContext(), "New Diary-entry Added", Toast.LENGTH_SHORT).show();
goToShowDiaries();
}
}
主要区别在于,我的类扩展自GridLayout,示例代码中的类扩展了AppCompatActivity。
问题在于这一行:
Uri uri = context.getContentResolver().insert(BoardContentProvider.CONTENT_URL, values);
它不会将值作为参数,它需要一个表达式。这样做的正确方法是什么?我想在数据库中插入一些内容。
答案 0 :(得分:0)
它无法达到值变量。你必须把这一行:
ContentValues values = new ContentValues();
在for-loop之外。
像这样:
public void saveBoard(){
Card tmp;
int n = cardBoard.length;
ContentValues values = new ContentValues();
for(int i = 0; i < n/2; i++) {
for(int j = 0; j < n/2; j++) {
tmp = cardBoard[i][j];
values.put(Constants.ENTRY_COLUMN_POSITIONX, i);
values.put(Constants.ENTRY_COLUMN_POSITIONY, j);
values.put(Constants.ENTRY_COLUMN_VALUE, tmp.getValue());
}
}
Uri uri = context.getContentResolver().insert(BoardContentProvider.CONTENT_URL, values);
Toast.makeText(context, "New Diary-entry Added", Toast.LENGTH_SHORT).show();
}