首页 > 其他分享 >主要功能实现-项目报告

主要功能实现-项目报告

时间:2023-05-24 23:34:14浏览次数:38  
标签:System 功能 imagePath String show 项目 uri 报告 println

主要功能基本完成,以下为今日努力成功。

一:实现了调用相册,将地址提取

二:实现了图片提取加分类

三:实现了添加后更新

四:结果展示

五:项目问题以及可能出现bug

一:实现了调用相册,将地址提取

具体更改的这个方法:完整代码来自《第一行代码》调用相册和使用相机。更改后调用的相册可以将照片地址提出。

private String handleImageOnKitKat(Intent data) {
String imagePath = null;
Uri uri = data.getData();
if(DocumentsContract.isDocumentUri(this, uri)) {
//如果是document类型的uri,则通过document id处理
String docId = DocumentsContract.getDocumentId(uri);
if("com.android.providers.media.documents".equals(uri.getAuthority())) {

Toast.makeText(this, "success01", Toast.LENGTH_SHORT).show();
String id = docId.split(":")[1];
String secletion = MediaStore.Images.Media._ID + "=" + id;
imagePath = getImagePath(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, secletion);
System.out.println("imagePath = " + imagePath);

} else if("com.android.providers.downloads.documents".equals(uri.getAuthority())) {

Toast.makeText(this, "success02", Toast.LENGTH_SHORT).show();
Uri contentUri = ContentUris.withAppendedId(Uri.parse("content://downloads/public_downloads"), Long.valueOf(docId));
imagePath = getImagePath(contentUri, null);
System.out.println("imagePath = " + imagePath);

}
} else if("content".equalsIgnoreCase(uri.getScheme())) {
Toast.makeText(this, "success03", Toast.LENGTH_SHORT).show();
//如果是content类型的Uri,则使用普通方式处理
imagePath = getImagePath(uri, null);
System.out.println("imagePath = " + imagePath);

} else if("file".equalsIgnoreCase(uri.getScheme())) {
//如果是file类型的uri,则直接获取文件路径
Toast.makeText(this, "success04", Toast.LENGTH_SHORT).show();
imagePath = uri.getPath();

}
displayImage(imagePath);
return imagePath;
}
二:实现了图片提取加分类
Main main = new Main();
String response = main.qiuqiu(String.valueOf(imagePath));
System.out.println("response = " + response);
System.out.println("response = " + response.replaceAll(" ","").trim());
Chatgpt chatgpt = new Chatgpt();
String message = "”" + response + "”,请严格按照以下格式回答:支付时间为“XXXX年XX月XX日”。消费类型为“?”。“餐饮美食”、“生活日用”、“交通出行”、“休闲娱乐”、“医疗保健”、“投资理财”、“其他消费”、在给出的这些选出消费类型,消费金额为“?”,消费内容为“?”。";
String information = chatgpt.response(message);
//String message = "”" + information + "”,请严格按照以下格式回答:支付时间为“XXXX年XX月XX日”。消费类型为“?”。“餐饮美食”、“生活日用”、“交通出行”、“休闲娱乐”、“医疗保健”、“投资理财”、“其他消费”、在给出的这些选出消费类型,消费金额为“?”,消费内容为“?”。";
System.out.println("information = " + information);
PaymentInfoExtractor paymentInfoExtractor = new PaymentInfoExtractor();
String time_show = paymentInfoExtractor.dealtime(information);
String type_show =paymentInfoExtractor.dealtype(information);
String money_show =paymentInfoExtractor.dealmoney(information);
String resourse_show =paymentInfoExtractor.deal(information);
System.out.println("time = " + time_show);
System.out.println("type = " + type_show);
System.out.println("money = " + money_show);
System.out.println("resourse = " + resourse_show);
time.setText(time_show);
money.setText(money_show);
sourse.setText(resourse_show);
int position = 0;
if(type_show.equals("生活日用")) {
position = 1;
}
调用我写的类
三:实现了添加后更新
Button CameraButton = (Button) getActivity().findViewById(R.id.Camera_Button);
CameraButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(getActivity(), CameraAndAlbum.class);
Bundle bundle = new Bundle();
bundle.putInt("User_id",User_id);
intent.putExtras(bundle);
startActivityForResult(intent,2);
}
});
采用activity的返回结果
四:结果展示

