Android的安装配置以及第一个android程序
1,安装android-sdk(开发环境)(API+AVD)
下载android-sdk,解压到指定的硬盘目录中。
Eclipse中配置sdk:
eclipse-window-preferences-android-sdk location-apply-ok
2,eclipse+ADT(插件)
eclipse-help-install new software-add-input[name][ADT path]-OK
3,创建AVD[android虚拟设备]android virtual device
下载android-sdk,解压后,从命令行进入文件目录,到达sdk/tools运行android.bat,会弹出以下界面:
点击new新建虚拟设备:
创建完成之后,选中刚刚建立的虚拟设备,点击start,那么设备就启动了。
配置完成之后,以后打开AVD的话可以直接从eclipse中打开(左上方的小机器人图标)
4,DDMS视图
通过该视图可以设置模拟器的属性,可以查看android运行的日志,通过日志来debug。
5,第一个程序
Eclipse-file-new-android Project-input[Subject]
运行程序:工程名上点击右键-run as-android application
6,android应用程序的结构
7,Activity封装手机应用的“一屏”
class MyActivity extends Activity
在AndroidManifest.xml中配置(<application>标签下的<Activity>)
一个Activity需要封装GUI 响应事件
Activity和layout
注意:xml中引用资源的话书写方式@string/hello @string/app_name
8,开发
Width和height的选择
fill_parent最大
wrap_content适应文本为佳
EditText中的一个属性android:inputType="number",那么点击这个输入框的时候,自动弹出的软键盘默认是数字键盘,如果android:inputType=”textUri”,那么自动弹出的软键盘默认是英文字母
9,代码解析
Src下com.sun.count.Main.java
public class Main extends Activity { 此类必须继承Activity类 定义组件对象引用 private EditText sum; private EditText rate; private EditText month; private Button button; private TextView result; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); 设置这个Activity的layout initView(); 给button组件添加响应事件 button.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { String sumNum = sum.getText().toString(); 获取文本框的内容使用getText方法,但是这个方法返回的不是一个String对象,所以再调用一下toString方法。 String rateNum = rate.getText().toString(); String monthNum = month.getText().toString(); double resultNum = count(Double.parseDouble(sumNum),Double. parseDouble(rateNum),Double.parseDouble(monthNum)); 设置数值显示的格式 为组件赋值使用setText()方法 //result.setText(NumberFormat.getCurrencyInstance().format(resultNum));//结果显示$ result.setText(NumberFormat.getCurrencyInstance(Locale.CHINA).format(resultNum));//结果显示¥ } }); } /** * 计算还款 */ public double count(double subNum,double rateNum,double monthNum) { rateNum = rateNum/100/12; return subNum*(rateNum*Math.pow((1+rateNum), monthNum)/(Math.pow(1+rateNum, monthNum)-1)); } /** * 初始化 */ public void initView() { 通过各个组件的ID来初始化各个组件的对象 sum = (EditText)findViewById(R.id.sum); rate = (EditText)findViewById(R.id.rate); month = (EditText)findViewById(R.id.month); button =(Button)findViewById(R.id.button); result = (TextView)findViewById(R.id.result); } } |
Gen下com.sun.count.R.java为系统自动生成,我们无需改动他
Res下values.strings.xml配置键值对,供其他文件调用(通过@string的方式)
Res下layout.main.xml配置Activity显示效果
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 一个Layout android:orientation="vertical" android:layout_width="fill_parent" 这个layout的宽为充满整个屏幕 android:layout_height="fill_parent" 这个layout的高为充满整个屏幕 android:orientation="vertical" /android:orientation="horizontal" 设置layout垂直/水平 > <TextView 一个文本域 android:layout_width="fill_parent" 这个textview的宽为充满整个屏幕 android:layout_height="wrap_content" 这个textview的高为适应内容大小 android:text="@string/suggest" 这个textview文本的值(引用) android:textColor="#ffff00" 这个textview文本的颜色 android:textSize = "15px" 这个textview文本的大小 /> <EditText 一个输入框 android:id="@+id/sum" 这个editText的id(原不存在,+表示创建) android:layout_width="fill_parent" android:layout_height="wrap_content" android:inputType="number" 输入类型为number,这样点击输入框后,软键盘初始为数字格式 /> <Button 一个按钮 android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/begincount" /> </LinearLayout> |
10,day01源代码
FirstAndroidDemo
Count