activity_main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/tv1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="@dimen/padding_medium"
android:text="@string/hello_world"
tools:context=".MainActivity" />
</LinearLayout>
MainActivity.java
package com.example.android.sample4;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.TextView;
import org.apache.http.util.EncodingUtils;
import android.database.sqlite.SQLiteDatabase;
import android.content.ContentValues;
import android.database.Cursor;
public class MainActivity extends Activity {
TextView tv1;
MySQLiteHelper myHelper;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv1 = (TextView)this.findViewById(R.id.tv1);
myHelper = new MySQLiteHelper(this,"my.db",null,1);
insertAndUpdateData(myHelper);
tv1.setText(queryData(myHelper));
}
public void insertAndUpdateData(MySQLiteHelper myHelper)
{
SQLiteDatabase db = myHelper.getWritableDatabase();
db.execSQL("insert into hero_info(name,level) values ('Hero1',1)");
ContentValues values = new ContentValues();
values.put("name", "Hero2");
values.put("level", 2);
db.insert("hero_info", "id", values);
values.clear();
values.put("name", "Hero2");
values.put("level", 3);
db.update("hero_info", values, "level = 2", null);
db.close();
}
public String queryData(MySQLiteHelper myHelper)
{
String result="";
SQLiteDatabase db = myHelper.getReadableDatabase();
Cursor cursor = db.query("hero_info", null, null, null, null, null, "id asc");
int nameIndex = cursor.getColumnIndex("name");
int levelIndex = cursor.getColumnIndex("level");
for(cursor.moveToFirst();!(cursor.isAfterLast());cursor.moveToNext())
{
result += cursor.getString(nameIndex) + " ";
result += cursor.getString(levelIndex) + " \n";
}
cursor.close();
db.close();
return result;
}
@Override
public void onDestroy()
{
SQLiteDatabase db = myHelper.getWritableDatabase();
db.delete("hero_info", "1", null);
super.onDestroy();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}
MySQLiteHelper.java
package com.example.android.sample4;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
public class MySQLiteHelper extends SQLiteOpenHelper{
public MySQLiteHelper(Context context,String name,CursorFactory factory,int version)
{
super(context,name,factory,version);
}
@Override
public void onCreate(SQLiteDatabase db)
{
db.execSQL("create table if not exists hero_info(" +
"id integer primary key," +
"name varchar," +
"level integer)");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
}