Java 使用Android studio的数据库示例
我正在尝试学习如何在Android中创建数据库,并尝试遵循以下指南: 但是,在Java 使用Android studio的数据库示例,java,android,database,Java,Android,Database,我正在尝试学习如何在Android中创建数据库,并尝试遵循以下指南: 但是,在AndroidDatabaseExample活动中,我不断发现无法解析符号或方法的错误 它无法解析的方法是getTitle()和getId(),它无法解析的符号是R.layout.row\u layout和R.id.list AndroidDatabaseExample的代码: package com.javacodegeeks.androiddatabaseexample; import android.suppo
AndroidDatabaseExample
活动中,我不断发现无法解析符号或方法的错误
它无法解析的方法是getTitle()
和getId()
,它无法解析的符号是R.layout.row\u layout
和R.id.list
AndroidDatabaseExample的代码:
package com.javacodegeeks.androiddatabaseexample;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import java.util.ArrayList;
import java.util.List;
import android.app.ListActivity;
import android.content.Intent;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
public class AndroidDatabaseExample extends ListActivity implements OnItemClickListener {
JCGSQLiteHelper db = new JCGSQLiteHelper(this);
List list;
ArrayAdapter myAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//drop database if it exists
db.onUpgrade(db.getWritableDatabase(), 1, 2);
db.createBook(new Book("The Great Gatsby", "F. Scott Fitzgerald"));
db.createBook(new Book("Anna Karenina", "Leo Tolstoy"));
//get all books
list = db.getAllBooks();
List listTitle = new ArrayList();
for (int i = 0; i < list.size(); i++) {
listTitle.add(i, list.get(i).getTitle());
}
myAdapter = new ArrayAdapter(this, R.layout.row_layout, R.id.list, listTitle);
getListView().setOnItemClickListener(this);
setListAdapter(myAdapter);
}
@Override
public void onItemClick(AdapterView arg0, View arg1, int arg2, long arg3) {
//start BookActivity wih extras the book id
Intent intent = new Intent(this, BookActivity.class);
intent.putExtra("book", list.get(arg2).getId());
startActivityForResult(intent, 1);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
//get all books again
list = db.getAllBooks();
List listTitle = new ArrayList();
for (int i = 0; i < list.size(); i++){
listTitle.add(i, list.get(i).getTitle());
}
myAdapter = new ArrayAdapter(this, R.layout.row_layout, R.id.list, listTitle);
getListView().setOnItemClickListener(this);
setListAdapter(myAdapter);
}
}
有人知道如何解决这个问题吗?我以前使用过这个网站的教程,它们很好用,所以我有点困惑为什么它不起作用。我非常感谢你们能提供的任何帮助。是的,这对我来说很有效,希望能帮助到别人
list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,int position, long id) {
Intent passIntent = new Intent(summary.this,Update.class);
passIntent.putExtra("book", item.get(position).getId_());
startActivity(passIntent);
}
});
如果您在eclipse中,请尝试单击ctrl+shift+o;如果您在android studio中,请将光标放在缺少的项目上,然后单击alt+Enter。谢谢您的帮助,但这并不能令人遗憾地修复程序
list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,int position, long id) {
Intent passIntent = new Intent(summary.this,Update.class);
passIntent.putExtra("book", item.get(position).getId_());
startActivity(passIntent);
}
});
Intent intent = getIntent();
int id = intent.getIntExtra("book", 0);
// open the database of the application context
db = new DatabaseHandler(getApplicationContext());
// read the book with "id" from the database
eventitems = db.getContact(id);
eventname .setText(eventitems.getEventname());
firstname.setText(eventitems.getFirstName());
Update.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
eventitems.setEventname(((EditText) findViewById(R.id.eventname)).getText().toString());
eventitems.setFirstName(((EditText) findViewById(R.id.firstname)).getText().toString());
// update book with changes
db.updateContact(eventitems);
finish();
}
});