102 【我们】安卓小应用开发

简介: 102 【我们】安卓小应用开发

1 新建一个项目

Glen采用的Android Studio开发工具,如果你用的是Eclipse+ADT的开发环境,那么也没有关系,功能是大同小异的。

(1)点击File -> New -> New Project


(2)在Application name那里将APP名字取名WoMen(注意,只支持英文取名。。)


(3)新建项目的目录结构如下:


2 脸:layout

编写Android项目,可以先在layout文件夹里的activity_main.xml 里将需要的组件规划好,先把外观(脸)搞定!

组件的规划牵涉到布局方式,这里我们采用相对布局(RelativeLayout),Android支持多种布局方式,其实Android Studio支持可视化编写APP组件,我就是直接拖动组件到面板上完成下面的组件规划的:

本APP用到的组件

1 EditText:文本编辑框,用于用户输入,这里我们需要两个用于输入两个数字

2 Button:按钮,用于触发事件,这里我们需要一个用于代表“=”号

3 TextView:文本标签,用于显示计算结果


把事先准备好的背景图“women.jpg”复制进res文件夹里的drawable文件夹里。


在activity_main.xml上方加入代码android:background="@drawable/women",即可使背景变化。



activity_main.xml完整代码如下:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity"
android:background="@drawable/women"> 
<!--background,设置界面背景图片-->
<EditText
    android:layout_width="100px"
    android:layout_height="wrap_content"
    android:id="@+id/editText"
    android:layout_marginStart="40dp"
    android:layout_above="@+id/button"
    android:layout_toEndOf="@+id/textView" />  
    <!--文本编辑框1,名字是editText-->
<EditText
    android:layout_width="100px"
    android:layout_height="wrap_content"
    android:id="@+id/editText1"
    android:layout_alignTop="@+id/editText"
    android:layout_alignParentEnd="true" />  
    <!--文本编辑框2,名字是editText2-->
<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="="
    android:id="@+id/button"
    android:layout_above="@+id/textView"
    android:layout_toStartOf="@+id/editText1"
    android:layout_marginBottom="97dp" /> 
    <!--按钮,名字是button-->
<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceLarge"
    android:text="答案"
    android:id="@+id/textView"
    android:layout_alignParentBottom="true" /> 
    <!--文本标签,名字是textView-->
</RelativeLayout>


3 活:Activity

前面我们已经将APP的外观(脸)设计好了,接下来是时候将我们想要的功能实现。实现layout中设计好的组件功能,主要在Activity中。

新建项目时,开发工具就自动写好了很多代码了。接下来,我们设计一下关键代码,把要干的话。


(1)声明组件

导入相关的包才能使用相关的组件,比如必须先导入widget包里的EditText才能使用EditText组件。


(2)关联组件

需要在MainActivity.java中关联activity_main.xml中设计的组件,才能使组件发挥作用。

在Android中用findViewById方法来实现组件的关联。

(3)设置按钮触发事件

当用户在两个文本编辑框(EditView)中输入了数字后,点击按钮(Button),即可得出计算结果,这一部分需要设计一个按钮触发事件。

MainActivity.jave完整代码如下:

package com.example.glen.women;
import android.app.Activity;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.EditText; //导入widget里的EditText才能使用EditText组件
import android.widget.TextView; //导入widget里的TextView才能使用TextView组件
import android.widget.Button;   //导入widget里的Button才能使用Button组件
import android.view.View;
import android.view.View.OnClickListener;
public class MainActivity extends Activity {
private EditText edit,edit1;//声明2个文本编辑框组件edit和edit1
private TextView txt;       //声明1个文本标签txt
private Button button;      //声明1个按钮button
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    edit=(EditText)findViewById(R.id.editText);//与文本编辑框1关联
    edit1=(EditText)findViewById(R.id.editText1);//与文本编辑框2关联
    txt=(TextView)findViewById(R.id.textView);//与文本标签关联
    button=(Button)findViewById(R.id.button);//与按钮关联
    button.setOnClickListener(new mClick());//设置按钮触发事件
}
class mClick implements OnClickListener//定义实现监听接口的内部类
{
    public void onClick(View v)
    {
        float num1,num2,total;//设置几个中间变量
        num1=Integer.parseInt(edit.getText().toString());//获取文本编辑框1里的数字
        num2=Integer.parseInt(edit1.getText().toString());//获取文本编辑框2里的数字
        total=num1+num2;//计算两个文本框中数字的值
        txt.setText("Duang!答案是"+total);//使用setText方法将答案显示在屏幕上
    }
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.menu_main, menu);
    return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Handle action bar item clicks here. The action bar will
    // automatically handle clicks on the Home/Up button, so long
    // as you specify a parent activity in AndroidManifest.xml.
    int id = item.getItemId();
    //noinspection SimplifiableIfStatement
    if (id == R.id.action_settings) {
        return true;
    }
    return super.onOptionsItemSelected(item);
    }
}

以上,整个小项目就算完成了,APP“我们”已经诞生!!该APP编译通过,运行良好。上述代码已经我已加入简单注释方便你理解,如有不明白的可后台私信我。

这里我再分享出项目整体文件,方便跟大家交流学习:

http://pan.baidu.com/s/1hqAeazU

