资源描述
实习报告书
专 业 计算机科学与技术
系 别
报告题目 安卓
报告人 班 级
指引教师 带队教师
实习时间 实习地点
教务处监制
实习目:
暑期实训是计算机科学与技术专业学生一门重要实践性课程。其目是使学生们进一步加深对所学知识理解,理论联系实际,巩固所学关于计算机基本理论知识和基本技能,学习关于计算机最新技术方面应用,增强学生对计算机在社会生活,社会生产中应用感性结识,进一步理解计算机在各个领域中应用状况。
生产实习是学校教学重要补充某些,是区别于普通学校教诲一种明显特性,是教诲教学体系中一种不可缺少重要构成某些和不可代替重要环节。它是与此后职业生活最直接联系,学生在生产实习过程中将完毕学习到就业过渡,因而生产实习是培养技能型人才,实现培养目的重要途径。它不但是校内教学延续,并且是校内教学总结。生产实习一方面巩固了课本上学到理论知识,另一方面,可获得在课本上不易理解和不易学到生产现场实际知识,使咱们在实践中得到提高
实训环节对于提高学生综合能力和全面素质具备重要意义。
实习任务概述:
1.面向对象编程(封装,继承,多态)。
2.this核心字使用,JavaBean定义规范以及作用
3.办法重载(overLoading),构造办法作用
4.package(创立包)import(导包)使用以及作用
5.super核心字使用
6.办法重写(override)
7.访问修饰符(public,protected,默认,private)使用
8.static修饰符作用及用法
9.final修饰符作用及用法
10.抽象类(abstract)定义和特点以及使用
11.接口(interface)定义
12.接口实现(implements)
13.接口和抽象类区别
14.对象包装器,装箱和拆箱使用
15.数组使用。
16.String类,StringBuffer类,StringBuilder类使用以及三者之间区别
17.JavaSE API使用。
18.日期类Date,SimpleDateFormat使用,数学类Math和Random类使用
19.异常解决(try,catch,finally,throw,throws)。
20.Java中集合类(List,Map,Set接口使用以及Properties属性文献操作)
21.编写音乐播放器应用
22.编写电话及短信应用
23.编写SD卡存取应用
实习所用软件简介:
Eclipse
Eclipse 是一种开放源代码、基于java可扩展开发平台。就其自身而言,它只是一种框架和一组服务,用于通过插件组件构建开发环境。幸运是,Eclipse 附带了一种原则插件集,涉及 Java 开发工具(Java Development Tools,JDT)。
虽然大多数顾客很乐于将 Eclipse 当作 Java IDE来使用,但 Eclipse 目的不但限于此。Eclipse 还涉及插件开发环境(Plug-in Development Environment,PDE),这个组件重要针对但愿扩展 Eclipse 软件开发人员,由于它容许她们构建与 Eclipse 环境无缝集成工具。由于 Eclipse 中每样东西都是插件,对于给 Eclipse 提供插件,以及给顾客提供一致和统一集成开发环境而言,所有工具开发人员都具备同等发挥场合。
JDK
JDK(Java Development Kit,Java开发包,Java开发工具)是一种写Javaapplet和应用程序程序开发环境。它由一种处在操作系统层之上运营环境尚有开发者编译,调试和运营用Java语言写applet和应用程序所需工具构成。
JDK(Java Development Kit)是Sun Microsystems针对Java开发员产品。自从Java推出以来,JDK已经成为使用最广泛Java SDK(Software development kit)。
JDK包括基本组件涉及:
javac – 编译器,将源程序转成字节码
jar – 打包工具,将有关类文献打包成一种文献
javadoc – 文档生成器,从源码注释中提取文档
jdb – debugger,查错工具
JDK中还涉及完整JRE(Java Runtime Environment,Java运营环境),也被称为private runtime。涉及了用于产品环境各种库类,以及给开发员使用补充库,如国际化库、IDL库。
JDK中还涉及各种例子程序,用以展示Java API中各某些。
NPP
Notepad++缩写
Notepad++ 是一款Windows环境下免费开源代码编辑器。
android-sdk
SDK:(software development kit)软件开发工具包。被软件开发工程师用于为特定软件包、软件框架、硬件平台、操作系统等建立应用软件开发工具集合。
Android SDK 指既是Android专属软件开发工具包。
实习内容及环节:
1、音乐播放器
代码如下:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:paddingTop="10dip" >
<ProgressBar android:id="@+id/pbPosition"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
style="?android:attr/progressBarStyleHorizontal" />
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingTop="10dip"
android:gravity="center_horizontal" >
<ImageButton android:id="@+id/ibtnLast"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="10dp"
android:background="@drawable/last_d" />
<ImageButton android:id="@+id/ibtnPlay"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="10dp"
android:background="@drawable/play_d" />
<ImageButton android:id="@+id/ibtnNext"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/next_d" />
</LinearLayout>
</LinearLayout>
package com.yj.mediaplayer.activity;
import android.app.Activity;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.os.Environment;
import android.util.Log;
import android.view.View;
import android.widget.ImageButton;
import android.widget.ProgressBar;
public class MediaPlayerActivity extends Activity {
Private final static String TAG = "MediaPlayerActivity" ;
private ProgressBar pbPosition ;
private ImageButton ibtnLast ;
private ImageButton ibtnPlay ;
private ImageButton ibtnNext ;
private MediaPlayer player ;// 播放音乐对象
private boolean playing = false ;// 播放状态
private boolean pause = false ;// 暂停状态
private boolean stop = true ;// 停止状态
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// 初始化
init() ;
}
// 初始化
private void init() {
// 初始化控件
this.pbPosition=(ProgressBar) this.findViewById(R.id.pbPosition) ;
this.ibtnLast=(ImageButton) this.findViewById(R.id.ibtnLast) ;
this.ibtnPlay=(ImageButton) this.findViewById(R.id.ibtnPlay);this.ibtnNext=(ImageButton)this.findViewById(R.id.ibtnNext) ;
// 设立监听器
View.OnClickListener listener = new MyClickListener() ;
this.ibtnLast.setOnClickListener(listener) ;
this.ibtnPlay.setOnClickListener(listener) ;
this.ibtnNext.setOnClickListener(listener) ;
// 初始化播放器
player = new MediaPlayer() ;
try {
String path = Environment.getExternalStorageDirectory().getAbsolutePath() + "/02.mp3" ;
System.out.println(path);
player.reset() ;
player.setDataSource(path) ;
player.prepare() ;
player.seekTo(0) ;
} catch (Exception e) {
Log.w(TAG,e.getMessage()) ;
e.printStackTrace() ;
}
}
// 播放音乐办法
private void play() {
// 缓冲数据
try {
player.start() ;
playing = true ;// 处在播放状态
stop = false ;// 停止状态设立为false
} catch (Exception e) {
Log.w(TAG,e.getMessage()) ;
}
}
// 暂停音乐办法
private void rePlay() {
if(pause) { // 音乐处在暂停状态
player.start() ;
pause = false ;
playing = true ;
}
}
// 暂停音乐办法
private void pause() {
if(playing) { // 如果音乐正在播放
player.pause() ;
pause = true ;
playing = false ;
}
}
@Override
protected void onDestroy() {
if(!stop) {
player.stop() ;
player.reset() ;
player.release() ;
player = null ;
}
super.onDestroy();
}
// 自定义按钮监听器类
private final class MyClickListener implements View.OnClickListener {
@Override
public void onClick(View v) {
int id = v.getId() ;
switch(id) {
case R.id.ibtnLast:// 点击了快退按钮
break ;
case R.id.ibtnPlay:// 点击了播放按钮
if(stop) { // 停止状态
play() ;
ibtnPlay.setBackgroundResource(R.drawable.pause_d) ;
} else if(pause) { // 暂停状态
rePlay() ;
ibtnPlay.setBackgroundResource(R.drawable.pause_d) ;
} else if(playing) { // 播放状态
pause() ;
ibtnPlay.setBackgroundResource(R.drawable.play_d) ;
break ;
case R.id.ibtnNext:// 点击了快进按钮
break ;
}
}
}
}
界面如下:
2、拨号与短信功能
代码如下:
电话功能
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/input_phonenumber" />
<EditText android:id="@+id/etPhoneNumber"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:phoneNumber="true" />
<Button android:id="@+id/btnCall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/callPhone"
android:layout_gravity="right" />
</LinearLayout>
package com.yj.callphone.activity;
import android.app.Activity;
import android.content.Intent;
import .Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
public class CallPhoneActivity extends Activity {
private EditText etPhoneNumber ;
private Button btnCallPhone ;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// 初始化控件
init() ;
}
/**
* 初始化控件
*/
private void init() {
// 查找控件
etPhoneNumber = (EditText) this.findViewById(R.id.etPhoneNumber) ;
btnCallPhone = (Button) this.findViewById(R.id.btnCall) ;
View.OnClickListener listener = new ClickListener() ;
// 注册监听者/观测者
btnCallPhone.setOnClickListener(listener) ;
}
private final class ClickListener implements View.OnClickListener {
public void onClick(View v) {
// 定义一种拨打电话意图
Intent intent = new Intent(Intent.ACTION_CALL,
Uri.parse("tel:" + etPhoneNumber.getText().toString())) ;
// 将意图发送给Android操作系统
startActivity(intent) ;
}
}
}
短信功能
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/input_phone_number" />
<EditText
android:id="@+id/etPhoneNumber"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:phoneNumber="true" />
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/input_sms_content" />
<EditText
android:id="@+id/etSmsContent"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:inputType="textMultiLine"
android:minLines="5" />
<Button android:id="@+id/btnSend"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:text="@string/send_sms" />
</LinearLayout>
package com.yj.sms.activity;
import java.util.ArrayList;
import android.app.Activity;
import android.os.Bundle;
import android.telephony.SmsManager;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class SmsSendActivity extends Activity {
// 电话号码控件
private EditText etPhoneNumber ;
// 短信内容
private EditText etSmsContent ;
// 发送按钮
private Button btnSendSms
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// 初始化控件
init() ;
}
/**
* 初始化控件
*/
private void init() {
// 查找三个控件
this.etPhoneNumber = (EditText) this.findViewById(R.id.etPhoneNumber) ;
this.etSmsContent = (EditText) this.findViewById(R.id.etSmsContent) ;
this.btnSendSms = (Button) this.findViewById(R.id.btnSend) ;
// 为按钮添加点击事件监听器
View.OnClickListener listener = new ClickListener() ;
this.btnSendSms.setOnClickListener(listener) ;
}
// 按钮单击事件监听器实现类
private final class ClickListener implements View.OnClickListener {
public void onClick(View v) {
// 得到要发送给电话号码
String phoneNumber = etPhoneNumber.getText().toString() ;
// 得到要发送短信内容
String smsContent = etSmsContent.getText().toString() ;
// 得到一种短信管理器对象
SmsManager smsManager = SmsManager.getDefault() ;
// 普通一天短信内容为70个字符,如果超过70字符,那么就需要把短信内容分割一下,然后逐条发送
ArrayList<String> smss = smsManager.divideMessage(smsContent) ;
// 发送短信,将分割后短信逐条发送
for(String sms :smss) {
// 发送短信
smsManager.sendTextMessage(phoneNumber,null,sms,null,null) ;
}
Toast.makeText(SmsSendActivity.this,R.string.send_success,
Toast.LENGTH_SHORT).show() ;
}
}
}
界面如下:
3、SD卡读写文献
代码如下:
读取文献
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/input_file_name" />
<EditText android:id="@+id/etFileName"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<Button android:id="@+id/btnReadFile"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/read_file" />
</LinearLayout>
package com.yj.sdcardread.activity;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import android.app.Activity;
import android.os.Bundle;
import android.os.Environment;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class SDCardReadFileActivity extends Activity {
private EditText etFileName ;
private Button btnReadFile ;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// 初始化控件
init() ;
}
// 初始化控件
private void init() {
this.etFileName = (EditText) this.findViewById(R.id.etFileName) ;
this.btnReadFile = (Button) this.findViewById(R.id.btnReadFile) ;
// 设立按钮点击监听器
this.btnReadFile.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
String result = readFile() ;
Toast.makeText(SDCardReadFileActivity.this,result,
Toast.LENGTH_LONG).show() ;
}
}) ;
}
// 读取文献
private String readFile() {
if(Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())) {
// SDCard存在
String fileName = etFileName.getText().toString() ;
File file = new File(Environment.getExternalStorageDirectory(),fileName) ;
ByteArrayOutputStream outStream = new ByteArrayOutputStream() ;
InputStream inStream = null ;
try {
inStream = new FileInputStream(file) ;
byte[] buffer = new byte[1024] ;
int len = -1 ;
while(-1 != (len = inStream.read(buffer))) {
outStream.write(buffer,0,len) ;
}
return new String(outStream.toByteArray()) ;
} catch (FileNotFoundException e) {
return "~~~" + e.getMessage() + "~~~" ;
} catch (IOException e) {
return "~~~" + e.getMessage() + "~~~" ;
} finally {
if(null != inStream
展开阅读全文