<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:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:orientation="vertical" android:background="#e6e6e6" tools:context="com.example.shopping.MainActivity" > <LinearLayout android:layout_width="match_parent" android:layout_height="30dp" android:orientation="horizontal" android:background="#ffffff" android:layout_marginTop="10dp"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="名称:" android:textSize="20sp" android:layout_gravity="center" /> <EditText android:id="@+id/ed_name" android:layout_width="match_parent" android:layout_height="wrap_content" android:textSize="20sp" android:layout_gravity="center" android:background="#ffffff"/> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="30dp" android:orientation="horizontal" android:background="#ffffff" android:layout_marginTop="10dp"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="价格:" android:textSize="20sp" android:layout_gravity="center" /> <EditText android:id="@+id/ed_price" android:layout_width="match_parent" android:layout_height="wrap_content" android:textSize="20sp" android:layout_gravity="center" android:background="#ffffff"/> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="30dp" android:orientation="horizontal" android:background="#ffffff" android:layout_marginTop="10dp"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="数量:" android:textSize="20sp" android:layout_gravity="center" /> <EditText android:id="@+id/ed_amount" android:layout_width="match_parent" android:layout_height="wrap_content" android:textSize="20sp" android:layout_gravity="center" android:background="#ffffff"/> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:layout_marginTop="10dp" > <Button android:id="@+id/bu_add" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="增加" android:layout_marginLeft="15dp"/> <Button android:id="@+id/bu_delete" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="删除"/> <Button android:id="@+id/bu_updata" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="修改"/> <Button android:id="@+id/bu_query" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="查询"/> </LinearLayout> <ListView android:id="@+id/lv" android:layout_width="match_parent" android:layout_height="wrap_content" ></ListView> </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="vertical" > <LinearLayout android:layout_width="match_parent" android:layout_height="30dp" android:orientation="horizontal" android:background="#ffffff" android:layout_marginTop="10dp"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="名称:" android:textSize="20sp" android:layout_gravity="center" /> <TextView android:id="@+id/tv_name" android:layout_width="match_parent" android:layout_height="wrap_content" android:textSize="20sp" android:layout_gravity="center" android:background="#ffffff"/> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="30dp" android:orientation="horizontal" android:background="#ffffff" android:layout_marginTop="10dp"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="价格:" android:textSize="20sp" android:layout_gravity="center" /> <TextView android:id="@+id/tv_price" android:layout_width="match_parent" android:layout_height="wrap_content" android:textSize="20sp" android:layout_gravity="center" android:background="#ffffff"/> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="30dp" android:orientation="horizontal" android:background="#ffffff" android:layout_marginTop="10dp"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="数量:" android:textSize="20sp" android:layout_gravity="center" /> <TextView android:id="@+id/tv_amount" android:layout_width="match_parent" android:layout_height="wrap_content" android:textSize="20sp" android:layout_gravity="center" android:background="#ffffff"/> </LinearLayout> </LinearLayout>
package com.example.shopping; import java.util.ArrayList; import com.example.adapter.shopAdapter; import com.example.bean.shopBean; import Database.SQLiteHelpe; import android.app.Activity; import android.content.Context; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.ListView; import android.widget.Toast; public class MainActivity extends Activity implements View.OnClickListener { private static final Context Context = null; private EditText mName; private EditText mPrice; private EditText mAmount; private ArrayList<shopBean> list; ListView mLv; private SQLiteHelpe mSQLiteHelpe = new SQLiteHelpe(this); protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); init(); } public void init() { mName = (EditText)findViewById(R.id.ed_name); mPrice = (EditText)findViewById(R.id.ed_price); mAmount = (EditText)findViewById(R.id.ed_amount); Button add = (Button) findViewById(R.id.bu_add); Button delect = (Button) findViewById(R.id.bu_delete); Button updata = (Button) findViewById(R.id.bu_updata); Button query = (Button) findViewById(R.id.bu_query); add.setOnClickListener(this); delect.setOnClickListener(this); updata.setOnClickListener(this); query.setOnClickListener(this); mLv = (ListView) findViewById(R.id.lv); list = mSQLiteHelpe.Query(); shopAdapter adapter = new shopAdapter(list); mLv.setAdapter(adapter); } @Override public void onClick(View v) { String name = mName.getText().toString(); String price = mPrice.getText().toString(); String amounts = mAmount.getText().toString(); switch (v.getId()) { case R.id.bu_add: if(mSQLiteHelpe.Insert(name, price, amounts)){ Toast.makeText(this, "添加成功", 0).show(); list = mSQLiteHelpe.Query(); shopAdapter adapter = new shopAdapter(list); mLv.setAdapter(adapter); }else { Toast.makeText(this, "添加失败", 0).show(); } break; case R.id.bu_delete: if(mSQLiteHelpe.Delect(name)) { Toast.makeText(this, "删除成功", 0).show(); list = mSQLiteHelpe.Query(); shopAdapter adapter = new shopAdapter(list); mLv.setAdapter(adapter); }else { Toast.makeText(this, "删除失败", 0).show(); } break; case R.id.bu_updata: if(mSQLiteHelpe.Upadta(name, price, amounts)) { Toast.makeText(this, "修改成功", 0).show(); list = mSQLiteHelpe.Query(); shopAdapter adapter = new shopAdapter(list); mLv.setAdapter(adapter); }else { Toast.makeText(this, "修改失败", 0).show(); } break; case R.id.bu_query: list = mSQLiteHelpe.Query(); shopAdapter adapter = new shopAdapter(list); mLv.setAdapter(adapter); break; } } }
package com.example.utils; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteDatabase.CursorFactory; import android.database.sqlite.SQLiteOpenHelper; import android.provider.BaseColumns; public class DBUtils extends SQLiteOpenHelper implements BaseColumns { private String DATABASE_NAME="Shopping"; public static final String DATABASE_TABLE="Shop"; public static final int DATABASE_VERSION=1; // 数据库中的列名 public static final String SHOP_NAME="name"; public static final String SHOP_PRICE="price"; public static final String SHOP_AMOUNTS="amounts"; public DBUtils(Context context) { super(context, DATABASE_TABLE, null, DATABASE_VERSION); } @Override public void onCreate(SQLiteDatabase db) { db.execSQL("create table "+DATABASE_TABLE+"" + "("+_ID+" integer primary Key autoincrement, "+SHOP_NAME+" text,"+SHOP_PRICE+" text,"+SHOP_AMOUNTS+" text)"); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { // TODO Auto-generated method stub } }
package Database; import java.util.ArrayList; import java.util.List; import com.example.bean.shopBean; import com.example.utils.DBUtils; import android.content.ContentValues; import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.util.Log; public class SQLiteHelpe { private static DBUtils mDBUtils; public SQLiteHelpe(Context c) { mDBUtils = new DBUtils(c); } // 保存 static public boolean Insert (String name,String price,String amounts) { SQLiteDatabase db =mDBUtils.getWritableDatabase(); ContentValues values = new ContentValues(); values.put(DBUtils.SHOP_NAME, name); values.put(DBUtils.SHOP_PRICE, price); values.put(DBUtils.SHOP_AMOUNTS, amounts); long Insertid =db.insert(DBUtils.DATABASE_TABLE, null, values); return Insertid!=0; } // 删除 static public boolean Delect (String name) { SQLiteDatabase db =mDBUtils.getWritableDatabase(); int DeleteId =db.delete(DBUtils.DATABASE_TABLE, DBUtils.SHOP_NAME+"=?", new String[] {name}); return DeleteId!=0; } // 修改 static public boolean Upadta(String name,String price ,String amounts) { SQLiteDatabase db =mDBUtils.getWritableDatabase(); ContentValues values = new ContentValues(); values.put("price", price); values.put("amounts", amounts); int UpdataId =db.update(DBUtils.DATABASE_TABLE, values , DBUtils.SHOP_NAME+"=?", new String[] {name}); return UpdataId!=0; } // 查询 static public ArrayList<shopBean> Query() { ArrayList<shopBean> list = new ArrayList<shopBean>(); SQLiteDatabase db =mDBUtils.getReadableDatabase(); Cursor cursor =db.query(DBUtils.DATABASE_TABLE, null, null, null, null, null, null); if(cursor!=null) { while (cursor.moveToNext()) { shopBean bean = new shopBean(); String id =cursor.getString(cursor.getColumnIndex(DBUtils._ID)); String name = cursor.getString(cursor.getColumnIndex(DBUtils.SHOP_NAME)); String price =cursor.getString(cursor.getColumnIndex(DBUtils.SHOP_PRICE)); String amounts =cursor.getString(cursor.getColumnIndex(DBUtils.SHOP_AMOUNTS)); bean.setId(id); bean.setName(name); bean.setPrice(price); bean.setAmounts(amounts); list.add(bean); } cursor.close(); } return list; } }
package com.example.bean; public class shopBean { private String id; private String name; private String price; private String amounts; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPrice() { return price; } public void setPrice(String price) { this.price = price; } public String getAmounts() { return amounts; } public void setAmounts(String amounts) { this.amounts = amounts; } public String getId() { return id; } public void setId(String id) { this.id = id; } }
package com.example.adapter; import java.util.ArrayList; import com.example.bean.shopBean; import com.example.shopping.R; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.TextView; public class shopAdapter extends BaseAdapter { private ArrayList<shopBean> mList; public shopAdapter(ArrayList<shopBean> list) { // TODO Auto-generated constructor stub mList = list; } @Override public int getCount() { // TODO Auto-generated method stub return mList!=null?mList.size():0; } @Override public Object getItem(int position) { // TODO Auto-generated method stub return null; } @Override public long getItemId(int position) { // TODO Auto-generated method stub return 0; } class ViewHoder{ TextView name; TextView price; TextView amounts; } @Override public View getView(int position, View convertView, ViewGroup parent) { ViewHoder hoder =null; if(convertView==null) { convertView = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_main, null); hoder = new ViewHoder(); hoder.name = (TextView) convertView.findViewById(R.id.tv_name); hoder.price = (TextView) convertView.findViewById(R.id.tv_price); hoder.amounts = (TextView) convertView.findViewById(R.id.tv_amount); convertView.setTag(hoder); }else { hoder = (ViewHoder) convertView.getTag(); } hoder.name.setText(mList.get(position).getName()); hoder.price.setText(mList.get(position).getPrice()); hoder.amounts.setText(mList.get(position).getAmounts());; return convertView; } }