嵌入式课程报告.docx
- 文档编号:25051384
- 上传时间:2023-06-04
- 格式:DOCX
- 页数:25
- 大小:2.47MB
嵌入式课程报告.docx
《嵌入式课程报告.docx》由会员分享,可在线阅读,更多相关《嵌入式课程报告.docx(25页珍藏版)》请在冰豆网上搜索。
嵌入式课程报告
本次大作业我做了四个题目,分别是U盘Linux的构建、Android的应用程序、IOS的应用程序的开发使用以及windowsphone的应用程序;其中Android的应用程序我做的比较详细一点。
一、U盘Linux的构建
1软件准备
从网上下载安装pup2usb和puppylinux
2.构建U盘的puppyLinux
运行下载的软件,在U盘上构建自己的Linux系统,将U盘插入pc机上即可运行
二、Android的应用程序
1、构建Android系统开发环境
下载安装jdk、EclipseIDEforJavadeveloper和AndroidSDK
1.1:
点击JDK1.6安装软件,依次安装,直至完成。
1.2点击安装AndroidSDK软件,把android-sdk置于D盘的android文件里,安装完毕后,进入android-sdk文件,点击SDKManager,下载需要开发android版本,整个下载过程时间有些长,需要耐心等待,同时要保证有足够的磁盘空间。
这里在下载Android组件时按照书上的网址发现无法下载,我从网上查资料发现,在国内网站上可以下载图片如下,从这里下载可以正常完成SDK安装
1.3把eclipse文件放入到D盘的android文件里,并且在该文件里创建一个androidApp文件,点击eclipse文件里的eclipse.exe启动集成开发环境,把其默认工程路径设置为自己需要的路径。
通过选择WorkBench后进入集成开发界面,选择菜单栏中的“Help”,点击“InstallNewSoftware”,点击“Add”,输入名称和位置(即本地ADT所在的位置),确认后,选择所有安装内容,依次安装,完毕后重启Eclipse。
选择菜单栏中的“Window”,点击“Preferences”,双击“Android”,设置“SDKLocation”,选择本地SDK所在位置,点击应用,一会儿后,显示出Android版本,点击确定。
2.安卓系统录音机的开发
搭建好开发环境接下来就可以开始开发应用程序了。
2.1通过File->New->Project菜单,建立新项目"AndroidProject
按照提示填好信息如下图
2.2程序代码
由 setContentView(R.layout.mymultimedia_mediarecorder1)将Java与XML文件相关联
由于没有学过Java,代码我是从网上下的源代码如下
1.public class mediarecorder1 extends ListActivity
2. {
3. private Button mAudioStartBtn;
4. private Button mAudioStopBtn;
5. private File mRecAudioFile; // 录制的音频文件
6. private File mRecAudioPath; // 录制的音频文件路徑
7. private MediaRecorder mMediaRecorder;// MediaRecorder对象
8. private List
9. private String strTempFile = "recaudio_";// 零时文件的前缀
10.
11. @Override
12. protected void onCreate(Bundle savedInstanceState)
13. {
14. // TODO Auto-generated method stub
15. super.onCreate(savedInstanceState);
16. setContentView(R.layout.mymultimedia_mediarecorder1);
17.
18. mAudioStartBtn = (Button) findViewById(R.id.mediarecorder1_AudioStartBtn);
19. mAudioStopBtn = (Button) findViewById(R.id.mediarecorder1_AudioStopBtn);
20.
21. /*按钮状态*/
22. mAudioStartBtn.setEnabled(true);
23. mAudioStopBtn.setEnabled(false);
24.
25. /* 检测是否存在SD卡 */
26. if (Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED))
27. {
28. mRecAudioPath = Environment.getExternalStorageDirectory();// 得到SD卡得路径
29. musicList();// 更新所有录音文件到List中
30. } else
31. {
32. Toast.makeText(mediarecorder1.this, "没有SD卡", Toast.LENGTH_LONG).show();
33. }
34.
35. /* 开始按钮事件监听 */
36. mAudioStartBtn.setOnClickListener(new Button.OnClickListener()
37. {
38. @Override
39. public void onClick(View arg0)
40. {
41. try
42. {
43. /* ①Initial:
实例化MediaRecorder对象 */
44. mMediaRecorder = new MediaRecorder();
45. /* ②setAudioSource/setVedioSource*/
46. mMediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);//设置麦克风
47. /* ②设置输出文件的格式:
THREE_GPP/MPEG-4/RAW_AMR/Default
48. * THREE_GPP(3gp格式,H263视频/ARM音频编码)、MPEG-4、RAW_AMR(只支持音频且音频编码要求为AMR_NB)
49. * */
50. mMediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.DEFAULT);
51. /* ②设置音频文件的编码:
AAC/AMR_NB/AMR_MB/Default */
52. mMediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.DEFAULT);
53. /* ②设置输出文件的路径 */
54. try
55. {
56. mRecAudioFile = File.createTempFile(strTempFile, ".amr", mRecAudioPath);
57.
58. } catch (Exception e)
59. {
60. e.printStackTrace();
61. }
62. mMediaRecorder.setOutputFile(mRecAudioFile.getAbsolutePath());
63. /* ③准备 */
64. mMediaRecorder.prepare();
65. /* ④开始 */
66. mMediaRecorder.start();
67. /*按钮状态*/
68. mAudioStartBtn.setEnabled(false);
69. mAudioStopBtn.setEnabled(true);
70. } catch (IOException e)
71. {
72. e.printStackTrace();
73. }
74. }
75. });
76. /* 停止按钮事件监听 */
77. mAudioStopBtn.setOnClickListener(new Button.OnClickListener()
78. {
79. @Override
80. public void onClick(View arg0)
81. {
82. // TODO Auto-generated method stub
83. if (mRecAudioFile !
= null)
84. {
85. /* ⑤停止录音 */
86. mMediaRecorder.stop();
87. /* 将录音文件添加到List中 */
88. mMusicList.add(mRecAudioFile.getName());
89. ArrayAdapter
90. R.layout.list, mMusicList);
91. setListAdapter(musicList);
92. /* ⑥释放MediaRecorder */
93. mMediaRecorder.release();
94. mMediaRecorder = null;
95. /* 按钮状态 */
96. mAudioStartBtn.setEnabled(true);
97. mAudioStopBtn.setEnabled(false);
98. }
99. }
100. });
101. }
102.
103. /* 播放录音文件 */
104. private void playMusic(File file)
105. {
106. Intent intent = new Intent();
107. intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
108. intent.setAction(android.content.Intent.ACTION_VIEW);
109. /* 设置文件类型 */
110. intent.setDataAndType(Uri.fromFile(file), "audio");
111. startActivity(intent);
112. }
113.
114. @Override
115. /* 当我们点击列表时,播放被点击的音乐 */
116. protected void onListItemClick(ListView l, View v, int position, long id)
117. {
118. /* 得到被点击的文件 */
119. File playfile = new File(mRecAudioPath.getAbsolutePath() + File.separator
120. + mMusicList.get(position));
121. /* 播放 */
122. playMusic(playfile);
123. }
124.
125. /* 播放列表 */
126. public void musicList()
127. {
128. // 取得指定位置的文件设置显示到播放列表
129. File home = mRecAudioPath;
130. if (home.listFiles(new MusicFilter()).length > 0)
131. {
132. for (File file :
home.listFiles(new MusicFilter()))
133. {
134. mMusicList.add(file.getName());
135. }
136. ArrayAdapter
137. R.layout.list, mMusicList);
138. setListAdapter(musicList);
139. }
140. }
141. }
142.
143. /* 过滤文件类型 */
144. class MusicFilter implements FilenameFilter
145. {
146. public boolean accept(File dir, String name)
147. {
148. return (name.endsWith(".amr"));
149. }
150. }
XML布局文件
[html] viewplaincopy
1.
xml version="1.0" encoding="utf-8"?
>
2. android=" 3. android: layout_width="fill_parent" 4. android: layout_height="fill_parent" 5. android: orientation="vertical" > 6. 7. 8. android: id="@id/android: list" 9. android: layout_width="fill_parent" 10. android: layout_height="fill_parent" 11. android: layout_weight="1" 12. android: drawSelectorOnTop="false" /> 13. 14.
2.3
生成.apk文件在手机上运行即可
三、IOS的应用程序的开发使用
硬件准备
在pc上安装MacOS虚拟机
1.下载安装VMware9.0,根据软件提示完成安装
2.设置虚拟机
按照需求更改虚拟机设置,其内存和硬盘空间大小,将光驱设置为SCSI模式如下图,显卡为3D
3.更改虚拟机文件.vmx中的内容如下,将“guestOS”行改为“Darwin10”,保存并重启虚拟机
4.下载rebel.efl.iso作为系统引导盘安装MacOS.iso镜像文件
运行虚拟机,看到以下画面:
用键盘换至右边,回车,顺利开机。
需要关闭MacOSXLion系统时可关机,或直接强制关闭虚拟机,每次都需要利用引导工具开机。
运行画面:
3.设置安装MacOS
首先下载MacOS,启动VMware,在光驱中下载安装MacOS.iso文件即可安装成功
4.启动Xcode然后请选择File>NewProject,这样就可以创建一个新工程。
接下来应该会看到一个新的窗口,它和下图相似
在IOS上显示hello
1.请在文本字段的属性查看器里输入YourName,这将作为文本字段的占位字符串。
2.调整标签的尺寸,将其扩展至与视图等宽。
3.删除标签中的文本(“Label”),在标签的属性查看器里删除,也可以直接选中文本(双击可执行选中操作)再按删除键进行删除。
4.给按键添加一个标题,请在按键中双击鼠标,然后输入Hello。
5.请使用查看器将文本字段和标签的文本对齐方式都设置为居中对齐。
四、windowsphone的开发
1、WindowsPhone是微软发布的一款手机操作系统,它将微软旗下的XboxLive游戏、XboxMusic音乐与独特的视频体验整合至手机中。
我本人安装的是WindowsPhone7,它采用的是WindowsCE的内核。
2.开发环境的构建
(1)在安装有Windows7的pc机上下载安装WindowsPhonedevelopertools,然后根据EXE在线安装,主界面如下
(2)新建一个Silverlight工程根据旁边的代码可以自己更改标题与正文部分,具体代码如下,按F5键可得出iPhone手机屏幕
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 课程 报告