(转自: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学习第十天——项目开始(转)相关推荐

  1. 【android学习之十六】——特色功能1:GoogleMap手机地图

    声明:学习的书籍<Android应用开发揭秘>,这里记录学习该书籍的日志,引用的相关代码与总结描述,没有商业的用途,完全是自我学习的一个记录,刚刚学习不可避免会出现很多问题,若是有错误还请 ...

  2. Gradle学习(二十)——多项目构建详解

    跨项目配置 虽然子项目之间可以完全隔离单独配置,但是子项目直接有相同特征的情况也是很常见的,多个项目共享配置是更好的选择. 配置和执行 在gradle学习-十八-构建的生命周期这一篇中我们已经讲过Gr ...

  3. 黑马程序员Android学习笔记——金山卫士项目——第二天

    这几天学习了第二天的内容, 项目源代码:http://download.csdn.net/detail/itjavawfc/8241695 主要收获了: 1)自定义属性:一般用在组合控件中 2)自定义 ...

  4. 黑马程序员Android学习笔记——金山卫士项目——第四天

    主要学习内容: 1)号码归属地查询UI设计 2)号码归属地查询的原理 3)号码归属地查询的代码实现 5)输入框抖动和震动效果 6)来电.去电号码归属地的显示 7)代码注册广播接受者的实现 8)自定义吐 ...

  5. 黑马程序员Android学习笔记——金山卫士项目——第三天

    学习了,一定要总结,学习贵在永恒贵在用心. 学习内容: 1.绑定sim卡 2.检查手机是否更换sim卡 3.读取手机联系人 4.手机防盗原理 5.短信指令的广播 6.播放报警音乐 7.三种获取手机位置 ...

  6. android 学习随笔十二(网络:使用异步HttpClient框架)

    使用异步HttpClient框架发送get.post请求 在https://github.com/  搜索 asyn-http https://github.com/search?utf8=✓& ...

  7. android 学习随笔十六(广播 )

    1.广播接收者 BroadcastReceiver 接收系统发出的广播 现实中的广播:电台为了传达一些消息,而发送的广播,通过广播携带要传达的消息,群众只要买一个收音机,就可以收到广播了  Andro ...

  8. ballerina 学习二十六 项目docker 部署 运行(二)

    ballerina 从发布,到现在官方文档的更新也是很给力的,同时也有好多改进,越来越好用了 可以参考官方文档 https://ballerina.io/learn/by-guide/restful- ...

  9. 好记性不如烂笔杆-android学习笔记十四 EditText 画行,解决光标压线问题

    这个问题我在网上看来很多方法,有些看得似懂非懂的,后来自己采用一种比较投机的方法,居然可行,呵呵,拿出来跟大家分享一下. 其实就是把画的线向下偏移一定高度,当然针对不同分辨率,这个值也就不同: (因为 ...

最新文章

  1. oracle 多条执行语句同时执行
  2. 分析死锁并处理_整理贴
  3. CPU的基本结构和功能
  4. 记-crontab定时任务
  5. C语言 linux环境基于socket的简易即时通信程序
  6. 64位指针膨胀 java_64位JVM带来的问题及解决方案
  7. 本地计算机上的MSSQLSERVER服务启动后又停止了。一些服务自动停止,如果它们没有什么可做的,例如“性能日志和警报“服务。...
  8. 如何使用API爬取数据,它和网页爬虫有什么区别?
  9. python王者战斗_把英雄分类,看 Python 带你上王者
  10. mysql 表继承_如何在数据库中表示继承?
  11. 将接近传感器和环境光传感器封装在一起的优点
  12. php记录访问者ip和次数,一个能对访问者进行编号、记录访问次数、IP、时间的统计制作实例...
  13. 2021年全球支付现状及发展趋势分析:亚太电子商务数字支付将超过3.1万亿美元[图]
  14. EOS智能合约开发系列(11): 多重签名
  15. uniapp 侧边选项卡(左右滚动)
  16. linux系统定时器中断优先级,请教定时器中断与串口中断优先级配置问题
  17. yjv是电缆还是电线_YJY电缆与YJV电缆区别在哪里
  18. 以下不是python内置函数的是_python课堂整理16---内置函数
  19. Yade 安装时编译错误求问
  20. 如何一眼看出Python中数组是几维的?

热门文章

  1. vmware esxi 5.1 开启嵌套虚拟化
  2. 《敏捷时代》作者访谈录
  3. Microsoft Azure Site Recovery (1) 安装VMM服务器代理
  4. PHP convet class to json data
  5. SpringBoot开发案例之整合Dubbo提供者(二)
  6. 【Python】*args 和 **kwargs的用法
  7. 带你了解超大规模数据中心究竟有何不同?
  8. jboss的几个常用操作
  9. VeriSign SSL证书apache安装
  10. ipqc异常处理流程图_产线异常处理流程