Android 小程序:随身记

安卓APP源码和设计报告——Android小程序超级小猫 自上世纪80年代第一部手机诞生以来,随着计算机技术的进步,手机也经历了从模拟到GSM、2.5G再到今天的3G手机如此一个发展历程。特别是进入21世纪后手机的硬件性能得到很大的提高,当前主流手机普遍配有主频500MHZ的微处理器和500MB容量的存储器。与之同步发展的还有支持手机运行的手机操作系统,从当初的单片机系统到后来的专用嵌入式系统,到后来开始为智能手机设计开发出可以更高效管理手机软硬件资源的操作系统,其中有不少属于开源项目的手机操作系统。 阅读详情

My second Android app:随身记 !

至计算器完工后,我进入了中期项目 BillBook 的开发阶段。此项目是独立开发的小应用,运用了 Activity 与 Fragment 之间的来回转换,以及 SQLite 的数据动态增删改查,最后配上计算器的算法结合而成。写这篇 blog 时项目已经完成测试。下文我会简介思路。

< 开发思路与细节 >

(1) Activity / Fragment / SQLite 之间的关系

整理思路往往能极大增加效率

(2)创建 SQLite

暂时没有加上账号密码列,所以采用了三张表记录数据,分别为:Log / Shopping / Money 。用来记录日志/消费(含收入)/钱包。

log表:

        /**
         * Log 表
         * @LogId 自增主键,标示日志生成顺序序号
         * @LogTitle 日志标题,非空
         * @LogContent 日志内容,非空
         * @LogDate 日志提交日期,非空
         */
        String LogTable = "create table Log("+
        "LogId Integer primary key Autoincrement,"+
        "LogTitle text not null,"+
        "LogContent text not null,"+
        "LogDate date not null)";

shopping表:

        /**
         * Shopping 表
         * @checkId 自增主键
         * @payment 金融方式(现金/储蓄....支付宝)
         * @image 金融项目Logo地址(int),非空
         * @name 金融项目名称,非空
         * @money 金额
         * @sc 只存在 1 或 -1 ,判断支出 or 收入
         */
        String ShoppingTable = "create table Shopping("+
        "checkId Integer primary key Autoincrement,"+
        "payment Integer not null,"+
        "image Integer not null,"+
        "name text not null,"+
        "money text,"+
        "sc Integer)";

Money表:

        /**
         * Money 表
         * @MoneyAll 总资产
         * @MoneyCash 现金金额
         * @MoneyCashCard 储蓄卡余额
         * @MoneyCreditCard 信用卡余额
         * @MoneyPay 支付宝余额
         */

        String MoneyTable = "create table Money_xx("+
        "MoneyAll text primary key,"+
        "MoneyCash text,"+
        "MoneyCashCard text,"+
        "MoneyCreditCard text,"+
        "MoneyPay text)";

(3)Fragment 跳转至 Activity

Fragment 跳转至 Activity 中需要将 Intent 的第一个参数修改一下:
Linear_log.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                new Intent(getActivity(),
                NewLogActivity.class));
            }
        });

(4)账单界面 ListView 适配器

到这一步,项目已经快过半了,为什么呢?因为适配器的内容主要来自于整个项目最复杂的金融布局:

这里的数据源由数据库提取

数据库的查询我们先放一边,首先解决金融界面的[记 录]键对数据库产生的 Update 操作。金融界面会提交 sc 作为判定支出与收入,由于项目初期我没有将图片放入数据库而是放进数组,所以这里我用了一个很麻烦的方法解决图片索引的问题:新建一个全局变量 sos 记忆图片索引。

        int sos = -1; //图片选择器
        mGridView_Calculator.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                if(mGridView_Calculator.getAdapter() == spendingAdapter){
                    mImageView_Calculator.setBackground(getResources().getDrawable(spendingLogoImage[position]));
                    mTextView_X2_ToEndOf_ImageView.setText(spendingLogoName[position]);
                    sos = -(position)-1; //根据 item 位置拿到 sos
                }else{
                    mImageView_Calculator.setBackground(getResources().getDrawable(incomeLogoImage[position]));
                    mTextView_X2_ToEndOf_ImageView.setText(incomeLogoName[position]);
                    sos = position+1; //让 sos 用正负区分来体现其意义
                }
            }
        });
