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编译通过,运行良好。上述代码已经我已加入简单注释方便你理解,如有不明白的可后台私信我。
这里我再分享出项目整体文件,方便跟大家交流学习: