Android:Eclipse开发的第一个程序(事件,动画,音效)

本文介绍了Android开发的基础知识,包括环境搭建、第一个应用的创建过程及常见问题解决方法。此外,还详细讲解了如何使用RelativeLayout布局、实现动画效果、添加音效等功能。

迫于课程压力,还是学了一下Android,看了一晚上视频。总结一下所学的吧。


前置技能:java的基础,最好是开发过完整的java图形界面系统。掌握java的事件机制,并且安装好java环境。

Android安装,下载AndroidSDK,在Eclipse下安装好ADT插件。

HelloWorld。

创建好第一个Android项目,可能遇到各种问题,绝大多数情况都是之前的环境没有配好,百度即可解决。

个人感觉模拟器太慢,于是用自己的手机作为显示器,在手机上打开USB调试,成功部署第一个HelloWorld程序就行了。


文件结构



src中就是普通的java代码。默认生成了onCreate等方法,在里面书写逻辑,事件处理。

res,各种资源以及xml文件。drawable文件夹放着适应各种分别率的图片,

layout,掌管着布局界面,一个xml文件。可以通过design模式进行拖拽布局。

AndroidManifest,程序的配置信息。


实现功能

跟着视频,完成了以下功能。

生成带背景图片和提示文字的app,并且通过按钮点击实现,背景图片以及提示文字的动画效果。

按钮点击带有音效。


使用谷歌团队推荐的RelativeLayout布局和LinearLayout的比重属性布局。

提示功能:

为返回按钮设置了Dialog对话框。

使用了toast提示。

MainActivity.java

	Button myButton;
	TextView myTextView;
	ImageView myImageView;
	Animation myAnimation;
	Animation myFadein;
	SoundPool mySoundPool;
	int click;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		myButton = (Button) findViewById(R.id.button1);
		myTextView = (TextView) findViewById(R.id.textView1);
		myTextView.setBackgroundColor(android.graphics.Color.RED);
		myImageView = (ImageView) findViewById(R.id.imageView1);
		myAnimation = AnimationUtils.loadAnimation(this, R.anim.zoomin);
		myFadein = AnimationUtils.loadAnimation(this, R.anim.fadein);
		//SoundPool的new需要在onCreate中构建
		mySoundPool = new SoundPool(1, AudioManager.STREAM_MUSIC, 0);
		click = mySoundPool.load(this, R.raw.click, 1);
		
		myButton.setOnClickListener(new View.OnClickListener() {
			
			@Override
			public void onClick(View v) {
				myTextView.setText("g54564564564654g");
				myTextView.startAnimation(myFadein);
				myImageView.startAnimation(myAnimation);
				playSound();
				toast("这是一个55提示");
			}
		});
		
	}
	
	private void showDialog(){
		AlertDialog.Builder myBuilder = new AlertDialog.Builder(this);
		myBuilder.setTitle("温馨提示");
		myBuilder.setMessage("确认退出?");
		myBuilder.setPositiveButton("确认", new OnClickListener() {
			
			public void onClick(DialogInterface dialog, int which) {
				dialog.dismiss();
				MainActivity.this.finish();
			}
		});
		myBuilder.setNegativeButton("取消", new OnClickListener() {
			
			public void onClick(DialogInterface dialog, int which) {
				dialog.dismiss();
			}
		});
		myBuilder.create().show();
	}
	
	//Source > Override/implement method
	@Override
	public void onBackPressed() { //返回按钮重写
		showDialog();
	}

	//toast提示
	private void toast(String text){
		Toast myToast = Toast.makeText(this, text, Toast.LENGTH_LONG);
		//myToast.setGravity(Gravity.CENTER, 0, 0);//设置位置
		myToast.show();
	}
	
	private void playSound(){
		mySoundPool.play(click, 1, 1, 0, 0, 1);
	}
	

动画效果

创建xml文件,Resource Type就用默认的Tween Animation即可。

Root Element有5中动画效果 渐变 旋转 缩放 移动,set是一个集合暂时没有试过。

这里使用了alpha渐变,以及scale缩放。



Android音乐

SoundPool 音乐池 ,适合短促,反应速度比较高的

MediaPlayer ,适合长,反应速度要求不高


这里为Button添加了音效,使用了SoundPool,仍然要添加到res中,这里创建了raw文件夹进行存放。

源码

第一个Android程序,感谢社会上免费分享的资源,自己也把代码打包了。

链接:http://pan.baidu.com/s/1i50kwHf 密码:6wjy


android.util.Log常用的方法有以下5个:

Log.v() Log.d() Log.i() Log.w() Log.e()

分别对应VERBOSE, DEBUG,INFO,WARN,ERROR.



评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值