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天前
|
移动开发 Java Android开发
探索iOS与安卓应用开发的核心差异
【6月更文挑战第22天】在移动开发的广阔天地中,iOS和安卓这两大平台以其独特的特性和用户基础塑造了不同的开发生态。本文将深入探讨这两个平台在开发环境、编程语言、用户界面设计、性能优化以及发布流程方面的关键差异,为开发者提供实用的比较视角,并指出各自平台的特有优势和面临的挑战。了解这些差异有助于开发者更精准地定位自己的应用开发策略,实现跨平台的成功。
|
8天前
|
编解码 Android开发 iOS开发
探索iOS与安卓应用开发的差异性与交互设计哲学
在移动应用开发的广阔天地中,iOS和安卓这两大操作系统不仅塑造了市场的双雄争霸格局,更在开发者社区内激发了关于“最佳实践”的热烈讨论。本文将深入探讨这两个平台在技术架构、用户界面设计以及市场策略上的根本差异,揭示它们如何影响应用的性能、用户体验和商业成功。通过比较分析,我们将展现每个平台的独特优势,并为开发者提供战略性建议,以便在不同生态系统中实现最大化的产品潜力和用户满意度。
|
22天前
|
安全 Java Android开发
探索iOS与Android应用开发的异同
【6月更文挑战第6天】随着智能手机的普及,移动应用开发已成为技术行业的热点。本文将深入探讨iOS和Android两大主流平台在应用开发过程中的不同之处,包括开发环境、编程语言、用户界面设计、市场策略以及安全性等方面的差异,旨在为开发者提供全面的指导和参考。
26 6
|
28天前
|
安全 Java Android开发
使用Kotlin进行Android应用开发:高效、简洁与乐趣并存
【6月更文挑战第1天】Kotlin,JetBrains开发的静态类型语言,正日益成为Android开发首选。它与Java兼容,提供简洁、安全的语法,如空安全、扩展函数和Lambda表达式,提升开发效率和代码可读性。Kotlin在Android开发中的优势包括提高开发速度、降低学习曲线及强大的社区支持。实践中,数据类简化对象创建,扩展函数增强SDK,Lambda表达式简化回调处理,协程优化异步操作。掌握Kotlin对Android开发者极具价值。
|
7天前
|
前端开发 JavaScript 测试技术
安卓应用开发中的架构模式解析
【6月更文挑战第21天】在软件开发领域,架构模式是设计优雅、高效、可维护应用程序的基石。本文深入探讨了安卓应用开发中常见的架构模式,包括MVC、MVP、MVVM和Clean Architecture,旨在为开发者提供一个清晰的指导,帮助他们选择最适合自己项目的架构风格。通过对比分析这些架构模式的特点、优势以及适用场景,文章揭示了如何根据项目需求和团队能力来采用恰当的架构模式,以实现代码的可维护性、可扩展性和可测试性。
25 7
|
9天前
|
设计模式 安全 前端开发
探索Android应用开发的最佳实践
【6月更文挑战第19天】在这篇文章中,我们将深入探讨Android应用开发的最佳实践。从设计模式的选择到性能优化的技巧,我们将一一解析如何构建高效、可维护且用户友好的Android应用。无论你是新手还是经验丰富的开发者,这篇文章都将为你提供有价值的见解和实用的建议。让我们一起探索Android应用开发的奥秘吧!
14 4
|
11天前
|
人工智能 安全 Android开发
探索安卓应用开发的未来趋势
【6月更文挑战第17天】随着技术的不断进步和用户需求的日益多样化,安卓应用开发领域正迎来前所未有的变革。本文将深入探讨影响安卓开发未来的几大关键因素,包括新技术的融合、用户体验的优化、安全性的提升以及跨平台开发的流行趋势,旨在为开发者提供行业洞察并激发创新灵感。
|
10天前
|
安全 Android开发 数据安全/隐私保护
探索安卓应用开发的未来趋势
【6月更文挑战第18天】随着科技的不断进步,安卓应用开发领域也在不断演变。本文将探讨安卓应用开发的最新趋势,包括新技术的引入、设计哲学的变化以及安全性的增强。我们将从技术革新的角度出发,深入分析这些变化如何影响开发者和用户,并预测未来可能的发展方向。通过这篇文章,读者将获得对安卓应用开发未来趋势的全面了解。
|
11天前
|
安全 开发工具 Android开发
探索Android应用开发的最佳实践
在这篇文章中,我们将深入探讨开发高效、稳定且用户友好的Android应用所需的关键实践。通过分析最新的开发工具和技术,本文旨在为开发者提供实用的建议和策略,以提升他们的应用性能和用户体验。
|
10天前
|
API 开发工具 Android开发
安卓应用开发的新趋势与挑战
随着移动技术的不断进步,安卓平台正迎来一系列创新的开发工具和框架。本文将深入探讨这些新工具如何简化开发流程、提高应用性能,并分析它们为开发者带来的挑战与机遇。我们将从多个角度审视安卓开发的当前状态,包括跨平台解决方案的流行度、Kotlin语言的崛起以及安卓系统新版本的特性。