记录android开发学习第一课。

 

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

但愿我可以坚持下来。

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

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

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

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

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

import android.app.Activity;
import android.os.Bundle;
import android.widget.Button;
import android.widget.TextView;

/*
 * 创建activity的要点:
 *  一个activity就是一个类,集成activity
 *  复写onCreate方法
 *  每一个activity都需要在androidManifest.xml文件中进行配置
 *  为activity添加必要的控件。
 */
public class Activity_01Activity extends Activity {
	/** Called when the activity is first created. */
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		TextView myTextView = (TextView) this.findViewById(R.id.myTextView);
		Button myButton = (Button) this.findViewById(R.id.myButton);
		myTextView.setText("我的第一个textView");
		myButton.setText("我的第一个按钮" + "\n" + "nihao");
	}


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

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

代码是这样的。

Activity_02Activity.java

package erfei.activity;

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

public class Activity_02Activity extends Activity {
	/** Called when the activity is first created. */
	private Button mybutton = null;

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		mybutton = (Button)this.findViewById( R.id.myButton);
		mybutton.setOnClickListener(new MyButtonListener());

	}
	
	class MyButtonListener implements OnClickListener{

		@Override
		public void onClick(View v) {
			
			Intent intent = new Intent();
			intent.setClass(Activity_02Activity.this, OtherActivity.class);
			//Activity_02Activity.this.setIntent(intent);
			startActivity(intent);  
		}


		
	}
	
}

另个activity我是这么写的。

package erfei.activity;

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;

public class OtherActivity extends Activity {
	private TextView myTextView = null;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		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如何传?这是我下节课需要思考的问题。有没有相同的朋友遇到过这个问题呢?

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值