使用eclipse,进行安卓开发,在建立项目的时候,有些步骤必须注意的,
本文就是对使用eclipse进行android开发的简单说明:
一、模拟器配置设定
使用eclipse开发安卓,需要用到android sdk的avd模拟器,在eclipse中能打开这个模拟器,但是由于与eclipse绑定的,
打开以后,难免会影响到eclipse的使用,其实,模拟器是可以单独打开的,并且eclipse调试运行的时候,也能连接到模拟器。
博主推荐的做法是使用命令指令打开avd,
首先,需要配置环境变量,
(1)windows系统
;...\android-sdk\tools
注意,加入的内容是emulator所在的目录(“...”表示android-sdk前的目录路径,不要直接写...),另外,Path环境变量中必须使用";"隔开各个路径
(2)ubuntu系统
gedit ~/.bashrc=>在文本下方的Path路径中,同样加入 :...\android-sdk\tools
注意,加入的内容是emulator所在的目录(“...”表示android-sdk前的目录路径,不要直接写...),另外,Path环境变量中必须使用":"隔开各个路径,ubuntu的分隔符是":"
配置环境变量后,打开cmd(ubuntu则是终端),输入emulator -avd a19,注意a19是博主的模拟机名称,即为android 19,稍等一会,模拟机就会运行了。(前提是必须已经创建模拟机)。
运行了模拟机的意思就是,你的手机已经连接上了电脑,当在eclipse中点击“run”的时候,eclipse会驱动模拟机运行编写的程序。
使用命令打开模拟器,如果关闭cmd(终端),模拟器马上终止运行。
二、创建android项目
在eclipse的菜单中,File=>New=>Other...,弹出窗口中选中Android=>Android Application Project
Application Name:项目名,开头字母必须大写
Package Name:前两段相当于空间名,第三段默认就可以了
Minimum Required SDK:最低版本要求,必须大于4.0,因为4.0以下的系统界面文件有缺失,并且没有必要开发4.0以下的程序了
后面的参照图片中的选项就可以了。
接着一路“Next”,最后“Finish”
三、项目文件初识
这是博主做的一个测试项目,用于测试 Android连接SQL Server
src:包含程序代码,里面放了包、类等等
Android Private Libraries:包含导入的第三方jar文件
bin:编译后的文件,有可以直接安装运行的apk文件
libs:放置第三方jar文件的目录
res:界面文件、数据文件等等
=>layout:包含界面的布局、控件的布局文件
=>values:存放着程序用的部分数据,常用的是strings.xml,里面有控件的Text属性内容
AndroidManifest.xml:配置文件,这个文件必须注意,在使用与网络相关的功能时,必须在里面打开网络权限
方法:右键AndroidManifest.xml=>Open With=>Text Editor
1 . . . . . .
2 android:versionCode="1"
3 android:versionName="1.0" >
4
5 <uses-permission android:name="android.permission.INTERNET" />
6
7 <uses-sdk
8 android:minSdkVersion="14"
9 . . . . . .
<uses-permission android:name="android.permission.INTERNET" />,这是新手最常忘记的操作。
四、基本操作
例:新建一个名为AndroidTest的项目
1、新建项目后,首先看看res->values->strings.xml文件,Open With TextEditor打开
1 <?xml version="1.0" encoding="utf-8"?>
2 <resources>
3
4 <string name="app_name">AndroidTest</string>
5 <string name="hello_world">Hello world!</string>
6 <string name="action_settings">Settings</string>
7 <string name="btnHello">Say Hello</string>
8 <string name="btnClear">Clear</string>
9
10 </resources>
第7和第8行是博主追加的,用于显示在后续步骤创建的button显示文本。
2、打开res->layout->activity_main.xml,看到程序的界面
从界面左侧的Palette栏中拖入2个Button
点击下方的activity_main.xml。
修改打开的xml文本如下:
1 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
2 xmlns:tools="http://schemas.android.com/tools"
3 android:layout_width="match_parent"
4 android:layout_height="match_parent"
5 android:paddingBottom="@dimen/activity_vertical_margin"
6 android:paddingLeft="@dimen/activity_horizontal_margin"
7 android:paddingRight="@dimen/activity_horizontal_margin"
8 android:paddingTop="@dimen/activity_vertical_margin"
9 tools:context="com.test.androidtest.MainActivity" >
10
11 <TextView
12 android:id="@+id/tv"
13 android:layout_width="wrap_content"
14 android:layout_height="wrap_content"
15 android:text="@string/hello_world" />
16
17 <Button
18 android:id="@+id/btnHello"
19 android:layout_width="wrap_content"
20 android:layout_height="wrap_content"
21 android:layout_marginStart="10dp"
22 android:layout_marginLeft="10dp"
23 android:layout_marginTop="50dp"
24 android:text="@string/btnHello" />
25
26 <Button
27 android:id="@+id/btnClear"
28 android:layout_width="wrap_content"
29 android:layout_height="wrap_content"
30 android:layout_marginStart="150dp"
31 android:layout_marginLeft="150dp"
32 android:layout_marginTop="50dp"
33 android:text="@string/btnClear" />
34
35 </RelativeLayout>
注:layout_marginStart="XXdp"必须加上,并且值要与marginLeft相同,否则在手机上运行时,x坐标会有问题
text="@string/btnHello"中的btnHello就是在上一步编写strings.xml所设定的值,将显示在按钮上。
3、打开src->com.test.androidtest->MainActivity.java
这就是主程序的代码,(也就是C#中winform的Main方法入口的窗体代码)
1 package com.test.androidtest;
2
3 import android.app.Activity;
4 import android.os.Bundle;
5 import android.view.Menu;
6 import android.view.MenuItem;
7 import android.view.View;
8 import android.view.View.OnClickListener;
9 import android.widget.Button;
10 import android.widget.TextView;
11 import android.widget.Toast;
12
13 public class MainActivity extends Activity {
14
15 // 定义控件和变量
16 private TextView tv;
17 private Button btnHello;
18 private Button btnClear;
19 private String strHello = "hello Android!";
20
21 // 初始化方法
22 @Override
23 protected void onCreate(Bundle savedInstanceState) {
24 super.onCreate(savedInstanceState);
25 setContentView(R.layout.activity_main);
26
27 // 通过id,找到控件,并从控件的父类(View类)转类型为相应的类形
28 tv = (TextView) findViewById(R.id.tv);
29 btnHello = (Button) findViewById(R.id.btnHello);
30 btnClear = (Button) findViewById(R.id.btnClear);
31
32 // 设定按钮的click动作监视,有click动作触发时,执行方法clickEvent()
33 btnHello.setOnClickListener(clickEvent());
34 btnClear.setOnClickListener(clickEvent());
35 }
36
37 // 定义clickEvent()方法
38 private OnClickListener clickEvent() {
39 // TODO Auto-generated method stub
40 // 返回一个OnClickListener结果
41 return new OnClickListener() {
42
43 // 方法体,参数view指触发事件的控件本身
44 @Override
45 public void onClick(View view) {
46 // TODO Auto-generated method stub
47 // 判断click动作触发的控件是哪个button
48 if (view == btnHello) {
49 // 参数view,是传递触发的button控件
50 sayHello(view);
51 } else if (view == btnClear) {
52 clearTv(view);
53 } else {
54 // 其它的按钮可继续添加
55 }
56 }
57 };
58 }
59
60 // btnHello的click方法,参数view是触发的按钮本身
61 private void sayHello(View view) {
62 // 设定TextView的内容
63 tv.setText(strHello);
64 // 转view的类型为Button
65 Button btn = (Button) view;
66 // 提示信息
67 String tips = "你按下了" + btn.getText();
68 // 气泡显示提示信息
69 Toast.makeText(getApplicationContext(), tips, Toast.LENGTH_SHORT).show();
70 }
71
72 // btnClear的click方法,参数view是触发的按钮本身
73 private void clearTv(View view) {
74 tv.setText("");
75 Button btn = (Button) view;
76 String tips = "你按下了" + btn.getText();
77 Toast.makeText(getApplicationContext(), tips, Toast.LENGTH_SHORT).show();
78 }
79
80 // 暂时不需要理会
81 @Override
82 public boolean onCreateOptionsMenu(Menu menu) {
83 // Inflate the menu; this adds items to the action bar if it is present.
84 getMenuInflater().inflate(R.menu.main, menu);
85 return true;
86 }
87
88 // 暂时不需要理会
89 @Override
90 public boolean onOptionsItemSelected(MenuItem item) {
91 // Handle action bar item clicks here. The action bar will
92 // automatically handle clicks on the Home/Up button, so long
93 // as you specify a parent activity in AndroidManifest.xml.
94 int id = item.getItemId();
95 if (id == R.id.action_settings) {
96 return true;
97 }
98 return super.onOptionsItemSelected(item);
99 }
100 }
实现的功能就是程序初始化是有1个TextView(内容是hello world),2个Button
点击按钮Say Hello时,TextView内容变为hello Android,同时弹出气泡提示,用户按了哪个按键
点击按钮Clear时,TextView内容变为空,同时弹出气泡提示,用户按了哪个按键
效果如下:
结束...