设为首页 收藏本站
查看: 1005|回复: 0

[经验分享] k哥的android开发笔记(更新至2012.05.03)

[复制链接]

尚未签到

发表于 2016-5-24 08:13:24 | 显示全部楼层 |阅读模式
  作者: k歌之王  
  


android作为最火热的手机开发平台, k哥怎么会错过呢。 android确实带来了许多不一样的开发体验。  我会不断更新这篇笔记, 跟大家一起学习:)


1) 开始搭建环境之前, 先把\android-sdk-windows\temp目录删除。
2) 如果你使用的android 2.2,  使用adb命令行会报错, 请把platform-tools下的文件复制到了tools下面
3) 由于ANDROID模拟器基于ARM指令集架构, apk可在真机运行, 就可以跑在模拟器上。 步骤:打开模拟器>>进入android sdk tools目录 >>adb install f:\TTPOD.apk   半分钟后提示安装成功, 就可以在模拟器玩天天动听啦。
4) 关于调试程序, 如果以前用carbide做过symbian开发, 对eclipse的调试流程会比较熟悉。当然仅限于sdk.  据说ndk调试很麻烦~~
5) eclipse点击layout\mail.xml 退出。 确认环境变量JAVA_HOME路径。 升级java版本到1.6即可。 (命令行输出java -version查看当前java版本)
6) 有多个activity, 调用顺序由AndroidManifest.xml决定
7) 如果使用了findViewById来获得控件对象, 需要在布局文件里指定控件资源的ID
8) Android UI操作必须在UI线程里。 所以android最常用的更新屏幕的方法是利用Handler来实现UI线程的更新。 (和symbian类似)。 也可以使用postInvalidate方法直接在线程里更新界面。
9) android提供 VIEW, Surfaceview类作为MVC视图类的基类的开发框架。 SurfaceView相比View,刷屏效率更高,使用双缓冲来显示,SurfaceView提供给需要直接画像素而不是使用窗体部件的应用来使用的。 SurfaceView和View的明显不同在于, SurfaceView不需要通过线程来更新视图。 更新方法是先lock画布,得到画布,在画布绘制,再unlock画布。
10) android数据存储有4种方式:
   - Shared Preferences: 只存储基本数据类型如boolean。 只供本程序使用。
  - Files: 通过FileInputStream和FileOutputStream对文件操作。 一个程序无法读写其他程序的文件。
  - Network:
  - SQLite: 针对大量数据进行存储维护


11) 和symbian需要声明程序涉及的capability类似, android程序需要在AndroidManifest.xml文件给予权限。 例如程序需要访问外部网络:代码如下:
    <uses-permission android:name"android.permission.INTERNET" />
12) 使用NDK, 每次build前先clean. 生成.so后把project也clean再build。 不然经常有意想不到的问题。
13)  admob最新sdk只能用android 3.2 SDK. 相应的也要升级eclipse到3.6(helios),ADT也要升级。 通过manifest里设定minSdkVersion=8保证程序兼容android 2.2
14)  proguard用来混淆和精简JAVA代码。 我的程序从720K精简至416K,效果明显
15) AudioTrack类: 音频播放类, 支持将pcm buffer数据交给硬件播放(也只支持PCM, amr,aac,mp3等其他格式只能自己软解)。
分static和stream两种mode。前者适用于小文件一次性交给硬件播放, 后者是一个个chunk给硬件播放(流式的).
16) 在android 2.2之后, 读写SD卡要增加权限 android.permission.WRITE_EXTERNAL_STORAGE
17) HTTP下载最好用HttpURLConnection接口(尤其在EDGE环境下), 这是GOOGLE持续在改善和优化的API,。 而HttpClient在android2.3及以上版本则不被GOOGLE推荐使用。
  




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-220851-1-1.html 上篇帖子: haproxy windows环境使用 下篇帖子: 《Windows核心编程系列》十一谈谈Windows线程池
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表