求用android做一个音乐播放器的代码
展开全部 代码太长。
。
给出部分代码,具体的 看附件 ,可以直接导入运行 /** * 上一首 */ public void pree(){ int n_index = currIndex; n_index--; if(filelist == null){ return; } if (n_index = filelist.length) { n_index = 0; } n_index = (int) (System.currentTimeMillis() % filelist.length); currIndex = n_index; play(filelist[n_index].getPath()); } public void setLiveView(String path) { filelist = getList(path); String[] data = new String[filelist.length]; for (int i = 0; i (this, android.R.layout.simple_list_item_1, data)); // 添加点击 lv_list.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView arg0, View v, int arg2, long arg3) { setTitle(filelist[arg2].getName()); currIndex = arg2; play(filelist[arg2].getPath()); } }); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (FILE_RESULT_CODE == requestCode) { Bundle bundle = null; if (data != null && (bundle = data.getExtras()) != null) { // bundle.getString("file"); // setTitle(bundle.getString("file")); setLiveView(bundle.getString("file")); } } } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } public File[] getList(String filepath) { File file = new File(filepath); File[] filelist = file.listFiles(); return filelist; } public void play(String filepath) { mediaPlayer.reset(); if (mediaPlayer.isPlaying()) { mediaPlayer.reset();// 重置为初始状态 } try { mediaPlayer.setDataSource(filepath);// "/storage/extSdCard/My Music" } catch (IllegalArgumentException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (SecurityException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IllegalStateException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } try { mediaPlayer.prepare(); } catch (IllegalStateException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } // mediaPlayer.release(); mediaPlayer.start();// 开始或恢复播放 bt_zan.setText("开始"); isstop = false; // mediaPlayer.pause();//暂停播放 // mediaPlayer.start();//恢复播放 // mediaPlayer.stop();//停止播放 // mediaPlayer.release();//释放资源 mediaPlayer .setOnCompletionListener(new MediaPlayer.OnCompletionListener() {// 播出完毕事件 @Override public void onCompletion(MediaPlayer arg0) {// mediaPlayer.release(); if(mode == 1){ // 顺序播放 next(); } else if(mode == 2){ //随机播放// double ran = Math.random();// filelist.length;// ran = ran * filelist.length;// int ran = Time.SECOND % filelist.length; next(); } else{ next(); } } }); mediaPlayer.setOnErrorListener(new MediaPlayer.OnErrorListener() {// 错误处理事件 @Override public boolean onError(MediaPlayer player, int arg1, int arg2) { mediaPlayer.release(); return false; } }); }
android系统是开源去哪里下载源代码??
他这不是编程原代码对外公开,而是系统外部接口对外公开,简单说,开源就好比是,英特尔生产一个CPU 然后告诉你所有的脚都是干吗用的,这个告诉你干吗用的就等于是安桌的开源了, 你知道CPU那些脚干吗用的后,然后再根据这些脚的功能生产主板,针对这些脚所生产出来的主板就好比那些为因安桌开源后,别人针对安桌所编写出来的软件了,
android的apk文件中并没有源码那在软件安装后为什么还能用
集成apk时把源码集成进去了。
可以反编译出来。
反编译步骤1、把 class.dex 拷贝到 dex2jar.bat 所在目录,直接拖动 class.dex 到 dex2jar.bat,生成 classes.dex.dex2jar.jar。
2、用 rar 解压出 jar 文件中的 class 文件,然后 用jad 或 DJ Java Decompiler 反编译工具将 .class 文件反编译成 .java 文件3、运行 JD-GUI工具(绿色软件),打开上面的 jar 文件,在File下有个 Save JAR Source,它可以生成 src 源代码。
需要一套android打车软件的源码(可现金购买)
建议最好直接说 你可接受的价格范围比如1万两万?还是三万五万 十万八万或者 三五十万...你的范围定好了有码的 有兴趣的才会找你这为你好 也为技术员好避免你啥也不说 那些半成品都跑去找你也防止人家有完善产品的 结果联系你半天 却说只给三百块避免大家不必要的尴尬是不是
android (安卓)是完全开源的吗?
Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。
1. Android是一种Linux内核的手机操作系统。
Google希望,这会吸引来第三方软件开发者,建立起一个大规模的开发者社区。
2. Linux内核的许可证,是自由软件基金会的GPL许可证第二版。
但是,"开放手机联盟"的主要代码,却是Apache许可证(ASL)第二版。
3. ASL许可证被开源软件广泛使用,并且得到了"开放源码促进会"(Open Source Initiative)的认可。
它是一种不设限的许可证(permissive license),允许软件的商业性开发和垄断式发布。
以ASL发布的代码,可以被合并入闭源的专有软件(proprietary product),并且在各种各样的限制性条件下发布。
4. 与ASL不同,GPL则是一种Copyleft许可证。
它对代码的发布做出了限制,规定所有对源码的修改和衍生,都必须公开,并且以相似的许可证发布。
5. 许多软件公司更愿意采用不设限的许可证(比如ASL和BSD),因为这使得它们既可以使用开源软件,又不用向开源社区公开对软件所做的修改。
所以,ASL和BSD鼓励了开源软件的商业性使用,使得软件公司愿意对开源软件投资,因为这些公司可以从中获利。
这种在开源基础上吸引商业投资的潜力,很可能是Google为自己的手机平台选择ASL许可证的最大原因。
将Android置于ASL之下,可以确保许多商业性公司会接受这个平台,并且在它上面使用自己的专有技术。
6. 虽然ASL确实是保证Android获得支持的最好方法,但是批评者认为,Google这样做的代价,是丧失了创造一个更开放的手机软件平台的机会。
如果Android的许可证是GPLv2,那么在它上面做开发的那些公司,将不得不公开对系统所做的改进,理论上就会导致代码被更广泛地分享,因而手机软件的开发也会更快速地进步。
7. 另一些人不同意这种看法。
他们认为如果Android选择copyleft许可证,会使商业性公司不愿意介入开发,从而使系统本身的发展困难重重。
如果那些公司没有办法保护自己的专有技术不公开,那么即使它们愿意采用Android平台,也必须急剧地改变经营模式,而这是有风险的。
8. 有一点是不能忽视的,那就是只有Android的userspace部分是ASL许可证。
系统的内核依然是GPLv2许可证。
而运行在系统上方的第三方软件,可以用任何许可证发布,包括商业性许可证和copyleft许可证。
9. 还有一点也很重要,那就是虽然ASL与GPLv2不兼容,但是它与GPLv3完全兼容。
这意味着,在ASL下发布的代码,可以被用于GPLv3许可证的软件。
因此,程序员可以选择将Android程序在GPLv3下发布,这样就能保证他们作品的进一步开发,将始终是开源的。
大牛们是怎么阅读 Android 系统源码的
展开全部 由于工作需要大量修改framework代码, 在AOSP(Android Open Source Project)源码上花费了不少功夫, Application端和Services端都看和改了不少,如果只是想看看一些常用类的实现, 在Android包管理器里把源码下载下来, 随便一个IDE配好Source Code的path看就行. 但如果想深入的了解Android系统, 那么可以看下一些简单的总结: 知识 JavaJava 是AOSP的主要语言之一. 没得说, 必需熟练掌握,熟练的Android App开发Linux Android基于Linux的, 并且AOSP的推荐编译环境是Ubuntu 12.04. 所以熟练的使用并了解Linux这个系统是必不可少的. 如果你想了解偏底层的代码, 那么必需了解基本的Linux环境下的程序开发. 如果再深入到驱动层, 那么Kernel相关的知识也要具备.Make AOSP使用Make系统进行编译. 了解基本的Makefile编写会让你更清晰了解AOSP这个庞大的项目是如何构建起来的.Git AOSP使用git+repo进行源码管理. 这应该是程序员必备技能吧.C++ Android系统的一些性能敏感模块及第三方库是用C++实现的, 比如: Input系统, Chromium项目(WebView的底层实现).2.硬件流畅的国际网络 AOSP代码下载需要你拥有一个流畅的国际网络. 如果在下载代码这一步就失去耐心的话, 那你肯定没有耐心去看那乱糟糟的AOSP代码. 另外, 好程序员应该都会需要一个流畅的Google.一台运行Ubuntu 12.04的PC 如果只是阅读源码而不做太多修改的话, 其实不需要太高的配置.一台Nexus设备 AOSP项目默认只支持Nexus系列设备. 没有也没关系, 你依然可以读代码. 但如果你想在大牛之路走的更远, 还是改改代码, 然后刷机调试看看吧.高品质USB线 要刷机时线坏了, 没有更窝心的事儿了.3. 软件 Ubuntu 12.04 官方推荐, 没得选.Oracle Java 1.6 注意不要用OpenJDK. 这是个坑, 官方文档虽然有写, 但还是单独提一下.Eclipse 估计会有不少人吐槽, 为什么要用这个老古董. 其实原因很简单, 合适. 刚开始搞AOSP时, 为了找到效率最优的工具, 我尝试过Eclipse, IntelliJ IDEA, Vim+Ctags, Sublime Text+Ctags. 最终结果还是EclipseIntellij IDEA android studio
转载请注明出处51数据库 » android 唱歌软件源码