Android的Notepad记事本案例实战

本文详细介绍了如何开发一个Android记事本应用,从搭建布局到实现数据库操作,包括记事本界面、记录实体类、适配器、数据库创建及显示功能等关键步骤。

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

一、搭建记事本布局

效果图:

在这里插入图片描述
在这里插入图片描述

(activity_notepad.xml)

1.去掉标题栏:在AndroidManifest.xml中的theme改成NoActionBar。

2.记事本主页布局:

<!--1.搭建记事本界面布局-->
<!--(1)TextView:显示界面标题-->
<!--(2)ListView:显示记录列表-->
<!--(3)ImageView:图片作添加按钮-->

3.细节解释:

(1)相对布局中:

背景色:#fefefe(网页安全色:偏白黄色)

android:background="#fefefe"

(2)ListView:

android:cacheColorHint="#00000000"		<--避免滚动时,重绘View时出现其他颜色-->
android:divider="#E4E4E4"				<--分割线:"#E4E4E4"颜色为极亮度的灰色阴影-->
android:dividerHeight="1dp"				<--设置分割线高度-->
android:fadingEdge="none"				<--滚动效果:取消滚动时的阴影层次-->
android:listSelector="#00000000"		<--避免默认会显示选中的item为橙黄底色-->
android:scrollbars="none"				<--滚动条:隐藏-->
android:layout_below="@+id/note_name"	<--在~位置之下:在@+id/note_name控件之下-->

3.ImageView

android:layout_marginBottom="30dp"		<--距离底部:30dp-->
android:layout_alignParentBottom="true" <--悬浮,并一直处于屏幕底端-->
android:layout_centerHorizontal="true"	<--位置:居中-->

二、搭建记事本主界面的Item布局

(notepad_item_layout.xml)

1.Item布局

<!--2.搭建记事本主界面里的Item布局-->
<!--(1)TextView:显示内容-->
<!--(2)TextView:显示时间-->

2.细节解释:

android:maxLines="2"			<--最大显示行数:2行(无论有多少行,只显示2行)-->
android:ellipsize="end"			<--压缩显示:若内容过多,省略号在结尾-->
android:lineSpacingExtra="3dp"	<--行间距-->
android:paddingTop="10dp"		<--该控件内部度内容距离该控件上边缘的边距-->

三、封装记录信息实体类

(NotepadBean.java)

1.getset方法:

Id(记录的id)、notepadCountent(记录的内容)、noteoadTime(保存记录的时间)

四、编写记事本界面列表适配器

(NotepadAdapter.java)

1.继承BaseAdapter

(1)XML布局对象:LayoutInflater layoutInflater

(2)实体信息对象:List list

2.构造方法

3.四个重写

(1)获取Item总数:getCount()

(2)对应Item对象:getItem(int position)

(3)Item对象的Id:getItemId(int position)

(4)对应的Item视图:getView(int position, View convertView, ViewGroup parent)

  • 在getView中:声明一个ViewHolder viewHolder类对象

    • 在getView外:实现ViewHolder类:声明实际item布局空间
      • 在实现ViewHolder类中:实现findViewById()方法
  • 套路:关联viewholder与convertView

    if (convertView == null) {
         
                convertView = layoutInflater.inflate(R.layout.notepad_item_layout, null);//实例化一个对象(布局加载器)
                viewHolder = new ViewHolder(convertView);//实例化类对象
                convertView.setTag(viewHolder
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值