Androidstudio课程设计,备忘录记事本实现

1. 运行效果图

请添加图片描述

2. 功能点实现

  1. 用户登录,注册
  2. 记事本分类
  3. 增,删,改,查实现
  4. 使用SQLite数据库存储数据
  5. ListView列表控件的使用
  6. 适配器Adapter的使用
  7. 数据统计树状图(单独的一个模块功能)

3. 核心代码实现过程

  1. 主页面activity_main.xml布局
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity">

    <androidx.appcompat.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@color/teal_200"
        app:title="记事本"
        app:titleTextColor="@color/white">


        <TextView
            android:id="@+id/chart"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="right"
            android:padding="15dp"
            android:text="统计报表"
            android:textColor="@color/white" />


    </androidx.appcompat.widget.Toolbar>


    <com.google.android.material.floatingactionbutton.FloatingActionButton
        android:id="@+id/add"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="40dp"
        android:src="@mipmap/img_add" />


    <ListView
        android:id="@+id/listview"
        android:divider="@null"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/toolbar" />

</RelativeLayout>
  1. 主页MainActivity.java页面
public class MainActivity extends BaseActivity {
    private String titles[] = {"记账", "打卡", "便签"};
    private int position = 0;

    private ListView listview;
    private ListAdapter mListAdapter;
    private ContentDao mContentDao;



    @Override
    protected int getLayoutId() {
        return R.layout.activity_main;
    }

    @Override
    protected void initView() {

        listview = findViewById(R.id.listview);
        mListAdapter = new ListAdapter(MainActivity.this);
        listview.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
            @Override
            public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {
                ContentInfo contentInfo = mListAdapter.getItem(position);


                AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
                builder.setTitle("确定要删除吗?");
                builder.setMessage("删除后的数据将无法恢复");
                builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {

                    }
                });
                builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {


                        if (mContentDao == null) {
                            mContentDao = new ContentDao(MainActivity.this);
                        }
                        int row = mContentDao.delete(contentInfo.get_id());
                        if (row > 0) {
                            if (null != mListAdapter) {
                                mListAdapter.setList(mContentDao.queryAll());
                            }

                            showToast("删除成功");
                        } else {
                            showToast("删除失败");
                        }
                    }
                });

                builder.show();


                return true;
            }
        });


    }

    @Override
    protected void setListener() {
        findViewById(R.id.add).setOnClickListener(new View.OnClickListener() {


            @Override
            public void onClick(View v) {
                AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
                builder.setTitle("新建分类标签");
                builder.setSingleChoiceItems(titles, 0, new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        position = which;
                        showToast(titles[which]);
                    }
                });
                builder.setPositiveButton("确认", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        if (position == 0) {
                            startActivityForResult(new Intent(MainActivity.this, ChargeActivity.class), 200);
                        } else if (position == 1) {
                            startActivityForResult(new Intent(MainActivity.this, LocationActivity.class), 200);
                        } else {
                            startActivityForResult(new Intent(MainActivity.this, StickyActivity.class), 200);
                        }
                        position = 0;

                    }
                });

                builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {

                    }
                });
                builder.show();
            }
        });

        findViewById(R.id.chart).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                startActivity(new Intent(MainActivity.this, ChartActivity.class));
            }
        });

    }

    @Override
    protected void initData() {
        if (mContentDao == null) {
            mContentDao = new ContentDao(this);
        }
        listview.setAdapter(mListAdapter);
        mListAdapter.setList(mContentDao.queryAll());
    }


    @Override
    protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if (resultCode == 200) {
            initData();

        }
    }
}

有问题可联系某站上面(🔍浩宇软件开发)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

浩宇软件开发

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值