当程序到达ListView的适配器中:
        int x = Integer.parseInt(list.get(i).get("image").toString());
            //收入
        if(x > 0)
            int income = incomeLogoImage[x-1];
            mImageView_CheckLogo.setBackground(context.getResources().getDrawable(income));
            //支出
        }else if( x < 0){
            int spending = spendingLogoImage[-x-1];
            mImageView_CheckLogo.setBackground(context.getResources().getDrawable(spending));
        }

经过几番调试后解决了这个棘手的问题,也为下次开发上了一课:一定想好再动手!思路永远比写更重要。

(5) MoneyAll (总资产)的值在更新时如何确定?

为什么会出现这种情况?总资产和4种下属资产在更新的时候写在一个 SQL 语句中会出现总资产偏差,我们更新的下属值应与总值正确区分,而不要让总资产多次运算。

8个android小程序源码 8个小程序的源码,供大家参考学习,内有注释。 立即下载

相关推荐

雷达信号处理DDC数字下变频

由于接收到的雷达信号频率较高,不能对其进行直接采样并数据处理,所以需要对雷达信号进行预处理,在降低其采样率的同时,将其由中频降低到低频,然后对输出的基带信号进行后续的解析,以便于获取雷达信号的特征参数。 本文采用数字正交下变频,将单通道信号转化为正交双通道信号,数字下变频(DDC)的原型为模拟下变频,通过对窄带雷达信号或单频信号进行数字混频,然后对信号进行正交采样,提取 I、Q 两路正交分量,最后通过滤波去除信号中的高频分量,将信号由中高频搬移至低频。 模拟下变频的系统框图如下: 其数学推导.

qq_44033461的博客 5231

我的第一个Android应用小程序

我的第一个Android应用小程序

weixin_51734087的博客 2674

STM32实战:增量式PID控制气体流量(附完整代码与调参技巧)

本文详细解析了如何在STM32平台上实现气体流量控制的增量式PID算法。内容涵盖从系统硬件架构选型、增量式PID算法原理与代码实现,到ADC采样滤波、PWM驱动配置等关键外设驱动,并提供了完整的参数整定技巧与工程调优实战指南,帮助开发者构建稳定可靠的气体流量控制系统。

rose2的博客 621

Android Studio 微信小程序开发

安卓开发记录提示:以下是本篇文章正文内容,下面案例可供参考。

qq_74201027的博客 1960

LLM and Embedding区别

LLM(大语言模型)和 Embedding(嵌入)是自然语言处理(NLP)中的两个核心概念,它们的核心区别在于。Embedding 计算向量。

u010674101的专栏 1875

VN1630A硬件配置指南:手把手教你用CanApe搭建XCP标定工程(附ELF文件配置技巧)

本文详细介绍了如何使用VN1630A硬件和CanApe软件搭建XCP标定工程,包括硬件配置、CanApe工程创建、ELF文件处理及XCP协议层配置等关键步骤。特别针对实际项目中常见的错误和细节问题提供解决方案,帮助工程师高效完成ECU参数标定工作。

git9versioner的博客 1158

安卓入门小程序

程序实例化布局管理器,就可以不用指定布局配置文件,代码比较简单,实例化一个线性的布局管理器,垂直摆放,添加组件,最后设置默认布局管理器。在Android的开发中,所有组件既可以通过配置的形式完成定义,也可以利用程序生成。三:以上的布局管理器都是通过配置文件生成的,也可以直接通过程序来实例化这些布局。上面的文本信息通过程序赋值,也可以直接写在string.xml中进行配置读取。使用findviewbyId方法获取组件,并对组件的文本赋值。*一个安卓程序由xml文件配置组件和java程序取得组件。

xxpr_ybgg的博客 722

Python实战日志_P4_图书馆Web API服务

目标:使用Flask将图书馆系统升级为RESTful API服务,掌握Web开发基础难度:⭐⭐⭐⭐☆预计学习时间:75分钟前置要求:已完成第3篇《个人图书馆管理系统》

qq_39436086的博客 83

Android:实现安卓小程序-记事本(备忘录)的开发

那我们该怎么做才能做到年薪60万+呢,对于程序员来说,只有不断学习,不断提升自己的实力。我之前有篇文章提到过,感兴趣的可以看看,到底要学习哪些知识才能达到年薪60万+。通过职友集数据可以查看,以北京 Android 相关岗位为例,其中 【20k-30k】 薪酬的 Android 工程师,占到了整体从业者的 30.8%!北京 Android 工程师「工资收入水平 」今天重点内容是怎么去学,怎么提高自己的技术。1.合理安排时间2.找对好的系统的学习资料3.有老师带,可以随时解决问题。

2401_84121789的博客 1649

RK3588开发笔记-mipi csi接口imx415摄像头调试记录

摘要:本文详细介绍了RK3588开发板适配SONY IMX415 MIPI CSI摄像头的调试过程。从硬件环境准备(包括RK3588核心板、IMX415模块连接及测试工具)、软件环境配置(Linux 5.10内核、驱动状态确认),到设备树关键配置(MIPI链路、GPIO引脚、电源域等)都进行了详细说明。调试过程中通过dmesg日志、media-ctl拓扑分析等工具验证了摄像头驱动加载和图像采集功能。最终实现了800万像素高清图像采集,总结了硬件连接验证、信号完整性优化等关键经验,为类似MIPI摄像头调试提供

flypig has a dream! 882

【AI】获取各类AI大模型api-key的快速教程(OpenAI、Gemini、Claude、DeepSeek)

【AI】获取各类AI大模型api-key的快速教程(OpenAI、Gemini、Claude、DeepSeek)

funfan的博客 3016

如何把小程序里面的图片扒下来_精心整理的4 个小程序,个个都是工作刚需

了解更多热门资讯、玩机技巧、数码评测、科普深扒,点击右上角关注我们----------------------------------大家好,我是老司机。像我这样的肥宅,曾在年初斩钉截铁地发誓一定要提升效率再也不加班,但大半年过去却不知道啪啪打脸了多少次。​每次都忘不了各种对工作时间的把控不力导致频道加班的奔溃,严重影响工作效率。经历过这些让人憋屈的瞬间,老思机才终于明白管理时间才是提升工作效率的...

weixin_32023091的博客 5346

区块链技术概述:从比特币到Web3.0

区块链技术正重塑数字世界的信任机制。本文系统梳理了区块链的发展路径:从比特币的PoW共识和UTXO模型,到以太坊的智能合约和账户体系,直至Web3.0的去中心化互联网愿景。文章详细解析了区块链的核心特性(去中心化、不可篡改等)和数据结构,通过流程图展示了比特币交易生命周期和智能合约执行流程,并对比了Web2.0与Web3.0的关键差异。最后,用Python代码实现了包含区块类、交易处理和挖矿机制的简易区块链系统,为理解区块链底层原理提供了实践参考。

闲人编程的博客 457

二次验证码上线微信小程序,谷歌验证随身行

不管你是在投资数字货币还是区块链,大多数人应该都习惯使用的谷歌Google,自然也都知道谷歌是干嘛用的;但是,也有很多人始终没有搞清楚,为什么登录账户还需要二次验证这个问题,对于身在币圈或者准备投身币圈的你而言,是绝对要弄明白的重要问题 就以数字货币圈子为例,币民们众所周知的一句话就是:“防火防盗防黑客,在币圈一定要开启谷歌验证!”因为只有开启Google两步验证,才能保证账号尽可能的...

ddvs85509019的博客 970

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

手机视频转音频工具怎么选?免费提取 MP3、无损导出教程(安卓 iOS 通用)

日常刷到短视频背景音乐、网课录屏、演讲视频,不少人希望剥离画面,只保存音频文件随身收听。2026 年手机端可供选择的工具类型很多,包含免安装微信小程序、剪辑 App、语音转写类软件,不同工具在音质、广告、操作门槛、系统适配层面差异明显。很多小众转换软件充斥强制广告、时长限制、导出音频自带水印,挑选时需要结合自身需求。下面整理多款实测可用的方案,附上完整操作步骤,兼顾无损导出、免费无广告需求,覆盖安卓、iOS 双平台。

asyncs的博客 60

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

刻意练习:如何快速掌握双拼?

一个字:练

PeterJXL的博客 3968

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

【学习笔记】Android测试工具介绍

1、GT 2、iTEST 科大讯飞 3、TBS--微信浏览器手机调试神器 腾讯下载地址 https://x5.tencent.com/tbs/guide/debug/download.html PC安装TBS studio--手机打开开发者模式和USB调试模式,并连接PC-打开TBS后启动检测; 小程序调试,官方文档https://x5.tencent.com/tbs/guide/debug/season7.html 手机和调试界面会同步 4、Emmagee E...

池上花谷的学习笔记 760

高德智慧景区随身听播放器框架设计与实现

简介:我们开发选型并没有采用传统的TTS技术(由文本内容生成机器语音),而是采用了更加通用音频格式(比如mp3),作为讲解的音频输入源,方便讲解者进行二次创作。本文将简单回顾高德智慧景区随身听播放器的框架设计与实现。一、背景“远看山有色,近听水‘有’声”,景区语音导览是智慧景区重点业务之一,以用地图可以边走边听景区各景点的语音介绍为主要诉求,实现高德智慧景区地图不仅可以看,还可以听,从而使用户交互体验得到跨越式提高。我们想要让“技术有温度”,让讲解更加有感情和内涵,最好可以通过讲解构造一个“UGC景区讲解生

阿里云开发者 2198

小程序与App:开发者何去何从

小程序上线后,部分业内人士表示小程序将彻底取代App产品,甚至有些用户卸载掉了部分App。但事实上,二者之间并非是谁要取代谁,尤其是那些对专业性及服务体验要求较高的独立App几乎不可能被取代。虽然小程序无需下载安装、即用即走,但仅凭这些无法彻底取代App。 确实App要下载安装,但小程序的推广明显比App更为困难。而且App有专业的分发平台负责推广,而小程序却只能借助有限的渠道被用户触及,而且小程序不能和App形成较强的连接关系。 虽然用户下载安装的某些App使用频率较低,但手机空间越来越大、性能越来越高的

tzddzdhz的博客 322

菜鸟Android开发笔记

<br />最近终于完成了一个自己写的android小程序,之前提交给android程序大赛结果给毙了,那自己写了自己用好了呵呵。是一个随身记账的小程序,明年正式开始使用,结束自己的月光生活哇咔咔。<br />我也是自己边看书边写的,编程基础不算好,难免有不规范的地方,凑合看好了:-D<br />这个程序大致涉及以下这些android开发技术:界面布局,使用组件,菜单,对话框,消息提示条Toast,照相机,手机震动,数据库应用等。我记录下来开发过程中怎样利用这些技术以及遇到的一些问题,现在就和大家分享一下<

reggiekiller的专栏 1266

开发APP好还是开发小程序好呢?

目前的小程序市场十分火爆,而微信作为小程序平台,天然就有着流量优势。很多人就会纠结是开发APP好还是小程序好呢? 关于这个问题,首先一定要学会透过现象看本质。什么意思呢?做什么好,关键在于不同形式平台分别有什么个性,什么形式的平台更适合你的业务发展,这个才是选择的基础。快速应用开发网通过以下几点对比,来详细分析一下小程序和App之间的区别,各有哪些优劣势。 首先来看看二者之间的区别: 一、面向客户群体 微信小程序:面向所有微信用户,月活跃用户约超过8亿人,日使用账号约5.7亿; APP软件:.

RapidAppDev的博客 1401

颠覆传统,仅银行卡大小充电宝,10000mAh可登机,手机党出门随身必备!

说到充电宝,不知道有没有人跟小木有同样的烦恼。 5000毫安容量小,不够用。10000毫安容量够用,但又大又笨重,拿在手里充电超累的,还占地方!尤其是旅行出差的时候,这种...

数据与算法之美 420

小程序新一轮功能更新汇总,颠覆生活计日程功

腾讯的董事会主席兼首席执行官马化腾在最近发声说要建立微信生态,“以后没有APP,只有不断浮动的代码,我看到一个杯子、任何一个开关、任何一个屏幕都可以是这样子。”依照马化腾的野心,相信这一天不会太晚。 而就在前不久,微信官方宣布小程序升级直播功能,开放Wi-Fi、NFC等硬件连接功能。 1、小程序的直播功能。 为更高效地连接用户与商家,小程序提供了实时音频视频录制及

weixiaocheng123的博客 1148

物联网应用之远程控制

物联网应用之远程控制 一、前言   物联网是指通过信息传感设备,按约定的协议,将任何物体与网络相连接,物体通过信息传播媒介进行信息交换和通信,以实现智能化识别、定位、跟踪、监管等功能。   本人是物联网工程毕业,经过社会的一番毒打,我就一直想写一篇像样点的博客,用来验证自己能力。准备良久,终于有了比较清晰的思路。今天这篇博客主要是开门见山,介绍下面大概讲些什么内容。   接下来,我主要围绕渔业IOT这个项目来让大家了解如何实现远程控制。主要分为四个部分,移动端、终端、服务端、底层硬件。之后也会通过四篇文章来

weixin_41850744的博客 9880
上一篇: Android 小程序:自制简易计算器
Allen_0911
博客等级 码龄10年 1粉丝 2原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值