`

Android app项目和开发总结

阅读更多

 

关键字 : android app, android develop, android summary

     2010.04 启动该项目到现在完成主要功能模块 , 分享一下开发历程和注意事项。  
    
开发环境 : ubuntu7.10 + eclipse 3.5 + sdk
    
下面是开发总结

  1. 基于源码级的 SDK 以及 SDK 升级注意事项
    • 熟悉其如何做资源国际化
    • 熟悉 其如何支持不同屏幕大小 , 不同 density 介质
    • 熟悉 其主要的 API 以及支持的最低版本和不被再支持的 API
    • 了解其分层架构
    • 升级SDK
      • 确保该平台支持相关的 cglib 版本 ( 否则要升级 ubuntu)
      • 简单容行的方式是remove ~/.android下的相关东西,remove先前的相关版本,再升级
      • 部分Resources(如strings中有%s的)可能需要修改才能适应新的版本
      • 新的sdk里可能不包括老的如2.01版本
  2. Emulator & Mobile
  3. 系统配置项
    • SharedPreferences存储位置及如何在emulator上手动修改
      • 找到存储位置: \data\data\your package dir\shared_prefs\your xml files
      • 按照上面的pull/push the file
    • SQLite(sqlite3)
      • 默认存储位置:\data\data\your package dir\databases\your database name
      • 按照上面的用adb shell 操作emulator做部分database的设计和数据更新
      • 设计版本更新和升级
    • Other File I/O
      • assert下文件读取
      • 文件权限以及读写
    • 解读AndroidManifest.xml
      • application/process标识
      • 最开始启动的activity
      • activity栈的形式(指定taskAffinity&launchMode="singleTask"),而且转向一个新的activity是用intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT)的形式
      • 需要的权限部分
      • 支持的最低版本
  4. 基于 View,Context,Manager 的开发
    • 系统View & Layout(Layout也是View)
      • 用View本身来做其他Layout间的一个分隔
      • 常用的View&Layout: ListView,ScrollView,RelativeLayout,TableLayout
      • 设计常用的style/theme用到的Drawable: http://idunnolol.com/android/drawables.html
      • 常用的图片操作
        • 指定颜色的渲染(setColorFilter)
        • 剪裁
    • 自定义View & Layout
      • public class TouchListView extends ListView {  public TouchListView(Context context, AttributeSet attrs, int defStyle) {
        } } 
        
      • public class Toolbar extends LinearLayout {
            public Toolbar(final Context context) {
        		super(context);
        	}
        	
        	public Toolbar(final Context con, AttributeSet attrs) {
          }
        
        }
         
    • Application,Activity,Service,View,Intent
      • Application,Activity,Service与Context的关系
      • View与Context的关系
      • 用Application来做Activity,Service,View间的全局变量(这比自己用Singleton实现好)
      • 用工厂模式使用Intent
        • 做activity跳转
        • sendBroadcast(实时数据交换可借助Thread+  BroadcastReceiver )
    • WindowManager 、PackageManager 等的使用
  5. 网络 IO
    • java.net
    • android.net
    • org.apache.http
      • 如果没有让他在AsyncTask中操作,则他的TimeOut设置必须少于5秒(为ANR等待时间)
      • java.net.UnknownHostException
  6. 绘图部分
    • 在View上绘图
      • 只在原来View上加边框等
        • @Override
              protected void dispatchDraw(Canvas canvas) {}
          
           
      • 自定义View
        • @Override
          	protected void onDraw(Canvas canvas) {
           
    • 在Bitmap上绘图
      • Bitmap result = Bitmap.createBitmap(48,48, Config.ARGB_8888);  
                 Canvas canvas =  new   Canvas(result);  
        ...
        canvas.drawBitmap(result, rect, rect, paint);
         
  7. 动画
    • 帧动画
      • 控制侦速率在25FPS以让其更流畅
    •  渐变动画
      • 平移
      • 缩放
      • 旋转
      • 透明
  8. ANR
    • 构建消息以及消息循环处理Handler
    • 使用AsyncTask
  9. Exception & UncaughtException
    • 使用UncaughtExceptionHandler
  10. 引入第三方 jar 以及与其他 app 共享数据
    • 通过add user library方式添加第三方jar
    • Content Provider的使用 
  11. 性能优化 / 调优  
分享到:
评论
10 楼 fkpwolf 2011-01-22  
这总结偏向于细节了,流水账
9 楼 crazybull 2011-01-19  
期待详细总结~~~
8 楼 a123456603 2011-01-19  
呵呵,只有目录,期待具体点。。。
7 楼 ak121077313 2011-01-19  
这些初稿能不能别那么初。。。。
6 楼 wzerolai 2011-01-18  
看来我还地多多学习学习了。
5 楼 xhdnf 2011-01-17  
太好了,正是所需要的,看来得先熟悉ubuntu
4 楼 seya 2011-01-17  
这些我都懂、、、
3 楼 jacksv123 2011-01-17  
总结得比较好,希望有更加详细的介绍
2 楼 zhs2472 2011-01-17  
要是能把每一项稍作展开就完美了  期待~
1 楼 mx285545974 2011-01-17  
总结的很好,很全面,学习了。。

相关推荐

    Android_app项目开发步骤总结

    ### Android App项目开发步骤总结 #### 一、应用规划 在进行任何开发工作之前,首先需要明确应用的主要功能。这一步骤非常重要,因为它为整个项目的后续工作设定了基础。 - **确定功能:** 应用的功能是核心,...

    《Android项目开发实训》项目总结报告.pdf

    本文档总结了 Android 项目开发实训的报告,涵盖了项目概述、需求分析、相关技术、概要设计、详细设计和结论等多个方面。 第一章 概述:本章节介绍了项目的背景和需求,旨在设计一个基于 Android 的位置闹钟软件,...

    基于Android平台的记事本软件(Android Studio项目+报告+app文件)

    附带的大作业报告.docx文件应包含项目的详细设计、实现方法、遇到的问题及解决方案,是对整个开发过程的总结和反思。而"记事本项目.zip"文件则包含了整个工程的源代码,可供学习者参考和研究。 总的来说,基于...

    基于Android Studio开发的旅游记录与分享APP源码,Android旅游路线记录与分享APP源码

    这个项目可能是针对Android开发学习者的毕业设计,涵盖了从需求分析、设计、编码到测试的完整开发流程,是检验Android开发技能和理解移动应用开发的一个实际应用场景。 6. **关键技术**: - 数据存储:可能使用...

    android app项目框架总结(思维导图)

    app项目便利开发,总结的项目结构框架图

    安卓项目开发:单词本app

    总结起来,这个“单词本”app项目涵盖了安卓开发的核心知识点,从基本的Android Studio使用到数据库操作,再到用户界面设计和事件处理,都是开发者需要掌握的重要技能。通过这个项目,学习者可以深入了解安卓应用...

    基于Android Studio开发的安卓的记事本app

    总结来说,这个基于Android Studio开发的安卓记事本App融合了多种Android开发技术,如UI设计、用户认证、SQLite数据库操作等,是学习和实践Android开发的优秀案例。对于想要提升Android编程技能的开发者来说,分析和...

    基于Android开发的课程表APP

    总结,这款基于Android的课程表APP涵盖了数据库操作、用户界面设计、身份验证、时间处理、通知机制、数据缓存和测试等多个Android开发关键领域。对于初学者,它是深入理解Android开发体系的好项目,而对于有经验的...

    android studio开发app项目

    本项目将探讨如何使用Android Studio进行APP开发,以及涉及的一些核心组件和布局管理器。 1. **Android Studio入门** Android Studio是Google提供的一款免费的、基于IntelliJ IDEA的开发工具,支持Java、Kotlin和...

    《Android项目开发实训》项目总结报告新.doc编程资料

    《Android项目开发实训》项目总结报告新.doc

    android studio开发app项目.zip

    总结,"android studio开发app项目.zip"提供的资源涵盖了Android Studio项目开发的各个方面,从创建项目到发布应用,再到持续集成和自动化测试,是学习和实践Android应用开发的好材料。通过深入理解和实践这些知识点...

    Android studio仿美团app

    总结来说,仿制美团App的项目涵盖了Android开发中的多个关键知识点:UI设计、数据库操作、网络通信、支付集成以及状态管理。通过实践这样的项目,开发者不仅可以提升自己的Android编程技能,还能对整个移动应用开发...

    金蝶称重app项目_股票平台开发_股票app_金融_股票app开发_uni-app_

    总结,"金蝶称重app项目"通过uni-app的高效开发工具,实现了金融股票应用的跨平台构建,展现了金融与技术融合的可能性。该项目的成功,不仅展示了uni-app在金融领域的应用价值,也为其他开发者提供了宝贵的实践经验...

    Android Studio开发实战:从零基础到App上线及打开工具

    总结来说,"Android Studio开发实战:从零基础到App上线"涵盖了Android开发的全部流程,包括环境配置、项目创建、编程基础、组件使用、UI设计、功能实现、测试调试以及应用发布。通过这个教程,你可以全面了解并掌握...

    Android Studio开发一个计算器APP

    总结来说,"Android Studio开发一个计算器APP"是一个涉及Android编程基础、用户界面设计、事件处理、计算逻辑和应用发布的综合实践项目。通过这个项目,开发者不仅可以掌握Android应用开发的基本流程,还能提升对...

    基于Android的记账APP开发与设计.zip

    总结起来,基于Android的记账APP开发涉及到Android Studio的使用,Android应用的基础架构设计,UI界面的布局和交互实现,以及数据库管理和安全性的考量。通过这些知识的学习和实践,我们可以创建出一款实用且用户...

    android开发总结文档

    ### Android开发总结文档知识点 #### 一、Git基础使用技巧 在进行Android开发时,版本控制工具Git的应用显得尤为重要。Git不仅可以帮助团队有效地管理代码版本,还能提高代码修改的透明度,减少因多人协作带来的...

Global site tag (gtag.js) - Google Analytics