
“山东大学移动互联网开发技术教学网站建设”项目实训日志二
发布日期:2021-05-06 15:22:22
浏览次数:14
分类:技术文章
本文共 3488 字,大约阅读时间需要 11 分钟。
时间:
21春季学期第四、五周
个人工作内容:
完成Hello World案例app
详细记录:
- Hello World案例app设计说明
- 目标用户:有一定java基础的初次接触android开发的学生。
- 需求说明:简述项目开发流程,工程相关解析,介绍android开发基础内容。
- 设计说明:android中常用的LinearLayout(线性布局)和RelativeLayout(相对布局),android中常用的UI控件,其中穿插Toast(提示信息的一个控件)、基于监听的事件处理机制等内容。后续内容在其它专题案例app中借实例讲解。
app页面展示:
- 多个按钮可以用switch来设置监听事件
private void setListeners(){ OnClick toclick = new OnClick(); mButtonLlay.setOnClickListener(toclick);
private class OnClick implements View.OnClickListener{ @Override public void onClick(View v) { Intent intent = null; switch (v.getId()){ case R.id.btn_llay: intent = new Intent(MainActivity.this, LinearLayoutActivity.class); break;
- 线性布局:
需要设置orientation(线性方向,水平or垂直); 线性布局可以嵌套,从而设计出美观的布局; weight设置View比重; 在线性布局中layout_gravity可以让组件设置靠左右/上下(垂直布局/水平布局)。
- 相对布局
相对布局即相对概念,在一个View的基础上,可以将其它View放在其周围或者其内部的上下左右等地方。
- TextView
TextView可以说时最最最基础的组件,需要掌握其常用属性。
//设置背景,drawable中shape可以设置边框,填充,圆角等,文本的下划线需要在activity中设置//长文本的单行显示效果,android:maxLines="1"是设置为单行,android:ellipsize="end"文本超出时显示省略号 //icon+文字 //阴影效果 //链接,可以从网页直接返回 //跑马灯效果,常用于提示
- Button
Button的背景设置为drawable中的xml,用法同前面TextView的背景; Button可以设置监听事件,如点击提交,登录等。
- EditText
EditText是用户编辑区,除了像TextView控制字体等属性外,还可以控制用户输入格式,控制输入框大小,监听输入信息等,是与用户交互的重要组件。
- RadioButton
单选按钮需要在一个RadioGroup中才能实现单选效果; 可以改变样式或设置监听事件; 常用于表单设计中。
- CheckBox
复选框可以多选,常用于表单设计中。
在activity中监听到“全选”选中后改变同组CheckBox选中状态实现全选效果
@Override public void onCheckedChanged(CompoundButton compoundButton, boolean b) { if(b){ if(compoundButton.getId() == R.id.cb7){ cbx4.setChecked(true); cbx5.setChecked(true); cbx6.setChecked(true); } else Toast.makeText(this,compoundButton.getText().toString(),Toast.LENGTH_SHORT).show(); } else { if(compoundButton.getId() == R.id.cb7){ cbx4.setChecked(false); cbx5.setChecked(false); cbx6.setChecked(false); } } }
- ImageView
ImageView是插入图片的组件,可以设置图片大小和布局,常用属性如下:
- ScrollView
ScrollView可以是垂直滚动条或水平滚动条; 重写onClick方法实现滚动条滚动效果; 常用于信息浏览时返回顶部刷新。
xml:
@Override public void onClick(View v) { switch (v.getId()) { case R.id.btn_down: scrollView.fullScroll(ScrollView.FOCUS_DOWN); break; case R.id.btn_up: scrollView.fullScroll(ScrollView.FOCUS_UP); break; } }
后期工作规划:
- 下周完成指南针案例App的开发和教学设计
发表评论
最新留言
初次前来,多多关照!
[***.217.46.12]2025年03月29日 03时29分47秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
网易云首倡中台方法论,发布全链路中台技术方案
2019-03-03
传输层协议
2019-03-03
如何加载dll文件计算UDS服务的秘钥
2019-03-03
细数哪些网络用户需要换IP?
2019-03-03
codeforces1307D 1900分最短路
2019-03-03
2020牛客暑期多校训练营(第七场) 待补题
2019-03-03
2020牛客暑期多校训练营(第九场)
2019-03-03
8皇后问题 递归 函数调用是重点
2019-03-03
1541 +1 *2 ²
2019-03-03
老鼠走迷宫
2019-03-03
ural 1627 生成树计数模板题 基尔霍夫矩阵树定理 + 行列式计算模板
2019-03-03
面试别慌!阿里专家带你从【入门+基础+进阶+项目】攻破SpringBoot
2019-03-03
【Java面试】30个 Java 集合面试必备的问题和答案
2019-03-03
干了八年的阿里面试官,给大家分享我面试时最爱问的Java面试题
2019-03-03
华为鸿蒙到底是不是安卓系统套了个壳?
2019-03-03
redis知识点学习
2019-03-03
分布式理论基础知识点入门
2019-03-03
SpringCloud之消息总线(Spring Cloud Bus)刷新配置
2019-03-03
多线程之创建线程的两种方式
2019-03-03