资源预览内容
第1页 / 共13页
第2页 / 共13页
第3页 / 共13页
第4页 / 共13页
第5页 / 共13页
第6页 / 共13页
第7页 / 共13页
第8页 / 共13页
第9页 / 共13页
第10页 / 共13页
亲,该文档总共13页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
.一、 概述3二、 关键技术4三、 具体分析6四、 心得体会8评分表9一、 概述音乐播放器,是现代移动设备基础软件之一,简单的音乐播放器能实现读取音乐、显示歌曲、播放音乐、音乐切换等功能,而较为复杂的音乐播放器则能实现联网交互功能,例如点评音乐、分享音乐、好友互动。本文旨在扩展音乐播放器的互动功能,在原先的音乐播放器基础上,扩展了“个人中心”界面,实现了界面间的跳转和简单的个人信息设置。用户可在个人中心界面中实现设置个人信息、接收系统消息、与好友互动等功能,但由于时间原因,只能实现部分界面设计,希望能在以后的研究中完善其他想法部分。本文主要应用了activity跳转方法与layout布局设计等技术,实现了登入界面LoginActivity、歌曲界面ListActivity、个人界面AccountActivty之间的相互跳转。本文在AccoutActivty中还加入了个人头像ImageView与个性签名EditText,用来显示用户的个人信息,丰富音乐播放器的功能。二、 关键技术本文的扩展中主要用到的控件有:Button、ImageView、EditText,首先,为了实现界面的跳转,本文选择了应用了点击Button跳转的方法,在第一个activity中加入Button控件,为控件添加事件监听器,实现界面跳转。查阅SDK文档可得到Button的布局信息: Button的典型用法如下: public class MyActivity extends Activity protected void onCreate(Bundle icicle) super.onCreate(icicle); setContentView(R.layout.content_layout_id); final Button button = (Button) findViewById(R.id.button_id); button.setOnClickListener(new View.OnClickListener() public void onClick(View v) / Perform action on click ); 本文在扩展的个人用户界面中设置了用户头像与个性签名功能,分别利用了ImageView与EditText控件实现,其基本属性如下:android:adjustViewBounds /调整其边界以保持其可绘制的高宽比android:baseline /视图中基线的偏移量android:baselineAlignBottom /视图将基于其底边对齐基线android:cropToPadding /被裁剪以适应其填充android:maxHeight /提供最大高度android:maxWidth /提供最大宽度android:scaleType /调整图像大小或移动以匹配此ImageView的大小android:src /设置ImageView的内容android:hint /设置显示在空间上的提示信息android:numeric /设置只能输入整数,如果是小数则是:decimalandroid:singleLine /设置单行输入android:password /设置只能输入密码android:textColor /字体颜色android:textStyle /字体,bold, italic, bolditalicandroid:textSize /大小android:capitalize /以大写字母写在界面布局上,本文LinearLayout(线性布局)为主,在部分控件设计中应用了RelativeLayout(相对布局),其重要属性如下:android:baselineAligned /当设置为false时,阻止布局对齐其子基线。android:divider /可用作按钮之间的垂直分隔符。android:gravity /指定一个对象应该如何在X轴和Y轴上定位其内容。android:orientation /设置布局是一行还是一列android:weightSum /定义最大权重和。android:gravity /指定一个对象应该如何在X轴和Y轴上定位其内容。android:ignoreGravity /指示哪个视图不受重力影响。在类的编写中,本文利用了Intents and Intent Filters方法实现界面的跳转,在用户信息上使用getIntent方法获取Intent对象,并使用Intent对象的getStringExtra方法获取传过来的用户名,再调用TextView的setText方法显示在TextView上。三、 具体分析本文的扩展主要分为layout页面布局与class AccounttActivity编写。在页面布局部分,本文在原先的actvity_list布局中加入了一个btn_account,为btn_account添加事件监听器实现界面跳转,当用户点击btn_account时,则由歌曲界面跳转到个人界面,查看个人信息;本文还在AccountActivity中放置了btn_out,实现个人界面到登入界面的跳转。其关键代码如下: Button accountBtn=(Button)findViewById(R.id.btn_account);/*实例化一个Button对象,通过findViewById方法实现layout中的控件与java对象的关联*/ accountBtn.setOnClickListener(new View.OnClickListener() Override public void onClick(View v) Intent intent=new Intent(ListActivity.this,AccountActivity.class); startActivity(intent);/*为Button添加OnClickListener监听器,并在OnClick方法中实现向LoginActivity的跳转,通过startActivity方法实现Activity的切换。*/ Button outBtn=(Button)findViewById(R.id.btn_out);outBtn.setOnClickListener(new View.OnClickListener() Override public void onClick(View v) Intent intent = new Intent(AccountActivity.this, LoginActivity.class); startActivity(intent); );在class编写中,本文利用getIntent与getStringExtra方法获取LoginActivity中用户输入的用户名,再调用TextView的setText方法显示在TextView上。其关键代码如下: protected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.activity_account); TextView nameTxt = (TextView) findViewById(R.id.txt_name); String name=this.getIntent().getStringExtra(uname); nameTxt.setText(name);/*使用getIntent方法获取Intent对象,并使用Intent对象的getStringExtra方法,调用TextView的setText方法放到TextView上显示*/在实现设计想法时,也遇到过一些困难。例如编写利用intent方法实现activity跳转语句,在调试中并没有报错,但真机测试时却发生了闪退情况,通过查阅资料找出了代码错误,应该对新设计的layout布局建立一个class,并实现一些功能,才在manifest中申明AccountActivity,实现跳转效果。通过多次的测试,以下为本文的程序运行结果: 四、 心得体会通过这次应用开发设计中,我对安卓开发有了更深刻的了解与认识。从刚开始设计新功能时的迷茫到查阅资料、了解音乐播放器基本功能,确定扩展方向,我学到了许多也认识到了自己的不足。最初,我想扩展“播放模式”功能,可供用户选择单曲循环、顺序播放、随机播放三种播放模式,尝试着学习别人的代码,但总是发现错误,许多方法无法运行,一次次的调整但还是存在错误,最后只能放弃最初的想法,重新设计新的功能。在设计“个人用户”界面时,我也曾遇到问题:编写的activtiy无法跳转,用户名无法传递。我通过查阅网络资料,翻看老师给的作业示例,一点一点对比地找出自己的错误,慢慢地调试出想要的结果。这次的安卓开发课程不仅仅教会了我基础的安卓开发知识,更给了我一次锻炼自己、突破自己的机会。在之前的三个小作业中,我学习老师给的例子,研究关键代码,尝试着运用学到的知识完成每次作业,每一次作业中都有所收获;而在本次的设计作业中,多次的错误调试更锻炼了我的意志力,要学好安卓开发就应该不怕失败,对比学习他人的代码,找出自己的错误。勇于调试、勤于学习,这就是我领悟到的学习安卓开发的方法。在这次的设计开发中,我还想增加更多的界面设计,连接数据库,实现其他互动功能,但由于时间的原因,不能实现更多的想法,希望能在以后的安卓开发学习中完善这个任务。评分表序号评分细则分数得分1选题符合论文要求且具备一定难度102
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号