目录
相关文章
|
6天前
|
Android开发 Swift iOS开发
深入探索iOS与Android操作系统的架构差异及其对应用开发的影响
在当今数字化时代,移动设备已经成为我们日常生活和工作不可或缺的一部分。其中,iOS和Android作为全球最流行的两大移动操作系统,各自拥有独特的系统架构和设计理念。本文将深入探讨iOS与Android的系统架构差异,并分析这些差异如何影响应用开发者的开发策略和用户体验设计。通过对两者的比较,我们可以更好地理解它们各自的优势和局限性,从而为开发者提供有价值的见解,帮助他们在这两个平台上开发出更高效、更符合用户需求的应用。
|
1月前
|
Android开发 Swift iOS开发
iOS和安卓作为主流操作系统,开发者需了解两者差异以提高效率并确保优质用户体验。
【10月更文挑战第1天】随着移动互联网的发展,智能手机成为生活必需品,iOS和安卓作为主流操作系统,各有庞大的用户群。开发者需了解两者差异以提高效率并确保优质用户体验。iOS使用Swift或Objective-C开发,强调简洁直观的设计;安卓则采用Java或Kotlin,注重层次与动画。Swift和Kotlin均有现代编程特性。此外,iOS设备更易优化,而安卓需考虑更多兼容性问题。iOS应用仅能通过App Store发布,审核严格;安卓除Google Play外还可通过第三方市场发布,审核较宽松。开发者应根据需求选择合适平台,提供最佳应用体验。
58 3
|
1月前
|
Android开发 开发者
安卓应用开发中的自定义视图
【9月更文挑战第37天】在安卓开发的海洋中,自定义视图犹如一座座小岛,等待着勇敢的探索者去发现其独特之处。本文将带领你踏上这段旅程,从浅滩走向深海,逐步揭开自定义视图的神秘面纱。
38 3
|
1月前
|
存储 Android开发 开发者
深入理解安卓应用开发的核心组件
【10月更文挑战第8天】探索Android应用开发的精髓,本文带你了解安卓核心组件的奥秘,包括Activity、Service、BroadcastReceiver和ContentProvider。我们将通过代码示例,揭示这些组件如何协同工作,构建出功能强大且响应迅速的应用程序。无论你是初学者还是资深开发者,这篇文章都将为你提供新的视角和深度知识。
|
1月前
|
数据可视化 Android开发 开发者
安卓应用开发中的自定义View组件
【10月更文挑战第5天】在安卓应用开发中,自定义View组件是提升用户交互体验的利器。本篇将深入探讨如何从零开始创建自定义View,包括设计理念、实现步骤以及性能优化技巧,帮助开发者打造流畅且富有创意的用户界面。
80 0
|
15天前
|
搜索推荐 前端开发 Android开发
安卓应用开发中的自定义视图实现
【10月更文挑战第30天】在安卓开发的海洋中,自定义视图是那抹不可或缺的亮色,它为应用界面的个性化和交互体验的提升提供了无限可能。本文将深入探讨如何在安卓平台创建自定义视图,并展示如何通过代码实现这一过程。我们将从基础出发,逐步引导你理解自定义视图的核心概念,然后通过一个实际的代码示例,详细讲解如何将理论应用于实践,最终实现一个美观且具有良好用户体验的自定义控件。无论你是想提高自己的开发技能,还是仅仅出于对安卓开发的兴趣,这篇文章都将为你提供价值。
|
15天前
|
Android开发 Swift iOS开发
探索iOS与安卓应用开发的差异性
探索iOS与安卓应用开发的差异性
35 2
|
21天前
|
传感器 XML IDE
探索安卓应用开发:从基础到进阶
【10月更文挑战第23天】在数字化时代的浪潮中,移动应用已成为人们日常生活的延伸。本文以安卓平台为例,深入浅出地介绍了如何从零开始构建一个安卓应用,涵盖了开发环境搭建、基本组件使用、界面设计原则以及进阶技巧等关键步骤。通过实例演示和代码片段,引导读者逐步掌握安卓应用开发的核心技能,旨在激发更多开发者对安卓平台的探索热情,并为初学者提供一条清晰的学习路径。
|
10天前
|
前端开发 Android开发 UED
安卓应用开发中的自定义控件实践
【10月更文挑战第35天】在移动应用开发中,自定义控件是提升用户体验、增强界面表现力的重要手段。本文将通过一个安卓自定义控件的创建过程,展示如何从零开始构建一个具有交互功能的自定义视图。我们将探索关键概念和步骤,包括继承View类、处理测量与布局、绘制以及事件处理。最终,我们将实现一个简单的圆形进度条,并分析其性能优化。
|
1月前
|
Java Android开发 Swift
掌握安卓与iOS应用开发:技术比较与选择指南
在移动应用开发领域,谷歌的安卓和苹果的iOS系统无疑是两大巨头。它们不仅塑造了智能手机市场,还影响了开发者的日常决策。本文深入探讨了安卓与iOS平台的技术差异、开发环境及工具、以及市场表现和用户基础。通过对比分析,旨在为开发者提供实用的指导,帮助他们根据项目需求、预算限制和性能要求,做出最合适的平台选择。无论是追求高度定制的用户体验,还是期望快速进入市场,本文都将为您的开发旅程提供有价值的见解。