做任何开发都会用的 数据库 Android 也一样,Android一般都要用的两个数据库本地数据库和远程数据库,本地数据库就是sqlite,远程数据库的话,我一般用的是 MySQL ,这次先了解下本地数据库sqlite,一般数据库类型为varchar(20) 如果你输入个大于20位的数据时,会报错,不能插入吧,但是sqlite里就不一样了,他就可以,这是sqlite的特色之一吧应该是。下来就看看sqlite的crud:

MainActivity

[java] view plain copy
  1. packagecom.example.sqlite;
  2. importandroid.os.Bundle;
  3. importandroid.app.Activity;
  4. importandroid.view.Menu;
  5. importandroid.widget.TextView;
  6. publicclassMainActivityextendsActivity{
  7. @Override
  8. publicvoidonCreate(BundlesavedInstanceState){
  9. super.onCreate(savedInstanceState);
  10. setContentView(R.layout.activity_main);
  11. TextViewt;
  12. DBOpenHelterdbopenhelper=newDBOpenHelter(this);
  13. }
  14. @Override
  15. publicbooleanonCreateOptionsMenu(Menumenu){
  16. getMenuInflater().inflate(R.menu.activity_main,menu);
  17. returntrue;
  18. }
  19. }


PersonService

[java] view plain copy
  1. packagecom.example.sqlite;
  2. importcom.example.bean.Person;
  3. importandroid.content.Context;
  4. importandroid.database.Cursor;
  5. importandroid.database.sqlite.SQLiteDatabase;
  6. publicclassPersonService{
  7. privateDBOpenHelterdbOpenHelper;
  8. publicPersonService(Contextcontext){
  9. this.dbOpenHelper=newDBOpenHelter(context);
  10. }
  11. publicvoidsave(Personperson){
  12. SQLiteDatabasedb=dbOpenHelper.getWritableDatabase();
  13. StringBuildersql=newStringBuilder(128);//这个没用
  14. sql.append("insert");//这个没用
  15. db.execSQL("insertintoperson(name,phone)values(?,?)",newObject[]{person.getName(),person.getPhone()});
  16. db.close();
  17. }
  18. publicPersonfind(Integerid){
  19. Personperson=newPerson();
  20. SQLiteDatabasedb=dbOpenHelper.getReadableDatabase();
  21. Cursorcursor=db.rawQuery("select*fromtestpersionwehrename=?",newString[]{id.toString()});
  22. while(cursor.moveToNext()){
  23. intpersonid=cursor.getInt(cursor.getColumnIndex("id"));
  24. }
  25. returnperson;
  26. }
  27. }

DBOpenHelter

package com.example.sqlite;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;

public class DBOpenHelter extends SQLiteOpenHelper{

public DBOpenHelter(Context context) {
super(context, "itcast.db", null, 1);
}

@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE testpersion(persionid integer primary key autoincrement,name varchar(20))");
}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub
db.execSQL("ALTER TABLE testpersion ADD phone VARCHAR(12) NULL");
}

}

更多相关文章

  1. Android基本之SharedPreferences和File
  2. android 控件描边取消重叠
  3. 从MediaStore获取制定文件夹下的视频信息
  4. Android开发:Android(安卓)studio 无法在可视化页面预览XML布局文
  5. Android之SQLite数据库操作
  6. android studio + ndk + cmake + jna +sqlite c层报错SQLITE_CAN
  7. Android实现app内部自动检测版本更新、自动安装及数据库更新升级
  8. Android(安卓)adb shell相关命令基本使用
  9. Android(安卓)数据库的简单使用

随机推荐

  1. c语言位运算符
  2. char是什么数据类型
  3. win10离线安装net35的方法技巧
  4. c++输出语句
  5. asp.net怎么使用js文件
  6. asp还有人用吗
  7. 递归算法的时间复杂度是什么
  8. webApi怎么调用
  9. malloc函数的用法
  10. 静态变量和动态变量