Android,我的第一次接触!

坚持抗战10小时,终于可以看到Android的应用了!

周末休息的时候看看新闻,看到很多人在说google,诺基亚,微软在智能手机上的“战争”,于是好奇Android,看看基于它的开发是怎么做的。从没接触过java ,从没见过android,连它的IDE都不知道是用什么,更没见过Android手机!从-1开始吧,连从0开始的勇气都没有!这种摸索是很痛苦的,还好,现在世道就是好,因为有搜索!

一、开发环境:

1、  JDK

最新版本jdk-6u17-windows-i586.exe

下载http://java.sun.com/javase/downloads/index.jsp

2、  开发IDE (eclipse)

最新版本eclipse-jee-galileo-SR1-win32.zip

下载地址http://www.eclipse.org/downloads/

3、  Adroid SDK

最新版本android-sdk_r04-windows.zip

下载地址http://developer.android.com/intl/zh-CN/sdk/index.html

注意:下载部署完后需要配置环境变量。网上很多,就不再说了。最后还要在线安装ADT。

运行效果图:

最近一直在WinCE下做,界面有点呆,乍一看上去,却是新颖!

摸索了一下Android的开发,其实跟windows mobile的开发差不多,UI使用xml,与WPF/Silverligh的xaml差不多。代码我感觉与flex的编写差不多,有点actionscrip的味道。但是有一些可能是习惯不一样,可能是因为java 的原因,比如在Windows Mobile下给文本框赋值很简单:

  TextBox.Text=”中国”;

但是在Android下,就有点麻烦:

  EditText editText = (EditText) findViewById(R.id.EditText01);

   editText.setText("中国");

三、创建项目

做一个简单的应用,生成一个列表用ListView 显示,可指定生成数据条数,也可默认,完成后,用TextView给出提示,这里用到知识点:

A、 文本显示,给TextView的文本赋值;

B、 文本框的使用,EditText的取值与赋值;

C、 多选框的使用,CheckBox判断是否选中;

D、 列表控件的使用,ListView数据源的赋值

1、窗体元素,可以看出是标准的xml:

1 <?xml version="1.0" encoding="utf-8"?>
2  <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
3 android:orientation="vertical"
4 android:layout_width="fill_parent"
5 android:layout_height="fill_parent"
6 >
7 <TextView
8 android:id="@+id/txtview"
9 android:layout_width="fill_parent"
10 android:layout_height="wrap_content"
11 android:text="Hello,Android!"
12 android:textSize="20px" android:textStyle="bold"/>
13 <CheckBox android:id="@+id/CheckBox01"
14 android:layout_width="fill_parent"
15 android:layout_height="wrap_content"
16 android:text="@string/CheckBox01"
17 android:checked="true"
18 />
19 <EditText android:text="100"
20 android:maxLines="1"
21 android:autoText="true"
22 android:id="@+id/EditText01"
23 android:layout_width="200dip"
24 android:layout_height="wrap_content"
25 />
26 <Button android:id="@+id/Button01"
27 android:textSize="20sp"
28 android:layout_width="200dip"
29 android:layout_height="wrap_content"
30 android:text="@string/button_ok"/>
31
32 <ListView android:id="@+id/ListView01"
33 android:layout_width="wrap_content"
34 android:layout_height="wrap_content"/>
35  </LinearLayout>

2、java代码: 

1 package android.mytest;
2
3  import android.app.Activity;
4  import android.os.Bundle;
5  import android.view.View;
6  import android.view.View.OnClickListener;
7  import android.widget.*;
8
9  publicclass testactivity extends Activity implements OnClickListener {
10 /** Called when the activity is first created. */
11 @Override
12 publicvoid onCreate(Bundle savedInstanceState) {
13 super.onCreate(savedInstanceState);
14 setContentView(R.layout.main);
15 Button btn = (Button)findViewById(R.id.Button01);
16 btn.setOnClickListener(this);
17 }
18
19 publicvoid onClick(View aview)
20 {
21 //生成数据条数 100
22  int k=100;
23 EditText editText = (EditText) findViewById(R.id.EditText01);
24 CheckBox checkBox = (CheckBox) findViewById(R.id.CheckBox01);
25
26 //ListView
27   ListView listView = (ListView) findViewById(R.id.ListView01);
28 ArrayAdapter<String> arrada =new ArrayAdapter<String>(
29 this,android.R.layout.simple_list_item_1);
30
31 if(!checkBox.isChecked() && editText.getText().toString().trim().length()>0){
32 //多选框未选中时,根据文本框中输入的数值生成数据列表
33   k=Integer.parseInt(editText.getText().toString().trim());
34 }
35 //构造数据源
36  for(int i=0;i<k;i++){
37 arrada.add(String.valueOf(i)+" Android与WindowsMobile");
38 }
39 //设置listview数据源
40   listView.setAdapter(arrada);
41
42 //提示消息
43   TextView textview=(TextView)findViewById(R.id.txtview);
44 textview.setText(String.valueOf("生成数据成功!共:"+listView.getCount()+" 条数据!"));
45 }
46 }

总结:

示例很简单,以前没接触过java,语法看上去与C#差不多(可能这就是人家说的“C#是抄java的”)。对控件的操作感觉与Windwos下不太一样,刚开始还真有点不习惯。比如它的赋值是以set开头的方法setText()等等,取值是以 get开头的方法getText()等等。

主要郁闷:

1、 开始编译运行的时候,死活都出不来,偶尔也能运行,但更多的时候是运行不了,并且生成了一个main.out.xml文件,再展现一次错误:

[2009-12-27 16:48:42 - test]Error in an XML file: aborting build.

[2009-12-27 16:48:42 - test]res\layout\main.xml:0: error: Resource entry main is already defined.

[2009-12-27 16:48:42 - test]res\layout\main.out.xml:0: Originally defined here.

[2009-12-27 16:48:42 - test]E:\Test\Android\test\res\layout\main.out.xml:1: error: Error parsing XML: no element found

快疯了也找不到原因!这个问题困扰了我大概3个小时,也不知道怎么办!!最后在国外的一个E文中找到办法:生成前一定要在项目树中让src目录获取焦点,不知道为什么要这样???

2、最痛苦的是看不懂e文啊,手边放一个“翻译官”也不行,看下去也是囫囵吞枣!轱轱辘辘!无比的痛苦!莫大的悲哀! 

posted @ 2009-12-27 17:25  solan3000  阅读(3425)  评论(0编辑  收藏  举报