您的位置:首页 > 移动开发 > Android开发

记录android开发学习第一课。

2012-06-22 20:18 411 查看

打算学习android开发,是因为最近想静下心来做点小应用。不知道现在学习还晚不晚。不过我已经打算把学习笔记记录在csdn上了。另外说一点,csdn的编辑器在ie9下用起来很不爽。

但愿我可以坚持下来。

话不多说,直接杀入主题。对于我这个初级选手来说,开始的就是android开发环境的搭建。

我选择的开发工具是EclipseClassic3.7.2地址在http://www.eclipse.org/downloads/地球人都知道。

当然了,必须下载相关的android插件。包括androidsdk和android虚拟器。好吧,这个教程很多,我就不累赘了。其实这个还应该多搭配几次。

但是让人蛋疼的是,下载个androidsdk包需要几个小时,而且时不时还弹出让人注册的窗口。但是为了学习,只能这样了。

一切还算顺利,helloword程序写出来了。用的2.2模拟器运行。还是可以正常显示的。

importandroid.app.Activity;
importandroid.os.Bundle;
importandroid.widget.Button;
importandroid.widget.TextView;

/*
*创建activity的要点:
*一个activity就是一个类,集成activity
*复写onCreate方法
*每一个activity都需要在androidManifest.xml文件中进行配置
*为activity添加必要的控件。
*/
publicclassActivity_01ActivityextendsActivity{
/**Calledwhentheactivityisfirstcreated.*/
@Override
publicvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
TextViewmyTextView=(TextView)this.findViewById(R.id.myTextView);
ButtonmyButton=(Button)this.findViewById(R.id.myButton);
myTextView.setText("我的第一个textView");
myButton.setText("我的第一个按钮"+"\n"+"nihao");
}


值得记录的是第二程序。学习Intent的时候出现了一个让人蛋疼的问题。想了很久,最后是模拟器版本的问题。

我先把目的说下。从Activity_01.java这个应用传递到Activity_02.java里。

代码是这样的。

Activity_02Activity.java

packageerfei.activity;

importandroid.app.Activity;
importandroid.content.Intent;
importandroid.os.Bundle;
importandroid.view.View;
importandroid.view.View.OnClickListener;
importandroid.widget.Button;

publicclassActivity_02ActivityextendsActivity{
/**Calledwhentheactivityisfirstcreated.*/
privateButtonmybutton=null;

@Override
publicvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mybutton=(Button)this.findViewById(R.id.myButton);
mybutton.setOnClickListener(newMyButtonListener());

}

classMyButtonListenerimplementsOnClickListener{

@Override
publicvoidonClick(Viewv){

Intentintent=newIntent();
intent.setClass(Activity_02Activity.this,OtherActivity.class);
//Activity_02Activity.this.setIntent(intent);
startActivity(intent);
}


}

}

另个activity我是这么写的。

packageerfei.activity;

importandroid.app.Activity;
importandroid.os.Bundle;
importandroid.widget.TextView;

publicclassOtherActivityextendsActivity{
privateTextViewmyTextView=null;
@Override
protectedvoidonCreate(BundlesavedInstanceState){
//TODOAuto-generatedmethodstub
super.onCreate(savedInstanceState);
//使用other的布局
this.setContentView(R.layout.other);
myTextView=(TextView)this.findViewById(R.id.myTextView);
myTextView.setText(R.string.other);
}

}


相关配置文件我已经配置好了。经检查也没有问题。比如AndroidManifest.xml里对两个activity的配置。以及对布局的配置,包括main.xml和other.xml。在这里不得不说一点:

一开始我是在eclipse里直接复制main.xml然后改文件名成other.xml。这个时候,gen文件下应该自动生成相关控件的,但是没有反映,只有main.xml文件变化R.java才会变化。other.xml没有变化。我一开始以为是没有刷新的缘故。后来测试好多遍都不是。于是我干脆把other.xml删除掉。点右键新建一个other.xml然后,复制相关代码并修改才可以。

也许是自动生成机制的问题。我现在想。希望有朋友了解的可以回答小弟。

接下来就说模拟器版本的问题。一开始用的2.2版本的。intent怎么都传递不了。

后来我换成1.6的,就好了。

问题是2.2如何传?这是我下节课需要思考的问题。有没有相同的朋友遇到过这个问题呢?
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: