Android开发日志打卡APP(一)

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: Android开发日志打卡APP(一)

Android开发日志打卡APP(一)

文章目录

Android开发日志打卡APP(一)

简介

界面展示

内容总结

1.控件

2.布局

3.技术

开发过程

准备工作

启动页面

底部导航栏

简介

初学Kotlin和安卓开发,期末大作业是要开发一款APP。因为是一个人一组,所以选择了较为简单的日志打卡,因为知识的局限性,做的App在功能上较为简单,并且代码和项目结构有些凌乱。从开始做到结束做了近半个月,中途遇到过大大小小的困难,最后因为快到验收时间,没有完全做完。


界面展示

App设置了3大界面:首页、统计界面、设置界面

内容总结

1.控件

用到十多个控件,主要的常用控件有:TextView、Button、EditText、ImageView、Dialog、ImageButton、Calendar、


ProgressBar、ListView、RecyclerView,并使用了自定义控件的方式,来构建App的界面。


2.布局

用到3个常用布局方式:LinearLayout、RelativeLayout、FrameLayout


3.技术

主要的技术概括:SQLite、Fragment、Material Design等


开发过程

准备工作

新建一个项目,选择"Button Navigation Activity",Android Studio将会帮你打造好一个"底部导航栏"的框架。

创建后的项目结构如下:

可以看出,此时已经搭建起来了一个底部导航栏。细看代码,在 ui 文件夹下有三个子文件夹,分别是三个UI片段,并用三个Fragment来嵌入到 MainActivity.kt 中。在此基础上,我们开始APP的制作。

启动页面

一个美观的APP都有一个好看的启动页面,所以我也在APP中制作了一个启动页面。

(注:我新建了一个Home.kt文件,来代替了系统原先的MainActivity.kt,将原先的MAinActivity.kt制作成了APP的启动页)

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"
    tools:context=".MainActivity">
    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentStart="true"
        android:layout_alignParentTop="true"
        android:layout_alignParentEnd="true"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:layout_marginStart="-1dp"
        android:layout_marginTop="-260dp"
        android:layout_marginEnd="-1dp"
        android:layout_marginBottom="23dp"
        android:src="@drawable/back_pt" />
    <ImageView
        android:id="@+id/main_logo"
        android:layout_width="90dp"
        android:layout_height="90dp"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="520dp"
        android:scaleType="fitXY"
        android:src="@drawable/icon" />
    <TextView
        android:id="@+id/main_text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/main_logo"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="6dp"
        android:text="Small Daily"
        android:textColor="#DD3922"
        android:textSize="20dp" />
</RelativeLayout>

效果如下:

底部导航栏

底部导航栏是在原有框架的基础上进行修改生成的。因此,只要在此基础上修改导航栏对应的图标和名称便可以完成设立。

导航栏的布局文件在 menu 目录中的 bottom_nav_menu.xml中,修改对应的代码:

此外,在 activity_home文件中,将底部导航栏的背景色换成想要的颜色(这里换成了粉色):

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
5天前
|
Java 开发工具 Android开发
探索Android与iOS开发的差异:平台选择对项目成功的影响
在移动应用开发的广阔天地中,Android和iOS两大平台各自占据着半壁江山。本文将深入探讨这两个平台在开发过程中的关键差异点,包括编程语言、开发工具、用户界面设计、性能优化以及市场覆盖等方面。通过对这些关键因素的比较分析,旨在为开发者提供一个清晰的指南,帮助他们根据项目需求和目标受众做出明智的平台选择。
|
7天前
|
编解码 Java Android开发
FFmpeg开发笔记(三十一)使用RTMP Streamer开启APP直播推流
RTMP Streamer是一款开源的安卓直播推流框架,支持RTMP、RTSP和SRT协议,适用于各种直播场景。它支持H264、H265、AV1视频编码和AAC、G711、OPUS音频编码。本文档介绍了如何使用Java版的RTMP Streamer,建议使用小海豚版本的Android Studio (Dolphin)。加载项目时,可添加国内仓库加速依赖下载。RTMP Streamer包含五个模块:app、encoder、rtmp、rtplibrary和rtsp。完成加载后,可以在手机上安装并运行APP,提供多种直播方式。开发者可以从《FFmpeg开发实战:从零基础到短视频上线》获取更多信息。
34 7
FFmpeg开发笔记(三十一)使用RTMP Streamer开启APP直播推流
|
4天前
|
数据可视化 数据处理 Swift
Swift开发——简单App设计
SwiftUI教程概述:简化App设计,通过代码展示了如何创建一个计算两个数之和的界面。工程`MyCh0902`包含`ContentView.swift`,其中定义了`ContentView`和`MyView`结构体。`MyView`负责界面布局,使用`VStack`和`HStack`组织元素,如`TextField`和`Button`。点击`Button`调用`calc`方法处理输入并更新结果。界面设计可在Xcode的Inspector窗口中可视化配置。推荐将界面逻辑移到单独的`MyView.swift`文件中以清晰分离视图设计。
18 1
Swift开发——简单App设计
|
5天前
|
编解码 Android开发 iOS开发
深入探索Android与iOS开发的差异与挑战
【6月更文挑战第24天】在移动应用开发的广阔舞台上,Android和iOS两大操作系统扮演着主角。它们各自拥有独特的开发环境、工具集、用户基础及市场策略。本文将深度剖析这两个平台的开发差异,并探讨开发者面临的挑战,旨在为即将踏入或已在移动开发领域奋斗的开发者提供一份实用指南。
27 13
|
4天前
|
监控 Android开发 iOS开发
探索Android与iOS开发的差异:平台、工具和用户体验的比较
【6月更文挑战第25天】在移动应用开发的广阔天地中,Android和iOS两大平台各领风骚,它们在开发环境、工具选择及用户体验设计上展现出独特的风貌。本文将深入探讨这两个操作系统在技术实现、市场定位和用户交互方面的关键差异,旨在为开发者提供一个全景式的视图,帮助他们在面对项目决策时能够更加明智地选择适合自己项目需求的平台。
|
7天前
|
XML Java 开发工具
Android Studio开发Android TV
【6月更文挑战第19天】
|
4天前
|
缓存 测试技术 Shell
详细解读Android开发命令行完全攻略
详细解读Android开发命令行完全攻略
|
2天前
|
安全 Android开发 iOS开发
探索安卓与iOS开发的差异:平台特性与用户体验的深度对比
在移动应用开发的广阔天地中,安卓和iOS两大平台各占半壁江山。本文旨在通过数据驱动的分析方法,深入探讨这两大操作系统在开发环境、用户界面设计及市场表现等方面的差异。引用最新的行业报告和科研数据,结合技术专家的观点,本文将提供对开发者和市场分析师均有价值的洞见。
|
3天前
|
编解码 开发工具 Android开发
技术心得:打造自己的智能投屏体验——Android投屏开发入门
技术心得:打造自己的智能投屏体验——Android投屏开发入门
|
4天前
|
缓存 测试技术 Shell
详细解读Android开发命令行完全攻略
详细解读Android开发命令行完全攻略