个人技术博客

个人技术总结


技术概述

1. 使用情境

  • 需要编写安卓客户端程序的软件开发人员

2. 学习原因

  • 在团队作业中负责安卓前端界面的开发

3. 技术难点

  • 插件化时使插件的Manifest生效
  • App端的优化(如人机交互、网络、内存、电量等)

技术详述

  • 主要是Android前端界面的设计与实现逻辑的编写

技术使用与实现

  • 代码(以其中一个页面为例)
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width = "match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/launch_bg">
    <TextView
        android:id="@+id/tv_version"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textColor="@android:color/black"
        android:textSize="14sp"
        android:layout_centerInParent="true"/>
</RelativeLayout>

应用初始化界面

private void init() {
        TextView tv_version = findViewById(R.id.tv_version);
        //利用timer让此界面延迟3秒后跳转,timer有一个线程,该线程不断执行task
        Timer timer = new Timer();
        TimerTask timerTask = new TimerTask() {
            @Override
            public void run() {
                //发送intent实现页面跳转,第一个参数为当前页面的context,第二个参数为要跳转的主页
                //注意这里的MainActivity.class
                Intent intent = new Intent(SplashActivity.this,LoginActivity.class);
                startActivity(intent);
                //跳转后关闭当前欢迎页面
                SplashActivity.this.finish();
            }
        };
        //调度执行timerTask,第二个参数传入延迟时间(毫秒)
        timer.schedule(timerTask,3000);
    }  

应用初始化界面实现逻辑

  • 流程图

流程图

技术使用中遇到的问题和解决过程

  1. 问题:缺乏设计经验,编写出的界面在视觉感受上不尽如人意
    解决方法:可以根据所设计App的使用情景更改各个模块的颜色(例:所在团队设计了一个团队任务管理工具,那么在颜色上可以尽量使用暖色调,在处理控件细节时可以用自定义的圆角替代原有的直角框等);
  2. 问题:在线性布局中需要使用关联布局实现例如输入框中镶嵌验证码框的功能
    解决方法:直接在需要的位置声明一个新的关联布局即可

总结

第一次编写安卓程序就是一个这样一个较高复杂度的多人开发系统,确感压力倍增,最后的结果算是在当前能力水平下交出了一份不尽如人意的答卷,继续学习,努力进步吧

参考资料

  1. Android开发者指南
  2. 安卓App开发短信验证码功能实现
  3. OKHTTP3基本使用
posted @ 2021-06-28 22:07  李子李子李  阅读(62)  评论(0编辑  收藏  举报