package com.example.acud; import java.util.ArrayList; import java.util.List; import android.os.Bundle; import android.app.Activity; import android.content.ContentValues; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.view.Menu; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.EditText; import android.widget.ListView; import android.widget.TextView; import android.widget.Toast; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } public void add(View v) { StuOpenHelper helper = new StuOpenHelper(this); SQLiteDatabase db = helper.getWritableDatabase(); String name = ((EditText) findViewById(R.id.et_name)).getText() .toString(); int age = Integer.parseInt(((EditText) findViewById(R.id.et_age)) .getText().toString()); // 原生sql操作, // db.execSQL("insert into stuinfo (name,age) values('lisi',22)"); // db.execSQL("insert into stuinfo (name,age) values(?,?)",new // Object[]{"kitty",30}); db.execSQL("insert into stuinfo (name,age) values(?,?)", new Object[] { name,age }); Toast.makeText(this, "ok", 0).show(); //google API操作 见教材P124,更推荐用这种 } public void delete(View view) { StuOpenHelper helper = new StuOpenHelper(this); SQLiteDatabase db = helper.getWritableDatabase(); db.execSQL("delete from stuinfo where _id=?", new Object[] { 2 }); Toast.makeText(this, "删除成功", 0).show(); } public void update(View view) { StuOpenHelper helper = new StuOpenHelper(this); SQLiteDatabase db = helper.getWritableDatabase(); db.execSQL("update stuinfo set name=? where _id=?", new Object[] { "micky", 3 }); Toast.makeText(this, "修改成功", 0).show(); } //定义学生集合 List<Student> list=new ArrayList<Student>(); public void search(View view) { System.out.println(list.size()+"在search里"); StuOpenHelper helper = new StuOpenHelper(this); SQLiteDatabase db = helper.getWritableDatabase(); // String s = ""; Cursor cursor = db.rawQuery("select * from stuinfo", null); if (cursor.getCount() != 0) { //每循环一次,创建一个学生对象并添加到集合中 while (cursor.moveToNext()) { // s += cursor.getInt(0) + " " + cursor.getString(1) + " " // + cursor.getInt(2) + " "; Student s1=new Student(); s1.setId(cursor.getInt(0)); s1.setName(cursor.getString(1)); s1.setAge(cursor.getInt(2)); list.add(s1); } } ListView lv=(ListView) findViewById(R.id.lv1); lv.setAdapter(new myadapter()); // Toast.makeText(this, s, 0).show(); // ((TextView) (findViewById(R.id.tv_show))).setText(s); } private class myadapter extends BaseAdapter{ @Override public int getCount() { // TODO Auto-generated method stub return list.size(); } @Override public View getView(int position, View convertView, ViewGroup arg2) { // TODO Auto-generated method stub View view=View.inflate(MainActivity.this, R.layout.list_item, null); TextView tvid=(TextView)view.findViewById(R.id.tv_id); TextView tvname=(TextView)view.findViewById(R.id.tv_name); TextView tvage=(TextView) view.findViewById(R.id.tv_age); System.out.println(list.get(position).getId()); tvid.setText(list.get(position).getId()+""); tvname.setText(list.get(position).getName()); tvage.setText(list.get(position).getAge()+""); // tvid.setText("aa"); // tvname.setText("bb"); // tvage.setText("cc"); return view; } @Override public Object getItem(int arg0) { // TODO Auto-generated method stub return null; } @Override public long getItemId(int arg0) { // TODO Auto-generated method stub return 0; } } }
package com.example.acud; public class Student { private int id; private String name; private int age; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } }
package com.example.acud; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteDatabase.CursorFactory; import android.database.sqlite.SQLiteOpenHelper; public class StuOpenHelper extends SQLiteOpenHelper { public StuOpenHelper(Context context) { super(context, "stu.db", null, 1); // TODO Auto-generated constructor stub } @Override public void onCreate(SQLiteDatabase db) { // TODO Auto-generated method stub db.execSQL("create table stuinfo(_id integer primary key autoincrement,name varchar(20),age integer)"); } @Override public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) { // TODO Auto-generated method stub } }
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:padding="16dp" > <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="130dp" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="姓 名 :" android:textSize="18sp" /> <EditText android:id="@+id/et_name" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="请输入姓名" android:textSize="16sp" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginBottom="10dp" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="年 龄:" android:textSize="18sp" /> <EditText android:id="@+id/et_age" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="输入年龄" android:textSize="16sp" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" > <Button android:id="@+id/btn_add" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_marginRight="2dp" android:layout_weight="1" android:background="#B9B9FF" android:onClick="add" android:text="添加" android:textSize="18sp" /> <Button android:id="@+id/btn_query" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_marginRight="2dp" android:layout_weight="1" android:background="#DCB5FF" android:onClick="search" android:text="查询" android:textSize="18sp" /> <Button android:id="@+id/btn_update" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_marginRight="2dp" android:layout_weight="1" android:background="#E6CAFF" android:onClick="update" android:text="修改" android:textSize="18sp" /> <Button android:id="@+id/btn_delete" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:background="#ACD6FF" android:onClick="delete" android:text="删除" android:textSize="18sp" /> </LinearLayout> <ListView android:id="@+id/lv1" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_marginTop="25dp" android:textSize="20sp" /> </LinearLayout>
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal" > <TextView android:id="@+id/tv_id" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:text="1" /> <TextView android:id="@+id/tv_name" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:text="2" /> <TextView android:id="@+id/tv_age" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:text="3" /> </LinearLayout>