分享好友 最新动态首页 最新动态分类 切换频道
结合ai利用Android Studio开发一款记事本小程序思路分享
2024-12-25 12:58

       在正式读下面的内容之前呢,我要事先说明一下:以下内容是我结合ai用Android Studio做记事本的思路过程,并不会直接提供代码给到大家,主要是我也不知道怎么给到大家嘿。我写这个主要是想记录一下我做这个的时候的思路,大家可以借鉴一下。做一个项目无论大小对业务逻辑要求还是比较高的,在你编程思路比较清晰以及对整个代码结构比较清晰的时候,用ai编程其实会方便很多。用ai呢就是有什么需求就说什么,哪里不懂问哪里,戒骄戒躁,一步一步做,肯定能做好的。也没必要全部照我这样来操作,我主要是提供一个思路供大家参考。下面开始介绍

结合ai利用Android Studio开发一款记事本小程序思路分享

打开通义千问,手机号登录后即可使用

:搭建好整体的模型框架,先按步骤一步步走好。

1.询问ai:我是androidstudio开发小白,请告诉我开发一款记事本程序需要进行哪些步骤。

后面ai会告诉你基本步骤

我总结一下就是准备工作(配置环境)、创建新项目、设计UI、编写逻辑代码、数据存储、测试应用、添加额外功能、发布应用

2.在了解到基本步骤之后,配置环境和创建新项目基本无问题,而后问ai

询问ai:我是一名android小白,现在我需要开发一款《记事本》程序,请你帮我设计一下UI界面:记事本主界面列表(列表+一个添加按钮)、添加记录界面、修改记录界面。要求美观

分析

     (1)ai会为你概述每个界面的设计要点,并提供一些实现建议

     (2)无实战的建议,所以我们需要接着问:请你以代码的形式教我如何在Android Studio写出相应的代码。

     (3)我发现ai是用Kotlin语言写的,而我对java语言比较熟悉所以我接着问:请你用java来写。接着ai就开始用java语言教我们编写一个简单的记事本程序:从创建项目、修改biuld.gradle文件、创建数据库和数据模型、DatabaseHelper.java、创建适配器、ui界面(主界面、添加记录界面、修改记录界面)及对应的java调用文件、数据库操作、布局资源文件。这些你直接用ai帮你做你看他怎么做的就好。

3.复制粘贴之后,有报错解决报错,先把整体的框架搭建好。

问题解析:在我的执行过程中,我是遇到了很多的报错信息

(1)android:src="@drawable/ic_add" />

然后我问ai:android:src="@drawable/ic_add" />报错

分析:原因是因为没有找到该图标资源:ai会教我们如何去添加图标资源、修改xml布局文件、清理和重建项目、添加依赖性、同步项目、检查资源文件等一系列操作。

(2)item_note和R.id.text_view_title两个代码显示爆红
我问ai:为什么item_note和R.id.text_view_title会报错

原因是因为没有被定义:然后ai会教我们创建item_note.xml文件,其中就包含了text_view_title和text_view_date这两个TextView。

4.因为我刚刚开始不太熟悉android studio怎么把做的项目在模拟机上启动,所以我就问ai:按照上面的步骤全部做了之后怎么把软件下载到模拟器adv的桌面上,跟着ai的步骤成功启动adv(模拟机)并正常显示之后我开始对界面进行修改。

例如:想让文本和加号图标变得大一些且自适应窗口

问ai:主界面的xml文件复制给ai+请帮我将加号和文本、按钮设计得大一些自适应窗口

跟着他的步骤做即可。

  1. 在跟随ai完成一系列操作之后有部分代码有报红的情况如下代码:<com.google.android.material.floatingactionbutton.FloatingActionButton。
  2. 因为这是紧接着ai操作之后新加的代码,所以我们之间告诉他这个地方报错:<com.google.android.material.floatingactionbutton.FloatingActionButton报错。

