package com.example.myapplication;
import java.util.List;
import java.util.Map;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;
public class BookAdapter extends BaseAdapter {
@SuppressWarnings("unused")
private Context context;
private LayoutInflater inflater; // 视图容器
private List<Map<String, Object>> listItem;
private String index[];
public final class ViewHolder {
public TextView tvId, tvBookname, tvWriter, tvPress, tvPrice;
}
/**
* @description 创建视图设置上下文
*/
public BookAdapter(Context context, List<Map<String, Object>> list,
String index[]) {
this.index = index;
this.context = context;
inflater = LayoutInflater.from(context);
this.listItem = list;
}
/**
* @description 子项目个数
*/
@Override
public int getCount() {
// TODO Auto-generated method stub
return listItem.size();
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return listItem.get(position);
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
ViewHolder holder = null;
if (convertView == null) {
holder = new ViewHolder();
String strId = listItem.get(position).get(index[0]) + "";
String strBookname = listItem.get(position).get(index[1]) + "";
String strWriter = listItem.get(position).get(index[2]) + "";
String strPress = listItem.get(position).get(index[3]) + "";
String strPrice = listItem.get(position).get(index[4]) + "";
// 获取文件视图
convertView = inflater.inflate(R.layout.book_item, null);
holder.tvId = (TextView) convertView
.findViewById(R.id.book_item_id);
holder.tvBookname = (TextView) convertView
.findViewById(R.id.book_item_bookname);
holder.tvWriter = (TextView) convertView
.findViewById(R.id.book_item_writer);
holder.tvPress = (TextView) convertView
.findViewById(R.id.book_item_press);
holder.tvPrice = (TextView) convertView
.findViewById(R.id.book_item_price);
// 设置字符串内容
holder.tvId.setText(strId);
holder.tvBookname.setText(strBookname);
holder.tvWriter.setText(strWriter);
holder.tvPress.setText(strPress);
holder.tvPrice.setText(strPrice);
// 控件到converview
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
return convertView;
}
}
package com.example.myapplication; public class BookBean { // 常量************************************ public final static String FILED_ID = "_id"; public final static String FILED_BOOKNAME = "bookname"; public final static String FILED_WRITER = "writer"; public final static String FILED_PRESS = "press"; public final static String FILED_PRICE = "price"; /** * id号 */ private int id; /** * 书名 */ private String bookname; /** * 作者 */ private String writer; /** * 出版社 */ private String press; /** * 价格 */ private double price; /** * @description 构造函数 * @return */ public BookBean(int id, String bookname, String writer, String press, double price) { this.id = id; this.bookname = bookname; this.writer = writer; this.press = press; this.price = price; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getBookname() { return bookname; } public void setBookname(String bookname) { this.bookname = bookname; } public String getWriter() { return writer; } public void setWriter(String writer) { this.writer = writer; } public String getPress() { return press; } public void setPress(String press) { this.press = press; } public double getPrice() { return price; } public void setPrice(double price) { this.price = price; } }
package com.example.myapplication; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteDatabase.CursorFactory; import android.database.sqlite.SQLiteOpenHelper; import android.util.Log; public class BookDao extends SQLiteOpenHelper { /** * 数据库名字 */ public static String DB_NAME = "lib.db"; /** * 表名 */ public static String TAB_NAME = "lib_book_tab"; /** * 版本号 */ public static int DB_VERSION = 1; /** * bookbean */ // private ArrayList<BookBean> booklist = new ArrayList<BookBean>(); public BookDao(Context context) { super(context, DB_NAME, null, DB_VERSION); } /** * @description 创建数据库 * @param context * 内容 * @param name * 数据库名字 * @param factory * CursorFactory指定在执行查询时获得一个游标实例的工厂类,设置为null,代表使用系统默认的工厂类 * @param version * 版本号 */ public BookDao(Context context, String name, CursorFactory factory, int version) { super(context, DB_NAME, factory, DB_VERSION); // TODO Auto-generated constructor stub } /** * @description 建表 */ @Override public void onCreate(SQLiteDatabase db) { Log.i("tag", "onCreate"); String sql = "create table " + TAB_NAME + " (" + BookBean.FILED_ID + " integer primary key autoincrement, " + BookBean.FILED_BOOKNAME + " varchar(20), " + BookBean.FILED_WRITER + " text, " + BookBean.FILED_PRESS + " varchar(20), " + BookBean.FILED_PRICE + " long)"; System.out.println("sql--->" + sql); db.execSQL(sql); } /** * @description 更新数据库 */ @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { Log.i("tag", "onUpgrade"); String sql = "drop table if exist " + TAB_NAME; db.execSQL(sql); onCreate(db); } /** * @description 插入 */ public void insert(){ // SQLiteDatabase db=DB_NAME; } }
package com.example.myapplication; import android.content.Intent; import android.database.sqlite.SQLiteDatabase; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; public class MainActivity extends AppCompatActivity implements View.OnClickListener{ EditText etBookname, etWriter, etPress, etPrice; Button btnQuery, btnAdd, btnExit; // 常量 public final static String BUNDLE = "bundle"; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.main); // 初始化控件 initView(); // 设置监听 initListener(); } private void initListener() { btnAdd.setOnClickListener(this); btnExit.setOnClickListener(this); btnQuery.setOnClickListener(this); } private void initView() { etBookname = (EditText) findViewById(R.id.main_bookname); etWriter = (EditText) findViewById(R.id.main_writer); etPress = (EditText) findViewById(R.id.main_press); etPrice = (EditText) findViewById(R.id.main_price); btnAdd = (Button) findViewById(R.id.main_btn_add); btnQuery = (Button) findViewById(R.id.main_btn_query); btnExit = (Button) findViewById(R.id.main_btn_exit); } @Override public void onClick(View v) { String strBookname = etBookname.getText().toString().replace(" ", ""), strWriter = etWriter .getText().toString().replace(" ", ""), strPress = etPress .getText().toString().replace(" ", ""), strPrice = etPrice .getText().toString().replace(" ", ""); switch (v.getId()) { case R.id.main_btn_query: // 查询弹出结果界面显示,传递参数 queryData(strBookname, strWriter, strPress, strPrice); break; case R.id.main_btn_exit: finish(); break; case R.id.main_btn_add: // 添加新记录 addData(strBookname, strWriter, strPress, strPrice); break; default: break; } } private void addData(String strBookname, String strWriter, String strPress, String strPrice) { if (strBookname.equals("") || strWriter.equals("") || strPress.equals("") || strPrice.equals("")) { Toast.makeText(this, "请输入完整信息!", Toast.LENGTH_SHORT).show(); } else { BookDao dao = new BookDao(this); SQLiteDatabase db = dao.getWritableDatabase(); try { String sql = "insert into " + BookDao.TAB_NAME + "(bookname,writer,press,price) values(?,?,?,?)"; db.execSQL(sql, new Object[] { strBookname, strWriter, strPress, Double.parseDouble(strPrice) }); Toast.makeText(this, "添加成功!", Toast.LENGTH_SHORT).show(); } catch (Exception e) { Toast.makeText(this, "添加失败!请重试!", Toast.LENGTH_SHORT).show(); e.printStackTrace(); } } } /** * @description 查询方法 * @param strBookname * @param strWriter * @param strPress * @param strPrice */ private void queryData(String strBookname, String strWriter, String strPress, String strPrice) { if (strBookname.equals("") && strWriter.equals("") && strPress.equals("") && strPrice.equals("")) { Toast.makeText(this, "必须输入至少一项", Toast.LENGTH_SHORT).show(); } else { Intent intent = new Intent(MainActivity.this, ResultActivity.class); Bundle bundle = new Bundle(); bundle.putString(BookBean.FILED_BOOKNAME, strBookname); bundle.putString(BookBean.FILED_WRITER, strWriter); bundle.putString(BookBean.FILED_PRESS, strPress); bundle.putString(BookBean.FILED_PRICE, strPrice); intent.putExtra(BUNDLE, bundle); startActivity(intent); } } } package com.example.myapplication; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import android.app.AlertDialog; import android.content.BroadcastReceiver; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.content.IntentFilter; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.util.Log; import android.view.View; import android.view.View.OnClickListener; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.Button; import android.widget.ListView; import android.widget.TextView; import android.widget.Toast; public class ResultActivity extends AppCompatActivity implements OnClickListener { // 控件 Button btnBack; ListView listview; TextView tmpBookname; // 数据库变量*************** BookDao dao; SQLiteDatabase db; ArrayList<BookBean> resultList; // 显示item的list集合 List<Map<String, Object>> listAdapter; // 数据映射的list集合 String index[] = { "id", "bookname", "writer", "press", "price" }; BookAdapter adapter; // 常量 public final static int MSG_DEL_SUCCESS = 1; public final static int MSG_DEL = 2; // 变量 String idData; // 选择的id int positionData; String str; // 修改的书名 Map<String, Object> map; // 选中的item映射 // 广播变量 IntentFilter intentFilter; RefreshReceiver receiver; @Override protected void onDestroy() { System.out.println("destroy注销"); unregisterReceiver(receiver); super.onDestroy(); } @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.result_layout); // 注册广播 intentFilter = new IntentFilter(); intentFilter.addAction("update"); receiver = new RefreshReceiver(); this.registerReceiver(receiver, intentFilter); super.onStart(); initView(); // 初始化数据集 initData(); // 获取list集合 resultList = getItemList(); if (resultList.size() != 0) { // 获取数据映射 listAdapter = getDataMap(resultList); // 加载适配器 adapter = new BookAdapter(ResultActivity.this, listAdapter, index); listview.setAdapter(adapter); } else { Toast.makeText(ResultActivity.this, "无此图书信息!", Toast.LENGTH_SHORT) .show(); } // 点击item显示删除或修改 listview.setOnItemClickListener(new OnItemClickListener() { @SuppressWarnings("unchecked") @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { map = (Map<String, Object>) adapter.getItem(position); idData = map.get("id").toString(); System.out.println("选择的id-->" + idData); positionData = position; new AlertDialog.Builder(ResultActivity.this) .setTitle("对本条记录如何操作?") .setPositiveButton("删除", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { // 删除记录 deleteData(); } }) .setNeutralButton("修改", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // 弹出Activity修改,传递id号 Intent intent = new Intent( ResultActivity.this, UpdateActivity.class); Bundle bundle = new Bundle(); bundle.putString(BookBean.FILED_ID, idData); bundle.putString( BookBean.FILED_BOOKNAME, map.get(BookBean.FILED_BOOKNAME) .toString()); bundle.putString(BookBean.FILED_WRITER, map.get(BookBean.FILED_WRITER) .toString()); bundle.putString(BookBean.FILED_PRESS, map.get(BookBean.FILED_PRESS) .toString()); bundle.putString(BookBean.FILED_PRICE, map.get(BookBean.FILED_PRICE) .toString()); intent.putExtra("bundle", bundle); startActivity(intent); } }) .setNegativeButton("取消", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { } }).show(); // // 修改后 更新listview // freshData(); } }); } /** * @description 刷新数据 */ public void freshData() { resultList = getItemList(); if (resultList.size() != 0) { // 获取数据映射 listAdapter = getDataMap(resultList); // 加载适配器 // adapter.notifyDataSetChanged(); adapter = new BookAdapter(ResultActivity.this, listAdapter, index); listview.setAdapter(adapter); System.out.println("刷新成功!"); } else { System.out.println("刷新失败!"); } } /** * @description 获取adpter的数据映射 * @param resultList * @return */ private List<Map<String, Object>> getDataMap(ArrayList<BookBean> resultList) { List<Map<String, Object>> dataMap = new ArrayList<Map<String, Object>>(); Map<String, Object> map; for (BookBean book : resultList) { map = new HashMap<String, Object>(); map.put("id", book.getId() + ""); map.put("bookname", book.getBookname()); map.put("writer", book.getWriter()); map.put("press", book.getPress()); map.put("price", book.getPrice() + ""); dataMap.add(map); } return dataMap; } private void initData() { resultList = new ArrayList<BookBean>(); } // 获取显示item数据 private ArrayList<BookBean> getItemList() { ArrayList<BookBean> list = new ArrayList<BookBean>(); dao = new BookDao(ResultActivity.this); db = dao.getWritableDatabase(); // 查询结果存入list try { // 获取传递过来的参数作为查询限制 Intent intent = getIntent(); Bundle bundle = intent.getBundleExtra(MainActivity.BUNDLE); String strBookname = bundle.getString(BookBean.FILED_BOOKNAME); String strWriter = bundle.getString(BookBean.FILED_WRITER); String strPress = bundle.getString(BookBean.FILED_PRESS); String strPrice = bundle.getString(BookBean.FILED_PRICE); String sql = "select * from " + BookDao.TAB_NAME + " where "; ArrayList<String> list1 = new ArrayList<String>(); if (!strBookname.equals("")) { list1.add(BookBean.FILED_BOOKNAME + " like '%" + strBookname + "%'"); } if (!strWriter.equals("")) { list1.add(BookBean.FILED_WRITER + " like '%" + strWriter + "%'"); } if (!strPress.equals("")) { list1.add(BookBean.FILED_PRESS + " like '%" + strPress + "%'"); } if (!strPrice.equals("")) { list1.add(BookBean.FILED_PRICE + " = " + strPrice); } // sql查询语句拼接 String str1 = ""; if (list1.size() > 1) { for (int i = 0; i < list1.size() - 2; i++) { str1 += " " + list1.get(0) + " and "; } str1 += " " + list1.get(list1.size() - 1); } else { str1 = list1.get(0); } sql += str1; System.out.println("sql-->" + sql); Cursor c = db.rawQuery(sql, null); while (c.moveToNext()) { // 存入数据集 BookBean book = new BookBean(c.getInt(0), c.getString(1), c.getString(2), c.getString(3), c.getDouble(4)); list.add(book); } Log.i("tag", "查找成功!"); } catch (Exception e) { Log.i("tag", "查找失败!"); e.printStackTrace(); } return list; } private void initView() { // 初始化 btnBack = (Button) findViewById(R.id.res_ly_btn_back); System.out.println("btn id-->" + btnBack.getId()); listview = (ListView) findViewById(R.id.listview); // 设置监听 btnBack.setOnClickListener(this); } @Override public void onClick(View v) { if (v.getId() == R.id.res_ly_btn_back) { finish(); } } private void deleteData() { try { db.delete(BookDao.TAB_NAME, BookBean.FILED_ID + "=?", new String[] { idData }); Toast.makeText(ResultActivity.this, "删除成功!", Toast.LENGTH_SHORT) .show(); } catch (Exception e) { Toast.makeText(ResultActivity.this, "删除失败!", Toast.LENGTH_SHORT) .show(); e.printStackTrace(); } // 更新listview listAdapter.remove(positionData); adapter.notifyDataSetChanged(); } /** * @description 自定义广播刷新listview * @author smalt * */ class RefreshReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { if (intent.getAction().equals("update")) { System.out.println("接收到信息开始刷新"); freshData(); } } } }
package com.example.myapplication; import android.content.ContentValues; import android.content.Intent; import android.database.sqlite.SQLiteDatabase; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; public class UpdateActivity extends AppCompatActivity implements OnClickListener { // 控件 EditText etBookname, etWriter, etPress, etPrice; Button btnOK, btnCancel; // 变量 String strID; // 需要查询的id @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.update_item); // 实例化 initView(); // 添加监听 initListener(); } private void initListener() { btnOK.setOnClickListener(this); btnCancel.setOnClickListener(this); } private void initView() { etBookname = (EditText) findViewById(R.id.upd_ite_et_bookname); etWriter = (EditText) findViewById(R.id.upd_iem_et_wrtier); etPress = (EditText) findViewById(R.id.upd_iem_et_press); etPrice = (EditText) findViewById(R.id.upd_iem_et_price); btnOK = (Button) findViewById(R.id.upd_btn_ok); btnCancel = (Button) findViewById(R.id.upd_btn_cancel); // 获取id号,书名.作者,出版社,价格 Intent intent = getIntent(); Bundle bundle = intent.getBundleExtra("bundle"); strID = bundle.getString(BookBean.FILED_ID); // 默认显示原来的数据 etBookname .setText(bundle.getString(BookBean.FILED_BOOKNAME).toString()); etWriter.setText(bundle.getString(BookBean.FILED_WRITER).toString()); etPress.setText(bundle.getString(BookBean.FILED_PRESS).toString()); etPrice.setText(bundle.getString(BookBean.FILED_PRICE).toString()); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.upd_btn_ok: String strBookname = etBookname.getText().toString(); String strWriter = etWriter.getText().toString(); String strPress = etPress.getText().toString(); String strPrice = etPrice.getText().toString(); // 修改记录 try { BookDao dao = new BookDao(UpdateActivity.this); SQLiteDatabase db = dao.getWritableDatabase(); ContentValues values = new ContentValues(); values.put(BookBean.FILED_BOOKNAME, strBookname);// key为字段名,value为值 values.put(BookBean.FILED_WRITER, strWriter);// key为字段名,value为值 values.put(BookBean.FILED_PRESS, strPress);// key为字段名,value为值 values.put(BookBean.FILED_PRICE, strPrice);// key为字段名,value为值 db.update(BookDao.TAB_NAME, values, "_id=?", new String[] { strID }); Toast.makeText(UpdateActivity.this, "修改成功!", Toast.LENGTH_SHORT) .show(); // 发送广播通知刷新adapter /* Intent intent = new Intent(); intent.setAction("update"); UpdateActivity.this.sendBroadcast(intent);*/ System.out.println("发送广播..."); finish(); } catch (Exception e) { Toast.makeText(UpdateActivity.this, "修改失败!", Toast.LENGTH_SHORT) .show(); e.printStackTrace(); } break; case R.id.upd_btn_cancel: finish(); default: break; } } }
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" > <!-- 图书信息item界面 --> <TableLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_centerVertical="true" > <!-- 编号 --> <TableRow> <TextView android:layout_margin="10dp" android:gravity="center|right" android:text="@string/str_id" /> <TextView android:id="@+id/book_item_id" android:layout_margin="10dp" android:gravity="center|left" /> </TableRow> <!-- 书名 --> <TableRow> <TextView android:layout_margin="10dp" android:gravity="center|right" android:text="@string/str_bookname" /> <TextView android:id="@+id/book_item_bookname" android:layout_margin="10dp" android:gravity="center|left" /> </TableRow> <!-- 作者 --> <TableRow> <TextView android:layout_margin="10dp" android:gravity="center|right" android:text="@string/str_writer" /> <TextView android:id="@+id/book_item_writer" android:layout_margin="10dp" android:gravity="center|left" /> </TableRow> <!-- 出版社 --> <TableRow> <TextView android:layout_margin="10dp" android:gravity="center|right" android:text="@string/str_press" /> <TextView android:id="@+id/book_item_press" android:layout_margin="10dp" android:gravity="center|left" /> </TableRow> <!-- 价格 --> <TableRow> <TextView android:layout_margin="10dp" android:gravity="center|right" android:text="@string/str_price" /> <TextView android:id="@+id/book_item_price" android:layout_margin="10dp" android:gravity="center|left" /> </TableRow> </TableLayout> </RelativeLayout>
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" > <!-- 标题部分 --> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:layout_marginTop="20dp" android:text="@string/str_titile" android:textSize="30sp" /> <!-- 编辑部分 --> <TableLayout android:id="@+id/main_layout_mid" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_centerVertical="true" > <!-- 书名 --> <TableRow> <TextView android:layout_margin="10dp" android:gravity="center|right" android:text="@string/str_bookname" /> <EditText android:id="@+id/main_bookname" android:layout_width="200dp" android:layout_margin="10dp" android:inputType="text" /> </TableRow> <!-- 作者 --> <TableRow> <TextView android:layout_margin="10dp" android:gravity="center|right" android:text="@string/str_writer" /> <EditText android:id="@+id/main_writer" android:layout_width="200dp" android:layout_margin="10dp" android:inputType="text" /> </TableRow> <!-- 出版社 --> <TableRow> <TextView android:layout_margin="10dp" android:gravity="center|right" android:text="@string/str_press" /> <EditText android:id="@+id/main_press" android:layout_width="200dp" android:layout_margin="10dp" android:inputType="text" /> </TableRow> <!-- 价格 --> <TableRow> <TextView android:layout_margin="10dp" android:gravity="center|right" android:text="@string/str_price" /> <EditText android:id="@+id/main_price" android:layout_width="200dp" android:layout_margin="10dp" android:inputType="numberDecimal" /> </TableRow> </TableLayout> <!-- 按钮部分 --> <TableLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/main_layout_mid" android:layout_centerHorizontal="true" android:layout_marginTop="20dp" > <TableRow> <Button android:id="@+id/main_btn_query" android:layout_width="80dp" android:layout_margin="10dp" android:gravity="center" android:text="@string/btn_query" /> <Button android:id="@+id/main_btn_add" android:layout_width="80dp" android:layout_margin="10dp" android:gravity="center" android:text="@string/btn_add" /> <Button android:id="@+id/main_btn_exit" android:layout_width="80dp" android:layout_margin="10dp" android:gravity="center" android:text="@string/str_exit" /> </TableRow> </TableLayout> </RelativeLayout>
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" > <!-- 查询结果界面 --> <Button android:id="@+id/res_ly_btn_back" android:layout_width="200dp" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_centerHorizontal="true" android:layout_margin="10dp" android:text="@string/str_back" /> <ListView android:id="@+id/listview" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_above="@id/res_ly_btn_back" > </ListView> </RelativeLayout>
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/update_item_ly" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#ffffffff" > <TableLayout android:id="@+id/upd_tbly_top" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_centerVertical="true" > <!-- 书名 --> <TableRow> <TextView android:layout_margin="5dp" android:gravity="center|right" android:text="@string/str_bookname" /> <EditText android:id="@+id/upd_ite_et_bookname" android:layout_width="150dp" android:layout_margin="5dp" android:inputType="text" /> </TableRow> <!-- 作者 --> <TableRow> <TextView android:layout_margin="5dp" android:gravity="center|right" android:text="@string/str_writer" /> <EditText android:id="@+id/upd_iem_et_wrtier" android:layout_width="150dp" android:layout_margin="5dp" android:inputType="text" /> </TableRow> <!-- 出版社 --> <TableRow> <TextView android:layout_margin="5dp" android:gravity="center|right" android:text="@string/str_press" /> <EditText android:id="@+id/upd_iem_et_press" android:layout_width="150dp" android:layout_margin="5dp" android:inputType="text" /> </TableRow> <!-- 价格 --> <TableRow> <TextView android:layout_margin="5dp" android:gravity="center|right" android:text="@string/str_price" /> <EditText android:id="@+id/upd_iem_et_price" android:layout_width="150dp" android:layout_margin="5dp" android:inputType="text" /> </TableRow> </TableLayout> <!-- 确定和取消按钮 --> <TableLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/upd_tbly_top" android:layout_centerHorizontal="true" > <TableRow> <Button android:id="@+id/upd_btn_ok" android:layout_width="100dp" android:layout_margin="5dp" android:text="@string/str_ok" /> <Button android:id="@+id/upd_btn_cancel" android:layout_width="100dp" android:layout_margin="5dp" android:text="@string/str_cancel" /> </TableRow> </TableLayout> </RelativeLayout>
<resources>
<string name="app_name">SQLite-library</string>
<string name="action_settings">Settings</string>
<string name="hello_world">Hello world!</string>
<!-- 文本类 -->
<string name="str_titile">图书信息管理系统</string>
<string name="str_id">编号</string>
<string name="str_bookname">书名</string>
<string name="str_writer">作者</string>
<string name="str_press">出版社</string>
<string name="str_price">价格</string>
<string name="str_back">返回</string>
<string name="str_exit">退出</string>
<string name="str_ok">确定</string>
<string name="str_cancel">取消</string>
<!-- 按钮类 -->
<string name="btn_add">增加</string>
<string name="btn_delete">删除</string>
<string name="btn_update">修改</string>
<string name="btn_query">查询</string>
</resources>
过几天把下载源码的链接放上来。。。。。