十一、Android学习第十天——项目开始(转)
(转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html)
十一、Android学习第十天——项目开始
Android知识点的学习告一段落
从今天开始就要在一个项目中(MP3播放器)来更加熟悉之前学习到的各个知识点~
一个简单的MP3播放器,应该包括以下几个模块:
(一)用户界面模块
(二)文件下载模块——下载MP3和LRC文件。
(三)XML解析模块——负责解析从服务器端下载的歌曲列表XML。
(四)IO模块——负责LRC文件的解析;SDCard的读写功能。
(五)MP3播放模块——这儿需要注意的是MP3的播放功能应该放置到一个Service当中,这样即使当该Activity不可见时,MP3也可以正常播放。
(六)MP3播放设置——负责设置下载文件的所在位置;设置字符编码。
编程期间遇到一个棘手的问题:
下载功能中,在SDCard中新建文件夹却怎么也新建不了。。。已经认真检查过代码,在Manifest.xml中也加上相应的权限,还是不行。。。
结果是因为在新建虚拟机AVD时,没有设置size,解决方案如下:Windows ---> AVD Manager ,将已有的AVD删除,然后新建AVD,填写size,一般256Mib即可够用。然后再此虚拟机上运行程序,问题即可解决。
总结如下:
如果遇到此类问题,可以做如下检查:
(一)在程序中是否使用Environment.getExternalStorageDirectory().getAbsolutePath()来获得SDCard卡路径
(二)在cmd环境下查看sdcard是否允许可读可写
(三)是否在Manifest.xml中加入了相应的权限
android.promission.INTERNET
android.promission.WRITE_EXTERNAL_STORAGE
android.promission.RIDE_EXTERNAL_STORAGE
(四)AVD的size是否有值
十一、Android学习第十天——项目开始(转)相关推荐
- 【android学习之十六】——特色功能1:GoogleMap手机地图
声明:学习的书籍<Android应用开发揭秘>,这里记录学习该书籍的日志,引用的相关代码与总结描述,没有商业的用途,完全是自我学习的一个记录,刚刚学习不可避免会出现很多问题,若是有错误还请 ...
- Gradle学习(二十)——多项目构建详解
跨项目配置 虽然子项目之间可以完全隔离单独配置,但是子项目直接有相同特征的情况也是很常见的,多个项目共享配置是更好的选择. 配置和执行 在gradle学习-十八-构建的生命周期这一篇中我们已经讲过Gr ...
- 黑马程序员Android学习笔记——金山卫士项目——第二天
这几天学习了第二天的内容, 项目源代码:http://download.csdn.net/detail/itjavawfc/8241695 主要收获了: 1)自定义属性:一般用在组合控件中 2)自定义 ...
- 黑马程序员Android学习笔记——金山卫士项目——第四天
主要学习内容: 1)号码归属地查询UI设计 2)号码归属地查询的原理 3)号码归属地查询的代码实现 5)输入框抖动和震动效果 6)来电.去电号码归属地的显示 7)代码注册广播接受者的实现 8)自定义吐 ...
- 黑马程序员Android学习笔记——金山卫士项目——第三天
学习了,一定要总结,学习贵在永恒贵在用心. 学习内容: 1.绑定sim卡 2.检查手机是否更换sim卡 3.读取手机联系人 4.手机防盗原理 5.短信指令的广播 6.播放报警音乐 7.三种获取手机位置 ...
- android 学习随笔十二(网络:使用异步HttpClient框架)
使用异步HttpClient框架发送get.post请求 在https://github.com/ 搜索 asyn-http https://github.com/search?utf8=✓& ...
- android 学习随笔十六(广播 )
1.广播接收者 BroadcastReceiver 接收系统发出的广播 现实中的广播:电台为了传达一些消息,而发送的广播,通过广播携带要传达的消息,群众只要买一个收音机,就可以收到广播了 Andro ...
- ballerina 学习二十六 项目docker 部署 运行(二)
ballerina 从发布,到现在官方文档的更新也是很给力的,同时也有好多改进,越来越好用了 可以参考官方文档 https://ballerina.io/learn/by-guide/restful- ...
- 好记性不如烂笔杆-android学习笔记十四 EditText 画行,解决光标压线问题
这个问题我在网上看来很多方法,有些看得似懂非懂的,后来自己采用一种比较投机的方法,居然可行,呵呵,拿出来跟大家分享一下. 其实就是把画的线向下偏移一定高度,当然针对不同分辨率,这个值也就不同: (因为 ...
最新文章
- oracle 多条执行语句同时执行
- 分析死锁并处理_整理贴
- CPU的基本结构和功能
- 记-crontab定时任务
- C语言 linux环境基于socket的简易即时通信程序
- 64位指针膨胀 java_64位JVM带来的问题及解决方案
- 本地计算机上的MSSQLSERVER服务启动后又停止了。一些服务自动停止,如果它们没有什么可做的,例如“性能日志和警报“服务。...
- 如何使用API爬取数据,它和网页爬虫有什么区别?
- python王者战斗_把英雄分类,看 Python 带你上王者
- mysql 表继承_如何在数据库中表示继承?
- 将接近传感器和环境光传感器封装在一起的优点
- php记录访问者ip和次数,一个能对访问者进行编号、记录访问次数、IP、时间的统计制作实例...
- 2021年全球支付现状及发展趋势分析:亚太电子商务数字支付将超过3.1万亿美元[图]
- EOS智能合约开发系列(11): 多重签名
- uniapp 侧边选项卡(左右滚动)
- linux系统定时器中断优先级,请教定时器中断与串口中断优先级配置问题
- yjv是电缆还是电线_YJY电缆与YJV电缆区别在哪里
- 以下不是python内置函数的是_python课堂整理16---内置函数
- Yade 安装时编译错误求问
- 如何一眼看出Python中数组是几维的?