android中的Sqlite应用项目

这个博客介绍了如何在 Android 应用中使用 SQLite 数据库,包括创建自定义的 `BookAdapter` 类,该类继承自 `BaseAdapter`,用于显示数据库中的书籍信息。内容涵盖了视图容器的初始化、数据绑定以及ListView的适配操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

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>

过几天把下载源码的链接放上来。。。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值