我想学习如何为Android编程数据库,以及我的知识是SQLite。如果我知道Java我还需要学习什么,才能构建数据库?任何其他信息,你可以帮助我将不胜感激。如果我知道Java,我需要知道什么才能将Android应用程序连接到SQLite数据库?
-1
A
回答
2
基本上,您需要一个DatabaseHelper类,DataBaseHelper.class的示例:
import java.util.ArrayList;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteException;
import android.database.sqlite.SQLiteOpenHelper;
public class DBHelper extends SQLiteOpenHelper{
private String sql;
private SQLiteDatabase db;
//database name
private static final String NAME_DB = "Courses.sql";
//database version
private static final int VERSION_DB = 1;
//database table name
public static final String COURSES_TABLE = "courses";
//database table columns for N_TABLE
public static final String ID_KEYROW= "_id";
public static final String ID_COURSE= "courseid";
public static final String ID_TITLE = "title";
public static final String ID_INSTRUCTOR = "instructor";
public static final String ID_LENGTH = "length";
public static final String ID_RATING = "rating";
public static final String ID_TOPIC = "topic";
public static final String ID_SUBJECT = "subject";
public static final String ID_DESCRIPTION = "description";
//private final Context myContext;
public DBHelper(Context context) {
super(context, NAME_DB, null, VERSION_DB);
//this.myContext = context;
}
//Creating Table
@Override
public void onCreate(SQLiteDatabase db)
{
String CREATE_LOGIN_TABLE = "CREATE TABLE " + COURSES_TABLE + "("
+ ID_KEYROW + " INTEGER PRIMARY KEY AUTOINCREMENT, "
+ ID_COURSE + " TEXT NOT NULL, "
+ ID_TITLE + " TEXT NOT NULL, "
+ ID_INSTRUCTOR + " TEXT NOT NULL, "
+ ID_LENGTH + " TEXT NOT NULL, "
+ ID_RATING + " TEXT NOT NULL, "
+ ID_TOPIC + " TEXT NOT NULL, "
+ ID_SUBJECT + " TEXT NOT NULL, "
+ ID_DESCRIPTION + " TEXT NOT NULL" + ")";
db.execSQL(CREATE_LOGIN_TABLE);
/* Other Method for Create DataBase.
db.execSQL(" CREATE TABLE courses" + "(" + ID_KEYROW + " INTEGER PRIMARY KEY AUTOINCREMENT, " + ID_COURSE + " TEXT NOT NULL, " + ID_TITLE + " TEXT NOT NULL, " + ID_INSTRUCTOR + " TEXT NOT NULL, " + ID_LENGTH + " TEXT NOT NULL, " + ID_RATING + " TEXT NOT NULL, " + ID_TOPIC + " TEXT NOT NULL, " + ID_SUBJECT + " TEXT NOT NULL, " + ID_DESCRIPTION + " TEXT NOT NULL);"
);*/
}
//Updating Database
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS " + COURSES_TABLE);
onCreate(db);
}
//Insert Courses
//public void insertCourses(Integer courseid, String title, String instructor, Integer length, Integer rating, String topic, String subject, String description)
public void insertCourses()
{
SQLiteDatabase db= this.getWritableDatabase();
sql="INSERT INTO courses(courseid, title, instructor, length, rating, topic, subject, description) VALUES ('1', 'Interdisciplinary Care Planning', 'Keith Savell', '60', '4.7', 'Interdisciplinary Care Planning requires members of the Interdisciplinary Treatment Team (IDT) to view the Care Plan as a resident centered collaborative effort - rather than as a staff centered document. Learn how to...', 'Encourage the Interdisciplinary Treatment Team (IDT) to work as a team and view the Care Plan as a resident-centered collaborative effort to enhance the care and quality of resident life.', 'Interdisciplinary Care Planning requires members of the Interdisciplinary Treatment Team (IDT) to view the Care Plan as a resident centered collaborative effort - rather than as a staff centered document. Learn how to utilize the Care Plan to truly function as a team - working together to enhance the care and quality of resident life.')";
db.execSQL(sql);
sql="INSERT INTO courses(courseid, title, instructor, length, rating, topic, subject, description) VALUES ('2', 'Culture Change: Creating A Climate Of Care...', 'Keith Savell', '60', '5', 'Culture Change ', 'Learn to evaluate and modify the environment to support our residents with cognitive impairment as they age in place.', 'Residents with dementia and delirium are constantly assessing the environment, looking for clues to help them understand where they are, who others around them are, what they are supposed to be doing and what is expected of them.')";
db.execSQL(sql);
sql="INSERT INTO courses(courseid, title, instructor, length, rating, topic, subject, description) VALUES ('3', 'Medical Records Documentation', 'Keith Savell', '60', '5', 'Medical Records Documentation ', 'Encourage the Interdisciplinary Treatment Team (IDT) to work as a team and view the Care Plan as a resident-centered collaborative effort to enhance the care and quality of resident life.', 'Interdisciplinary Care Planning requires members of the Interdisciplinary Treatment Team (IDT) to view the Care Plan as a resident centered collaborative effort - rather than as a staff centered document. Learn how to utilize the Care Plan to truly function as a team - working together to enhance the care and quality of resident life.')";
db.execSQL(sql);
sql="INSERT INTO courses(courseid, title, instructor, length, rating, topic, subject, description) VALUES ('4', 'Census Challenges', 'Keith Savell', '60', '4.45', 'Creative Solutions to Drive Census ', 'Learn to evaluate and modify the environment to support our residents with cognitive impairment as they age in place.', 'Residents with dementia and delirium are constantly assessing the environment, looking for clues to help them understand where they are, who others around them are, what they are supposed to be doing and what is expected of them.')";
db.execSQL(sql);
sql="INSERT INTO courses(courseid, title, instructor, length, rating, topic, subject, description) VALUES ('5', 'Fall Prevention: Reducing Fall Related Injuries', 'Keith Savell', '60', '5', 'Guidelines for Health Care Providers ', 'Encourage the Interdisciplinary Treatment Team (IDT) to work as a team and view the Care Plan as a resident-centered collaborative effort to enhance the care and quality of resident life.', 'Interdisciplinary Care Planning requires members of the Interdisciplinary Treatment Team (IDT) to view the Care Plan as a resident centered collaborative effort - rather than as a staff centered document. Learn how to utilize the Care Plan to truly function as a team - working together to enhance the care and quality of resident life.')";
db.execSQL(sql);
sql="INSERT INTO courses(courseid, title, instructor, length, rating, topic, subject, description) VALUES ('6', 'Meaningful Engagement', 'Keith Savell', '60', '5', 'Creating The Failure Free Activity Program ', 'Learn to evaluate and modify the environment to support our residents with cognitive impairment as they age in place.', 'Residents with dementia and delirium are constantly assessing the environment, looking for clues to help them understand where they are, who others around them are, what they are supposed to be doing and what is expected of them.')";
db.execSQL(sql);
sql="INSERT INTO courses(courseid, title, instructor, length, rating, topic, subject, description) VALUES ('7', 'Dementia and Delirium', 'Keith Savell', '60', '4.69', 'The Importance of Accurate Diagnosis and Treatment ', 'Encourage the Interdisciplinary Treatment Team (IDT) to work as a team and view the Care Plan as a resident-centered collaborative effort to enhance the care and quality of resident life.', 'Interdisciplinary Care Planning requires members of the Interdisciplinary Treatment Team (IDT) to view the Care Plan as a resident centered collaborative effort - rather than as a staff centered document. Learn how to utilize the Care Plan to truly function as a team - working together to enhance the care and quality of resident life.')";
db.execSQL(sql);
sql="INSERT INTO courses(courseid, title, instructor, length, rating, topic, subject, description) VALUES ('8', 'Delirium', 'Keith Savell', '60', '4.69', 'The Importance of Accurate Diagnosis and Treatment ', 'Encourage the Interdisciplinary Treatment Team (IDT) to work as a team and view the Care Plan as a resident-centered collaborative effort to enhance the care and quality of resident life.', 'Interdisciplinary Care Planning requires members of the Interdisciplinary Treatment Team (IDT) to view the Care Plan as a resident centered collaborative effort - rather than as a staff centered document. Learn how to utilize the Care Plan to truly function as a team - working together to enhance the care and quality of resident life.')";
db.execSQL(sql);
//Other Style for Insert record in DB.
ContentValues values = new ContentValues(); //Here from ContentValues
values.put("courseid", "9");
values.put("title", "xxxxxxx Care Planning");
values.put("instructor", "Keith Savell");
values.put("length", "60");
values.put("rating", "4.7");
values.put("topic", "some topic");
values.put("subject", "some subject");
values.put("description", "some description");
db.insert(COURSES_TABLE, null, values);
}
public ArrayList<Courses> getCourses()
{
db = getWritableDatabase();
sql = "SELECT courseid, title, instructor, length, rating, topic, subject, description FROM courses";
Cursor cursor = db.rawQuery(sql, null);
ArrayList<Courses> courses = new ArrayList<Courses>();
while (cursor.moveToNext())
{
Courses oCourses=new Courses();
oCourses.courseid=cursor.getInt(0);
oCourses.title=cursor.getString(1); //Original Value 0
oCourses.instructor=cursor.getString(2);
oCourses.length=cursor.getString(3);
oCourses.rating=cursor.getString(4);
oCourses.topic=cursor.getString(5);
oCourses.subject=cursor.getString(6);
oCourses.description=cursor.getString(7);
courses.add(oCourses);
}
db.close();
cursor.close();
return courses;
}
public ArrayList<Courses> getItem(int position)
{
db = getWritableDatabase();
sql = "SELECT courseid, title, instructor, length, rating, topic, subject, description FROM courses";
Cursor cursor = db.rawQuery(sql, null);
ArrayList<Courses> courses = new ArrayList<Courses>();
while (cursor.moveToNext())
{
Courses oCourses=new Courses();
oCourses.courseid=cursor.getInt(0);
oCourses.title=cursor.getString(1); //Original Value 0
oCourses.instructor=cursor.getString(2);
oCourses.length=cursor.getString(3);
oCourses.rating=cursor.getString(4);
oCourses.topic=cursor.getString(5);
oCourses.subject=cursor.getString(6);
oCourses.description=cursor.getString(7);
courses.add(oCourses);
}
db.close();
cursor.close();
return courses;
}
public int getRowCount() {
String countQuery = "SELECT * FROM " + COURSES_TABLE;
SQLiteDatabase db =this.getReadableDatabase();
Cursor cursor = db.rawQuery(countQuery, null);
int rowCount = cursor.getCount();
db.close();
cursor.close();
//return row count.
return rowCount;
}//GetRowCount
//Recreate database, delete all tables and create them again.
public void resetTables(){
SQLiteDatabase db = this.getWritableDatabase();
// Delete All Rows
db.delete(COURSES_TABLE, null, null);
db.close();
}}
后来在您的Mainclass(或活动要管理数据)的DatabaseHelper.class的调用方法,希望这会给你的想法...
2
您需要了解SQL,关系数据库和规范化规则。
2
首先,您需要在服务器上为您的SQLite数据库安装,命名并建立凭据(用户名,密码,主机)。这里是一个链接,涉及Android类需要做到这一点:http://developer.android.com/reference/android/database/sqlite/package-summary.html
然后,你需要了解JAVA将如何与SQL交谈。我只熟悉PHP-> SQL,但这里有一个用于JAVA-> SQL连接的链接,它与PHP http://sqlzoo.net/java.htm非常相似。
SQL语言非常简单。
SELECT
是从数据库表中获取行。
INSERT
是插入行的行
UPDATE
是改变值(又称字段)
DELETE
是删除行
虽然许多人可能会大便,大便我要这个,我从SQL语法开始(并连接PHP到SQL):W3CSchools
相关问题
- 1. 使用共享数据库连接时需要知道什么?
- 2. 我如何知道Android应用程序重新连接到Socket.io?
- 3. 我需要知道从Java到JavaScript?
- 4. php和newlines:我需要知道什么?
- 5. 不知道如何将数据库导入到我的应用程序中android
- 6. 为了制作使用数据库的Java应用程序,我需要知道些什么?
- 7. 如果我们知道android
- 8. Android开发人员转移到iOS - 我需要知道什么?
- 9. Python:如何知道我连接到哪个数据库?
- 10. 想要发布第一个应用程序我需要知道什么
- 11. Android应用程序崩溃,我不知道为什么
- 12. 如何知道python我需要小数?
- 13. 如何知道我的Android设备上有什么SQLite数据库(Galaxy)
- 14. 我是否需要知道Python才能使用OpenCV
- 15. 我是否需要知道Emacs Lisp才能使用GNU/Emacs
- 16. 在使用IM应用程序之前,我需要知道些什么?
- 17. 我需要知道数据仓库需要多少电子表格知识
- 18. 我需要知道如何使用string.maketrans
- 19. 我如何知道用户要卸载我的应用程序
- 20. 如何才能知道什么是C#
- 21. vsto先决条件我如何知道我需要什么?
- 22. 我的应用程序失败了,我不知道为什么
- 23. 的java总之我怎么能知道是否需要携带
- 24. 我的应用程序如何知道使用什么私钥
- 25. 在java中我应该知道怎样才能创建桌面应用程序?
- 26. 如果我知道数据在哪里,我可以知道什么数据,例如0xffffffff7fffd9d8与0x10019c1e0?
- 27. 我无法连接到数据库 - 程序不知道JAR文件的位置
- 28. 知道什么应用程序调用我的远程服务
- 29. 我的代码需要2000MB +才能运行,不知道为什么
- 30. 我如何才能知道我的应用程序安装SD卡