分析:他会告诉我们出错的原因(缺少必要的依赖库或库,教我们如何去解决。

  1. 后续执行后发现的错误爆红信息:fab_add_note <com.google.android.material.floatingactionbutton.FloatingActionButton>: No speakable text present

我是直接把这段错误信息发给ai的:然后他告诉我解决方式,添加一个描述性信息即可。

:实现具体的功能实现

1.问ai:为之前的项目添加接口功能实现,点击右下角添加图标进入添加界面,输入信息之后保存后点击返回即可返回到主界面。

分析:按ai给的步骤完成即可

2.我想在编辑信息的左上方添加一个返回的图像(后续我改成了按钮:然后我问ai:有关编辑的xml文件直接复制过来+请在上述的xml文件的界面中在左上角显示一个返回的图像

分析:按ai给的步骤完成

3.我不知道是否需要连接数据库,所以我问ai:把DatabaseHelper类文件复制粘贴过来+需要连接数据库吗

告诉了我一些增删改查的可能介绍,可以把其中的东西用上。

4.因为EditNoteActivity中缺少一下接口实现,所以我问ai:把EditNoteActivity中的代码复制粘贴过来+请你补全接口处的代码。

让ai帮我实现接口

(1)粘贴过来之后我发现有关table和column的代码都报错了。

因为有前后联系的关系我就直接问ai了:有关table和column的代码都报错了

(2)解决之后又出现了这样的报错信息'TABLE_NAME' has private access in 'com.example.noteapp.DatabaseHelper'

于是我问ai,我是直接发给他的,因为ai能根据报错的信息然后反馈'TABLE_NAME' has private access in 'com.example.noteapp.DatabaseHelper'。

原因是TABLE_NAME等常量在DatabaseHelper类中被定义为私有(private)……

(3)在一段if语句中其中有两行代码报红,于是我把这些代码一起复制粘贴过来问ai:复制粘贴的内容+中间两行报错。修正原代码即可

5.因为在MainActivity中前面只给出了框架,以及某些方法,但方法体只给了注释告诉我们需要实现的功能。

于是我问ai:把MainActivity的全部代码复制粘贴过来+补充完注释部分的剩余代码

6.项目写完之后呢,app出现了闪退的情况,我直接问ai:项目写完之后,打开app会闪退

然后他告诉我,去打开logcat去查找报错的日志,从这开始我也就学会慢慢自己去根据日志去解决错误问题了。。

接着把爆红的日志信息全部复制粘贴给ai让他找出出错的问题和解决方案就行了。

7.接着我把MainActivity上的代码复制过来+请帮我创建适配器和点击监听器,然后ai帮我把之前的代码全部整合了一般。

8.因为我在虚拟机上点击右下角的添加按钮之后没反应于是问ai:把MainActivity上的代码复制过来+使得执行程序之后点击右下角的添加按钮进入到添加界面添加相应数据。

Ai帮我修改了点击处理逻辑,还帮我完善了添加界面和添加记录的业务处理逻辑。

9.执行完上述全部之后,我进行实操,结果点击添加按钮直接虚拟机直接无响应退出了,于是我问ai:点击添加按钮直接虚拟机直接无响应退出了,然后他一顿分析我感觉来不起,就去查日志信息,把日志信息发给了他。说:日志信息+帮我定位问题

分析:根据ai的说明,原因是因为没有在AndroidManifest.xml声明AddNoteActivity 这个活动类

10.解决之后,我们接着做添加记录的处理业务逻辑

问ai:把AddNoteActivit复制粘贴+实现在添加界面输入数据之后按下save之后跳转到主界面用列表的形式展现出来。

跟着ai的步骤做完

做完后出现问题:虽然能起到返回到主界面的作用但是保存的数据无法在主界面以列表的形式呈现出来

因为前后关系,我就直接问ai了:虽然能起到返回到主界面的作用但是保存的数据无法在主界面以列表的形式呈现出来,按ai的提示操作完即可

11.在主方法中出现了这样的错误

int id = cursor.getInt(cursor.getColumnIndex(DatabaseHelper.COLUMN_ID)); String title = cursor.getString(cursor.getColumnIndex(DatabaseHelper.COLUMN_TITLE)); String content = cursor.getString(cursor.getColumnIndex(DatabaseHelper.COLUMN_CONTENT)); long date = cursor.getLong(cursor.getColumnIndex(DatabaseHelper.COLUMN_DATE)); 这四句报错

原因是因为cursor的取值可能取到-1,在ID括号后面+1即可

12.NoteAdapter类中出现的问题

报错信息

Cannot resolve symbol 'SimpleDateFormat'

Cannot resolve symbol 'Date'

Cannot resolve symbol 'title_text_view'

Cannot resolve symbol 'content_text_view'

Cannot resolve symbol 'date_text_view'

问ai的方式:NoteAdapter的源码+报错信息

解决办法:导包(到NoteAdapter中+查找、确保布局文件中包含正确的试图id

13.执行app验证,发现有无响应闪退的问题,于是查看日志找问题原因,把日志法给ai操作完就没问题了。

14.问ai:把MainActivity的源码复制粘贴+编写一个长按删除记录的事件和接口实现长按左键删除记录的操作,跟随ai的提示操作完毕

15.问ai:把MainActivity的源码复制粘贴+编写方法和接口实现:当点击左上方的返回按钮图片时,会直接返回到主界面

因为涉及到一个设计toolbar的问题,我不会,所以我问ai:请你从教我设置toobar开始教我。

跟着ai操作即可。

操作过程中在activity_main.xml 中遇到了 "Cannot resolve class RecyclerView" 错误,然后我把他的部分代码复制过来+报错的信息问ai

分析:因为你的项目缺少了必要的依赖库。RecyclerView 是 Android 支持库的一部分,你需要确保在 build.gradle 文件中添加了相应的依赖。…………

跟着操作即可

还遇到了:Namespace 'app' is not bound这样的报错。

问ai是因为:需要在 <RelativeLayout> 标签内添加 xmlns:app="http://schemas.android.com/apk/res-auto"。

16.fab_add_note <com.google.android.material.floatingactionbutton.FloatingActionButton>: No speakable text present

该问题又会重复出现,方法和前面(一)中的第8点类似,不会的话还可以接着问ai就好

17.Cannot resolve symbol '@color/colorPrimary' Cannot resolve symbol '@color/colorPrimaryDark'

颜色资源正确引用的问题,源代码+报错信息问ai,ai会教你如何配置

18.报错日志信息:As of Android 12, `android:exported` must be set; use `true` to make the activity available to other apps, and `false` otherwise. For launcher activities, this should be set to `true`.

类似于这种报错的日志信息可以直接为ai,ai可以告诉你详细的解析。

19.Cannot resolve symbol 'menu_main'

Cannot resolve symbol 'AlertDialog'

直接问ai把这两个报错的信息发给他即可,ai会教你配置xml文件、更新方法,导入类……

20.因为之前左上角的返回我设置的是一个图片,然后呢点击老是没反应出问题,我就直接让ai帮我做了一个。

问ai:AddNoteActivity的源代码+在添加界面的左上角添加一个返回的按钮在虚拟机中左键点击可以实现返回的操作。

按要求走下去

21.为编辑页面添加功能

问ai:EditNoteActivity的源代码+在这个代码的基础之上,实现当在主界面点击左键后进入编辑界面,并且在编辑完成并保存之后返回到主界面,编辑的内容需要发生改变

22.在MainActivity中为EditNoteActivity设置业务处理逻辑

问ai:MainActivity源码+请在该MainActivity的基础之上实现 在主界面(MainActivity)中设置点击事件来启动 EditNoteActivity。 传递笔记 ID 到 EditNoteActivity。 在 EditNoteActivity 中加载笔记数据并允许用户编辑。 在编辑完成后保存更改并返回到 MainActivity。 在 MainActivity 中重新加载笔记列表以显示更新的内容。

23.做到这个就可以测试啦,测试之后我是有一个日志报错了的,原因之前也遇到过,把报错的日志复制到ai中让他帮忙解决,声明相应的xml文件就好啦。

24.写到这里一个记事本文件的开发也就差不多结束啦。加油

最新文章
AI教育领导者Riiid推出R.Test,帮助学习者备考SAT和ACT | AI学习解决方案
【ZiDongHua 之 方案应用场:Riiid 、AI教育 、AI模型 、AI学习解决方案 、高质量教育】AI教育领导者Riiid推出R.Test,帮助学习者备考SAT和ACTAI教育解决方案的领先供应商、Born2Global Centre成员公司Riiid宣布推出一个旨在帮助学生备考SA
4款值得推荐的AI辅助编程工具(支持C#语言)
在这个AI迅速发展的阶段,涌现出了一大批好用的AI辅助编程工具。AI辅助编程工具能够提高开发效率、改善代码质量、降低bug率,是现代软件开发过程中的重要助手。今天大姚给大家分享4款AI辅助编程工具(并且都支持C#语言),希望对大家有所帮
2024年度美图公司凭实力崛起,AI动漫头像制作迎来新风口!
1、我们在电脑或手机浏览器中打开简单AI(https://ai.sohu.com/pc/generate/textToImg?trans=030001_jdaitxdt),或者在微信小程序搜索【简单AI】。在左侧导航栏选择“AI绘图”中的“文字生成图片”,在“选择画什么”模块选择“动漫头像”
36漫画正版在线
移动互联网的高度发展对我们的生活产生了巨大影响。在这个变革中,网络漫画媒体成为一大热点。正版漫画平台悄然崛起,而其中独树一帜的就是36漫画。本文将全方位的为大家介绍36漫画正版在线下载。1.36漫画是一个全新的在线漫画平台,秉持着
2024年(金地环湾城)官方首页网站|金地环湾城百度百科|深圳房天下
深圳·金地环湾城✅金地环湾城售楼处24小时电话:400-883-1335【☎已认证】✅金地环湾城营销中心24小时电话:400-8950-807【☎已认证】Vip贵宾置业===欢迎来电预约尊享内部折扣===匠心钜制恭迎品鉴✅金地环湾城售楼中心24小时电话:400-109-07
AI周期大复盘|七年轮回,2024会是下一个2017吗?
从2017到2024, AI的七年之痒。刚刚结束的GTC在科技圈刷了屏,英伟达已然成为现在科技界的中心。记得当英伟达市值刚突破万亿的时候就有人觉得达到了天花板,但是如果你了解英伟达在上一波AI浪潮中的增长,你可能就会猜到它的的行情绝不会止
AI电商物流智能化:自然语言处理技术引领新趋势
  随着电子商务的飞速发展,AI电商物流的智能化趋势日益明显。自然语言处理(NLP)技术作为人工智能的重要组成部分,正在为电商物流行业带来革命性的变革。NLP技术的广泛应用,使得电商物流更加高效、便捷,提升了消费者体验和商家运营效率
36漫画免费正版
36漫画免费正版一款无广告漫画软件,它提供了大量的正版漫画资源供用户免费阅读。无论你喜欢日韩的浪漫故事,欧美的科幻冒险,还是港台的独特风格,这个应用都能满足你的需求。更值得一提的是,其内容每天都会更新,让你总有新的阅读材料,
ae软件经常未响应 ae动不动就未响应教程
摘要:新片场课堂小编齐伟涵为您整理ae软件经常未响应 ae动不动就未响应教程的相关内容,欢迎小伙伴点击查看ae软件经常未响应 ae动不动就未响应教程的内容,如果您喜欢可以转发及收藏本网站。ae软件经常未响应 ae动不动就未响应教程1、ae使
相关文章
推荐文章
发表评论
0评