Android开发一个简单的交互式App
1、功能分析
- Layout定义App外观
- 下拉列表列出编程语言的特点
- 点击按钮,开始处理
- 文本框显示推荐的编程语言
- 字符存储在strings.xml
- activity定义App与用户的交互方式
- 根据用户在下拉列表的选择,在文本框中返回编程语言
- 定制的Java程序中包含业务逻辑
- 存储并输出语言与特点的对应关系
2、开发视图布局
activity_main.xml
<?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout 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"><LinearLayoutandroid:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"tools:layout_editor_absoluteX="186dp"tools:layout_editor_absoluteY="366dp"><Spinnerandroid:id="@+id/feature"android:layout_width="match_parent"android:layout_height="wrap_content"android:entries="@array/feature"android:minHeight="32dp" /><Buttonandroid:id="@+id/find_language"android:layout_width="match_parent"android:layout_height="wrap_content"android:onClick="onClickButton"android:text="@string/find_language" /><TextViewandroid:id="@+id/language"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="@string/language" /></LinearLayout> </androidx.constraintlayout.widget.ConstraintLayout>
strings.xml
<resources><string name="app_name">ProgramAdviser</string><string name="find_language">Find Language</string><string name="language">Select and Click</string><string-array name="feature"><item>fast</item><item>easy</item><item>new</item><item>OO</item></string-array> </resources>
预览
3、按钮事件响应
MainActivity类
public class MainActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}public void onClickButton(View button){//获得Spinner引用Spinner spinner = findViewById(R.id.feature);//获得Spinner选项String feature = spinner.getSelectedItem().toString();//获得TextView引用TextView textView = findViewById(R.id.language);//设置TextView文字textView.setText(feature);} }
4、开发模型层
ProgramExpert类,和MainActivity同级
public class ProgramExpert {public String getLangunage(String feature){String result;switch (feature){case "fast":result = "C/C++";break;case "easy":result = "Python";break;case "new":result = "Kotlin";break;case "OO" :result = "Java";break;default:result = "You got me";}return result;} }
修改MainActivity类
package szst.it.ping.programadviser;import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle; import android.view.View; import android.widget.Spinner; import android.widget.TextView;public class MainActivity extends AppCompatActivity {//private封装实例变量,final保证expert被初始化//final的实例变量赋值后无法改变,声明后必须立即初始化private final ProgramExpert expert = new ProgramExpert();@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}public void onClickButton(View button){//获得Spinner引用Spinner spinner = findViewById(R.id.feature);//获得Spinner选项String feature = spinner.getSelectedItem().toString();//查询模型层String langunage = expert.getLangunage(feature);//获得TextView引用TextView textView = findViewById(R.id.language);//设置TextView文字//textView.setText(feature);textView.setText(langunage);} }
5、测试结果
Android开发一个简单的交互式App相关推荐
- 一个html写的app首页,如何快速开发一个简单好看的APP控制页面
原标题:如何快速开发一个简单好看的APP控制页面 导读 机智云开源框架为了让开发者快速开发APP,已将用户登录,设备发现,设备配网等功能做成了各个标准模块,仅保留控制页面让开发者自行开发设计,节省了开 ...
- 『牛角书』HarmonyOS鸿蒙实战 开发一个简单聊天助手APP
前言 我是通过b站上面老师的讲解,跟着老师编写了一个简单聊天助手app,简答实用,对于刚开始接触鸿蒙的我们来说很有帮助. 创建项目 所用软件为DevEco Studio,点击Create Harmon ...
- Android Compose——一个简单的Bilibili APP
Bilibili移动端APP 简介 依赖 效果 登录 效果 WebView 自定义TobRow的Indicator大小 首页 推荐 LazyGridView使用Paging3 热门 排行榜 搜索 模糊 ...
- 用android开发一个识别人形的app,一键切换背景
前言:我是小松,今年大四,在android开发中持续耕耘,快来一起学习把 不知道大家有没有这种烦恼,手上有白底的证件照,但是学校偏偏要交红底的,万般无奈只能去照相馆再照,虽说可以进行PS,但是总归麻烦 ...
- Android开发之简单快速对APP进行GIF动图生成
前提: 1.在对APP进行GIF动图生成之前,需要配置ADB(Android Debug Bridge),具体百度,在这里就不做赘述了. 2.准备一个播放器,迅雷.暴风.QQ之类的.将adb命令录制的 ...
- Android Compose——一个简单的新闻APP
Owl 简述 效果视频 导航 导航结点 路线图 底部导航栏 使用 标签页 状态切换 FeaturePage 构建 CoursePage 实现 搜索 ViewModel View 详情页 Detail ...
- android studio的GearVR应用开发(二)、一个简单的VR app(Oculus官方GearVR开发教程,翻译转载)
声明:本文是Oculus官方的GearVR开发教程,为本人翻译转载,供广大VR开发爱好者一同学习进步使用. 原文章 一个简单的VR app 概观 在搭建好GearVR框架后,让我们一起来创建第一个VR ...
- 一个基于Android开发的简单的音乐播放器
一个基于Android开发的简单的音乐播放器 记得当时老师让我们写因为播放器时,脑子一头雾水,网上杂七杂八的资料也很少有用,因此索性就自己写一篇,希望对有缘人有用. 因为有好多人问我要源码,所以附上g ...
- 做简单的android 软件推荐,Android_适用于Android开发的简单聊天软件,适用于android 开发。是一个简 - phpStudy...
适用于Android开发的简单聊天软件 适用于android 开发.是一个简单的聊天软件,包括知识点,各个控件的运用(ExpandableListView,ViewPager,Spinner,Line ...
- 用Android Studio设计的一个简单的闹钟APP
该闹钟是用Android Studio为安卓手机设计的一个简单的闹钟APP 一.介绍系统的设计界面 闹钟的布局文件代码如下 <?xml version="1.0" encod ...
最新文章
- ChartDirector资料小结
- python课程设计汽车销售管理系统_Python课程设计:汽车销售管理系统
- 【毕业前夕,畅谈科研】一个清华土著的科研感想
- jQuery实现一个优雅的返回顶部
- Where与Having的区别
- 我混了大半辈子,忽然成了拆二代
- SVN(TortoiseSVN)提交时忽略bin跟obj目录
- 批处理 备份网络数据
- #55 #56 #58 #59 #60 #66
- opencv 训练人脸对比_Page21-树莓派4B人脸检测与识别(opencv)
- 刷机工具-fastboot
- 绘制自己的人际关系图_绘制自己的人际关系网
- html编写在线打字通,HTML5代码打字练习、HTML5案例 - 02
- 什么是大数据技术架构
- 为什么管理创新总是发生在汽车行业?
- 作为数据分析师,这6款数据分析热门工具,你不能错过~
- 努比亚android最高版本,努比亚Z11安卓7.1固件开发版下载地址:新增压力按键等功能...
- FPGA电源设计方案
- 哈夫曼树(Huffman Tree)及哈夫曼编码(Huffman Coding)
- python操作Excel之openxlpy
热门文章
- 主数据同步与分发实现
- BP(back propagation)误差逆传播神经网络
- 高斯消元法求矩阵的逆
- IMAGE_IMPORT_DESCRIPTOR
- 把数字翻译成英文声明.C语言,如何把数字翻译成英文
- 2022年全球市场HTCC陶瓷封装总体规模、主要生产商、主要地区、产品和应用细分研究报告
- Kali Linux 基于Easy File Sharing Web Server 6.9 编写漏洞渗透模块 (上)
- Hibernate - HQL对象检索详解
- 计算机课程总结800字,计算机课程心得体会范文800字(通用5篇)
- 【整理】一个真实的图灵:如迷的解谜者,并非万事成谜