五:项目问题以及可能出现bug

项目最大的问题就是chatgpt的不确定性,每个时刻给出的回答都不一样,需要对其进行更改维护。

然后,有时候会出现这个界面,是最差的结果。

 然后,随机性比较强,因为以前很多次都是一个回答。

标签:System,功能,imagePath,String,show,项目,uri,报告,println
From: https://www.cnblogs.com/wudisanrenzu/p/17429866.html

相关文章

  • 题目集1-3总结报告
    前言:一 第一次题目集所涉及的知识点有1.从键盘读取数值并参与运算。2.if句和if-else句的判断。3.数值类型的转换。4.数组的创建。5.for语句的循环。6.switch语句的运用。.运用String中的substring方法获取子字符串和equalsIgnoreCase方法比较字符串。8.数组的简单处理。题量......
  • 2023/5/24每日随笔 项目基本实现
    今天,上了几节课,然后进行项目的完善与基本实现一:实现了调用相册,将地址提取二:实现了图片提取加分类三:实现了添加后更新四:结果展示五:项目问题以及可能出现bug一:实现了调用相册,将地址提取具体更改的这个方法:完整代码来自《第一行代码》调用相册和使用相机。更改后调用的相册可......
  • 代码生成器-可根据自己项目生成基础代码
    publicclassCodeService{publicstringBuild(BuildInputDtoinput){varassembly=Assembly.GetExecutingAssembly();varresourceName=assembly.GetManifestResourceNames().FirstOrDefault(a......
  • drf之登录功能,认证组件,权限组件,频率组件
    目录一、登录功能表模型视图类回顾路由二、认证组件认证组件使用步骤(固定用法)三、权限组件权限类的使用步骤四、频率组件频率类的使用步骤一、登录功能表模型classUserInfo(models.Model):name=models.CharField(max_length=32)password=models.CharField(max_......
  • 【Git用法】如何将本地项目上传到码云,只需这几步,每个步骤都有图文
    想要往码云里上传一个项目文件,首先,我们需要的工具有:①gitshell(用来敲git指令)②你自己的码云账号第一步,要注册一个码云账号,很简单,不过多复述,注册成功后登录,接下来进行第二步;第二步,点击右上方的加号中“新建项目”一项然后填写基本信息,点击创建即可第三步,安装gitshell(我的是安装Git......
  • springboot项目启动报错java.lang.NoSuchMethodError: org.springframework.boot.buil
    产生此问题的原因是由于springboot版本兼容性导致的:java.lang.NoSuchMethodError:org.springframework.boot.builder.SpringApplicationBuilder.<init>([Ljava/lang/Object;)V2019-08-2918:04:54.089ERROR[restartedMain][SpringApplication.java:842]-Applicationrunfail......
  • spring boot项目访问外部http请求的解决方案
    在Spring-Boot项目开发中,存在着本模块的代码需要访问外面模块接口,或外部url链接的需求。针对这一需求以前的做法就是访问外部请求都要经过httpClient需要专门写一个方法,来发送http请求,这个就不说了,网上一搜全都是现成的方法。springboot实现外部http请求是通过FeignClient来请求......
  • CMake入门教程:从零开始构建C/C++项目
    CMake是一个跨平台的自动化构建工具,可以用于构建各种类型的项目,包括*C++、C、Python、Java*等。本文将从零开始,介绍如何使用CMake构建一个简单的C/C++项目安装CMake首先,需要下载并安装CMake。可以从CMake官网下载。如果404NotFound,可以试一下这个国内镜像网址下载地址。创......
  • django配置文件作用,drf 登录功能,drf认证组件,drf权限组件,drf频率组件
    django配置文件作用:    drf登录功能:view内:from.modelsimportUserInfo,UserTokenfromrest_framework.viewsetsimportViewSetimportuuidfromrest_framework.responseimportResponsefromrest_framework.decoratorsimportactionclassUser......
  • CMake入门教程:从零开始构建C/C++项目
    CMake是一个跨平台的自动化构建工具,可以用于构建各种类型的项目,包括C++、C、Python、Java等。本文将从零开始,介绍如何使用CMake构建一个简单的C/C++项目安装CMake首先,需要下载并安装CMake。可以从CMake官网下载。如果404NotFound,可以试一下这个国内镜像网址下载地址。创......