Android开发权威指南

Android开发权威指南
Android开发权威指南

《Android开发权威指南》内容上涵盖了用最新的Android版本开发的大部分场景。全书分4个部分,分别从Android基础介绍、环境搭建、SDK介绍,到应用剖析、组件介绍、综合实例演示,以及符合潮流的、最新的移动开发技术,如HTML5、OpenGL ES、NDK 编程、Android测试驱动开发等几个方面讲述。从技术实现上,讲解了6大完整综合案例及源代码分析,分别是新浪微博客户端、蓝牙聊天、全键盘输入法、月球登陆(游戏)、贪吃蛇(游戏)、笑脸连连看(游戏)。

《Android开发权威指南》注重对实际动手能力的指导,在遵循技术研发知识体系严密性的同时,在容易产生错误、不易理解的环节上配备了翔实的开发情景截图;并将重要的知识点和开发技巧以“多学一招”、“扩展学习”、“技巧点拨”等的活泼形式呈现给读者。在程序实例的讲解方面,主要将实例安插在Android开发的精髓知识章节,这为读者学习与实践结合提供了很好的指导。

《Android开发权威指南》配套光盘包含开发视频及全部源程序,指导读者快速、无障碍地学通Android实战开发技术。

《Android开发权威指南》适合具备一定软件开发经验、想快速进入Android开发领域的程序员,具备一些手机开发经验的开发者和Android开发爱好者学习使用;也适合作为相关培训学校的Android培训教材。

图书目录编辑

第一部分准备篇

第1章初识庐山真面目——Android开发简介 2

1.1Android的基本概念 2

1.1.1Android简介 2

1.1.2Android的版本 4

1.1.3Android的系统构架 5

1.1.4Android的应用程序框架 6

1.2JIL Widget介绍7

1.3小结8

第2章工欲善其事,必先利其器——搭建和使用Android开发环境9

2.1开发包及工具的安装9

2.1.1开发Android程序都需要些什么9

2.1.2安装JDK和配置Java开发环境10

2.1.3Eclipse的安装与汉化11

2.1.4安装AndroidSDK12

2.1.5安装Eclipse插件ADT13

2.2真实体验——编写第一个Android程序(随机绘制圆饼)15

2.2.1创建Android工程15

2.2.2在模拟器中运行Android程序17

2.2.3界面控件的布局19

2.2.4编写代码20

2.2.5调试程序23

2.2.6在手机上运行和调试程序28

2.3迁移Android工程可能发生的错误29

2.4不需要写一行代码的开发工具:AppInventor31

2.4.1AppInventor简介31

2.4.2AppIntentor的下载和安装31

2.4.3用拖曳控件的方式设计界面33

2.4.4像拼图一样拼装代码34

2.5小结37

第二部分基础篇

第3章千里之行始于足下——Android程序设计基础40 3.1Android应用程序框架40

3.1.1Android项目的目录结构40

3.1.2AndroidManifest.xml文件的结构42

3.2Android应用程序中的资源44

3.3Android的应用程序组件44

3.3.1Activity(Android的窗体)45

3.3.2Service(服务)45

3.3.3Broadcast Receiver(广播接收器)45

3.3.4Content Provider(内容提供者)46

3.4Android程序的UI设计46

3.4.1手工配置XML布局文件46

3.4.2ADT自带的可视化UI设计器47

3.4.3使用DroidDraw设计UI布局47

3.5小结48

第4章我的UI我做主——用户界面开发基础49

4.1Activity的使用方法49

4.1.1创建Activity49

4.1.2配置Activity50

4.1.3显示其他的Activity(Intent与Activity)52

4.2Activity的生命周期55

4.3在不同Activity之间传递数据60

4.3.1使用Intent传递数据60

4.3.2使用静态变量传递数据62

4.3.3使用剪切板传递数据63

4.3.4使用全局对象传递数据65

4.3.5返回数据到前一个Activity67

4.4视图(View)68

4.4.1视图简介68

4.4.2使用XML布局文件定义视图69

4.4.3在代码中控制视图70

4.5布局(Layout)72

4.5.1框架布局(FrameLayout)72

4.5.2线性布局(LinearLayout)75

4.5.3相对布局(RelativeLayout)79

4.5.4表格布局(TableLayout)81

4.5.5绝对布局(AbsoluteLayout)82

4.5.6重用XML布局文件82

4.5.7优化XML布局文件85

4.5.8查看apk文件中的布局86

4.6小结87

第5章良好的学习开端——控件(Widget)详解88

5.1常用XML属性解析88

5.1.1android:id属性88

5.1.2控件的宽度(android:layout_width)和高度(android:layout_height)88

5.1.3android:layout_margin属性89

5.1.4android:padding属性89

5.1.5android:layout_weight属性90

5.1.6android:layout_gravity和android:gravity属性90

5.1.7android:visibility属性91

5.1.8android:background属性91

5.1.9指定单击事件方法(android:onClick属性)92

5.1.10控件焦点属性(android:focusable和android:focusable-InTouchMode)92 5.2TextView(显示文本的控件)93

5.2.1显示富文本(URL、不同大小、字体、颜色的文本)93

5.2.2在TextView中显示表情图像和文字97

5.2.3单击链接弹出Activity100

5.2.4为指定文本添加背景103

5.2.5带边框的TextView106

5.2.6设置行间距110

5.2.7在未显示完的文本后面加省略号(…)111

5.2.8用TextView实现走马灯效果113

5.2.9垂直滚动TextView中的文本114

5.3EditText(编辑文本的控件)115

5.3.1像QQ一样输入表情图像115

5.3.2在EditText中输入特定的字符117

5.3.3AutoCompleteText-View(自动完成输入内容的控件)118

5.4按钮和复选框控件120

5.4.1Button(普通按钮控件)120

5.4.2图文混排的按钮122

5.4.3ImageButton(图像按钮控件)124

5.4.4RadioButton(选项按钮控件)124

5.4.5ToggleButton(开关状态按钮控件)125

5.4.6CheckBox(复选框控件)126

5.5ImageView(显示图像的控件)128

5.5.1ImageView控件的基本用法128

5.5.2显示指定区域的图像129

5.5.3缩放和旋转图像132

5.6时间与日期控件133

5.6.1DatePicker(输入日期的控件)133

5.6.2TimePicker(输入时间的控件)134

5.6.3DatePicker、TimePicker与TextView同步显示日期和时间134 5.6.4AnalogClock和DigitalClock(显示时钟的控件)136

5.7进度条控件137

5.7.1ProgressBar(进度条控件)137

5.7.2SeekBar(拖动条控件)139

5.7.3设置ProgressBar和SeekBar的颜色及背景图140

5.7.4RatingBar(评分控件)143

5.8列表控件145

5.8.1ListView(普通列表控件)145

5.8.2为ListView列表项添加复选框和选项按钮147

5.8.3对列表项进行增、删、改操作149

5.8.4改变列表项的背景色153

5.8.5ListActivity(封装ListView的Activity)154

5.8.6ExpandableListView(可扩展的列表控件)155

5.8.7Spinner(下拉列表控件)157

5.9滚动控件160

5.9.1ScrollView(垂直滚动控件)160

5.9.2HorizontalScrollView(水平滚动控件)161

5.9.3可垂直和水平滚动的视图162

5.9.4Gallery(画廊控件)163

5.10ImageSwitcher(图像切换控件)164

5.11GridView(网格控件)166

5.12TabHost(标签控件)168

5.13ViewStub(惰性装载控件)169

5.14小结171

第6章友好的菜单——Menu介绍与实例172

6.1菜单的基本用法172

6.1.1创建选项菜单(Options Menu)172

6.1.2带图像的选项菜单173

6.1.3关联Activity173

6.1.4响应菜单的单击动作174

6.1.5动态添加、修改和删除选项菜单175

6.1.6带复选框和选项按钮的子菜单176

6.1.7上下文菜单178

6.1.8菜单事件179

6.1.9从菜单资源中装载菜单180

6.2菜单特效181

6.2.1自定义菜单181

6.2.2模拟UCWeb效果菜单184

6.2.3QuickContactBadge与联系人菜单189

6.3小结192

第7章友好地互动交流——信息提醒(对话框、Toast与Notification)193 7.1对话框的基本用法193

7.1.1带2个按钮(确认/取消)的对话框193

7.1.2带3个按钮(覆盖/忽略/取消)的对话框195

7.1.3简单列表对话框196

7.1.4单选列表对话框198

7.1.5多选列表对话框199

7.1.6进度对话框201

7.1.7登录对话框205

7.1.8使用Activity托管对话框207

7.2对话框的高级应用209

7.2.1阻止单击按钮关闭对话框209

7.2.2改变对话框的显示位置213

7.2.3在对话框按钮和内容文本中插入图像215

7.2.4改变对话框的透明度216

7.3Toast217

7.3.1Toast的基本用法217

7.3.2永不关闭的Toast218

7.3.3用PopupWindow模拟Toast提示信息框221

7.4通知(Notification)221

7.4.1在状态栏上显示通知信息222

7.4.2Notification的清除动作224

7.4.3永久存在的Notification225

7.4.4自定义Notification226

7.5小结227

第8章移动的信息仓库——数据存储228

8.1读写key-value对:SharedPreferences228

8.1.1SharedPreferences的基本用法228

8.1.2数据的存储位置和格式229

8.1.3存取复杂类型的数据230

8.1.4设置数据文件的访问权限233

8.1.5可以保存设置的Activity:PreferenceActivity234 8.2文件存储238

8.2.1openFileOutput和openFileInput方法238

8.2.2读写SD卡中的文件239

8.2.3SAX引擎读取XML文件的原理241

8.2.4将XML文件转换成Java对象242

8.2.5文件压缩(Jar、Zip)245

8.3SQLite数据库249

8.3.1SQLite数据库管理工具249

8.3.2SQLiteOpenHelper类与自动升级数据库251

8.3.3数据绑定与SimpleCursorAdapter类252

8.3.4操作SD卡上的数据库255

8.3.5将数据库与应用程序一起发布256

8.3.6内存数据库257

8.4小结258

第9章Android中的窗口——Activity259

9.1调用其他程序中的Activity259

9.1.1直接拨号259

9.1.2将电话号传入拨号程序259

9.1.3调用拨号程序260

9.1.4浏览网页261

9.1.5向E-mail客户端传递E-mail地址261

9.1.6发送E-mail261

9.1.7查看联系人262

9.1.8显示系统设置界面(设置主界面、Wifi设置界面)263 9.1.9启动处理音频的程序264

9.2自定义Activity Action264

9.3Activity的高级应用266

9.3.1ActivityGroup266

9.3.2自定义半透明窗口268

9.3.3Activity之间切换的动画效果269

9.4小结270

第10章全局事件——广播(Broadcast)271

10.1什么是广播271

10.2接收系统广播272

10.2.1短信拦截272

10.2.2用代码注册广播接收器274

10.2.3广播接收器的优先级275

10.2.4来去电拦截276

10.2.5截获屏幕休眠与唤醒280

10.2.6开机自动运行281

10.2.7显示手机电池的当前电量282

10.3发送广播284

10.4验证广播接收器是否注册285

10.5小结286

第11章跨应用数据源——Content Provider287 11.1Content Provider的作用287

11.2获得系统数据288

11.2.1读取联系人信息288

11.2.2查看收到的短信290

11.3自定义Content Provider291

11.3.1查询城市信息291

11.3.2为Content Provider添加访问权限297

11.4小结298

第12章一切为用户服务——Service基础与实例299 12.1Service基础299

12.1.1Service的生命周期299

12.1.2绑定Activity和Service302

12.1.3开机启动Service305

12.1.4判断Service是否已注册306

12.1.5判断Service是否已开始307

12.2跨进程访问(AIDL服务)308

12.2.1什么是AIDL服务308

12.2.2建立AIDL服务的步骤308

12.2.3建立AIDL服务308

12.2.4传递复杂数据的AIDL服务312

12.2.5AIDL与来去电自动挂断317

12.3小结319

第13章做好应用桥梁——网络与通信320

13.1WebView控件320

13.1.1用WebView控件浏览网页320

13.1.2用WebView控件装载HTML代码322 13.2访问HTTP资源324

13.2.1提交HTTP GET和HTTP POST请求324 13.2.2HttpURLConnection类326

13.2.3上传文件327

13.3客户端Socket330

13.3.1连接服务器331

13.3.2扫描服务器打开的端口331

13.3.3发送和接收数据333

13.3.4获得无线路由分配给手机的IP地址334 13.3.5设置Socket选项335

13.4服务端Socket339

13.4.1手机服务器的实现339

13.4.2利用Socket在应用程序之间通信340 13.5蓝牙通信342

13.5.1蓝牙简介342

13.5.2打开和关闭蓝牙设备343

13.5.3搜索蓝牙设备344

13.5.4蓝牙数据传输346

13.6小结351

第14章炫酷你的应用——多媒体开发352

14.1音乐352

14.1.1播放音乐352

14.1.2录音353

14.2视频354

14.2.1使用VideoView播放视频354

14.2.2使用SurfaceView播放视频355

14.2.3录制视频357

14.3相机357

14.3.1调用系统的拍照功能358

14.3.2自定义拍照功能359

14.4铃声364

14.5小结366

第15章2D游戏开发367

15.1绘制游戏的画布367

15.1.1在View上实现动画效果367

15.1.2在SurfaceView上实现动画效果371 15.2图形绘制基础374

15.2.1绘制像素点374

15.2.2绘制直线374

15.2.3绘制圆形375

15.2.4绘制弧375

15.2.5绘制文本376

15.2.6综合绘制各种图形376

15.3高级图像处理技术380

15.3.1绘制位图380

15.3.2图像的透明度382

15.3.3旋转图像383

15.3.4路径384

15.3.5Shader的渲染效果388

15.4帧(Frame)动画392

15.4.1AnimationDrawable与帧动画392 15.4.2播放Gif动画394

15.5补间(Tween)动画397

15.5.1移动补间动画397

15.5.2缩放补间动画399

15.5.3旋转补间动画402

15.5.4透明度补间动画403

15.6小结404

第16章有趣的Android应用405

16.1传感器405

16.1.1如何使用传感器405

16.1.2加速度传感器(Accelerometer)409 16.1.3重力传感器(Gravity)409

16.1.4光线传感器(Light)410

16.1.5陀螺仪传感器(Gyroscope)411

16.1.6方向传感器(Orientation)411

16.1.7其他传感器412

16.2输入输出技术413

16.2.1语音识别413

16.2.2手势输入415

16.2.3语音朗读(TTS)417

16.3Google地图419

16.4GPS定位423

16.5桌面上的小东西425

16.5.1窗口小部件(AppWidget)425 16.5.2快捷方式431

16.5.3实时文件夹433

16.6应用更华丽——动态壁纸435 16.7小结441

第三部分高级篇

第17章HTML5与移动Web开发444 17.1HTML5简介444

17.2HTML5精彩效果演示445

17.3HTML5在Android中的应用447 17.4HTML5的画布(Canvas)448

17.4.1Canvas概述448

17.4.2检测浏览器是否支持Canvas449 17.4.3在Web页面中使用Canvas450 17.4.4使用路径(Path)452

17.4.5设置线条风格453

17.4.6设置填充类型453

17.4.7填充矩形区域454

17.4.8使用渐变色(Gradient)454

17.4.9拉伸画布对象455

17.4.10在Canvas上绘制文本456 17.4.11使用阴影457

17.5调试JavaScript458

17.6小结459

第18章输入法开发460

18.1Android输入法简介460

18.2控制输入法461

18.3输入法实战462

18.3.1实现输入法的步骤463

18.3.2编写输入法程序463

18.3.3输入法服务的生命周期466

18.3.4预输入文本467

18.3.5输入法设置467

第19章Android OpenGL ES开发基础469

19.1OpenGL简介469

19.2什么是OpenGL ES469

19.3多边形470

19.4颜色474

19.5旋转三角形475

19.6旋转立方体477

19.7小结478

第20章OpenGL ES的超酷效果479

20.1保持平衡的旋转文本479

20.2左右摇摆的Android机器人482

20.3纠缠在一起的旋转立方体485

20.4透明背景的旋转立方体486

20.5触摸旋转的立方体487

20.62D和3D的综合旋转效果489

20.7旋转立体天空491

20.8小结493

第21章Android NDK编程494

21.1Android NDK简介494

21.2安装、配置和测试NDK开发环境495

21.2.1系统和软件要求495

21.2.2下载和安装Android NDK495

21.2.3下载和安装Cygwin495

21.2.4配置Android NDK的开发环境498

21.3第一个NDK程序:世界你好499

21.3.1编写和调用NDK程序499

21.3.2用命令行方式编译NDK程序501

21.3.3在Eclipse中集成Android NDK502

21.4背景不断变化的三角形(NDK 版OpenGL ES)504

21.5使用NDK OpenGL ES API实现千变万化的3D效果507 21.6使用NDK调用音频API510

21.7本地Activity(Native Activity)511

21.8Android NDK配置文件详解513

21.8.1Android NDK定义的变量513

21.8.2Android NDK定义的函数514

21.8.3描述模块的变量515

21.8.4配置Application mk文件516

第22章测试驱动开发(TDD)517

22.1JUnit测试框架517

22.2测试Activity517

22.3测试Content Provider521

22.4测试Service523

22.5测试普通类523

22.6小结525

第四部分综合实例篇

第23章Android综合案例一——蓝牙聊天528

23.1蓝牙聊天主界面528

23.2添加选项菜单530

23.3搜索和连接蓝牙设备530

23.4使设备可被其他蓝牙设备发现533

23.5发送和接收聊天信息533

23.6小结537

第24章Android综合案例二——月球登陆(游戏)538

24.1游戏的玩法538

24.2实现游戏界面539

24.3设置游戏难度540

24.4开始游戏541

24.5控制飞船喷火544

24.6控制飞船改变飞行方向544

24.7判断飞船是否成功着陆545

24.8小结546

第25章Android综合案例三——全键盘输入法(应用)547 25.1安装输入法547

25.2输入法的初始化工作548

25.3响应键盘操作549

25.4根据EditText控件的属性显示不同的软键盘551

25.5小结553

第26章Android综合案例四——贪吃蛇(游戏)554

26.1游戏玩法554

26.2游戏主界面设计555

26.3控制小蛇的移动557

26.4小结560

第27章Android综合案例五——新浪微博客户端(应用)561 27.1新浪微博简介561

27.1.1新浪微博客户端561

27.1.2新浪微博开放API563

27.2使用新浪微博开发API563

27.3创建和配置新浪微博客户端工程564

27.4登录新浪微博564

27.5功能按钮567

27.6显示“我的首页”的微博569

27.7评论微博572

27.8转发微博573

27.9写微博574

27.10小结576

第28章Android综合案例六——笑脸连连看(游戏)577 28.1游戏玩法577

28.2准备图像素材578

28.3实现主界面578

28.4随机生成连连看图像580

28.5选中两个相同图像后消失580

28.6用定时器限制游戏时间581

28.7小结582

一看就懂的Android APP开发入门教程

工作中有做过手机App项目,前端和android或ios程序员配合完成整个项目的开发,开发过程中与ios程序配合基本没什么问题,而android各种机子和rom的问题很多,这也让我产生了学习android和ios程序开发的兴趣。于是凌晨一点睡不着写了第一个android程序HelloAndroid,po出来分享给其他也想学习android开发的朋友,这么傻瓜的Android开发入门文章,有一点开发基础的应该都能看懂。 一、准备工作 主要以我自己的开发环境为例,下载安装JDK和Android SDK,假如你没有现成的IDE,你可以直接下载SDK完整包,里面包含了Eclipse,如果有IDE那么你可以滚动到下面选择U SE AN EXISTING IDE,然后安装SDK,如果你的SDK在安装时找不到JDK目录,你可以在系统环境变量里添加JAVA_HOME变量,路径为你的JDK目录,我的IDE是IntelliJ IDEA,都装好以后开始配置IDE增加SDK支持。 首先,打开Android SDK Manager把Android 4.0以上版本的未安装的都打勾装上,根据你个人实际情况,如果你只打算用自己的手机测试,那就把你机子系统一样版本的SDK包装上,下载时间有点长。

然后打开IDE创建新项目,IDEA比较智能,如果你装好了SDK,新建项目里就会出现Andro id的Application Module,选择后右边Project SDK为空,点击New按钮,找到SDK目录确定,下拉列表就会列出已经安装的各个版本的SDK,选择自己需要的版本,如果是第一次设置,IDE会提醒你先设置JDK,根据提示找到JDK目录即可。

A20_Android开发手册_V1[1].0

C o n f i d e n t i a l A20Android 开发手册 V 1.0 2013-02013-03 3-15

C o n f i d e n t i a l Revision History Version Date Section/Page Changes 1.0 2013-03-15 初始版本

C o n f i d e n t i a l 目录 一、A20概述 (4) 1.1A20主控介绍.....................................................................................................................51.2外围设备介绍.....................................................................................................................51.3软件资源介绍.....................................................................................................................5二、建立开发环境. (5) 2.1硬件资源............................................................................................................................62.2软件资源. (6) 2.2.1安装JDK (ubuntu12.04).....................................................................................62.2.2安装平台支持软件(ubuntu12.04).....................................................................62.2.3安装编译工具链(ubuntu12.04).........................................................................62.2.4安装phoenixSuit (windows xp )........................................................................72.2.5其他软件(windows xp ).. (7) 三、源码下载 (8) 3.1wing 源码下载....................................................................................................................83.2仓库的目录树.. (8) 3.2.1android 目录树.........................................................................................................83.2.2lichee 目录结构.. (9) 3.2.2.1buildroot 目录结构........................................................................................93.2.2.2linux-3.3目录结构......................................................................................103.2.2.3u-boot 目录结构..........................................................................................113.2.2.4tools 目录结构............................................................................................123.2.2.5boot 目录结构 (12) 四、编译和打包 (13) 4.1源码编译 (13) 4.1.1lichee 源码编译......................................................................................................134.1.2android 源码编译...................................................................................................134.2打包固件.. (13) 4.2.1完全打包...............................................................................................................134.2.2局部打包 (14) 五、固件烧写 (14) 5.1使用PhoenixSuit 烧写固件.............................................................................................145.2使用fastboot 更新系统 (14) 5.2.1进入fastboot 模式.................................................................................................145.2.2fastboot 命令使用.. (15) 六、recovery 功能使用 (15) 6.1键值的查看......................................................................................................................156.2按键选择..........................................................................................................................166.3功能使用..........................................................................................................................16七、调试 (17) 7.1调试apk...........................................................................................................................177.2调试linux 内核. (17)

Android开发指南-二维图形

Android开发指南-二维图形收藏 二维图形2D Graphics Android 提供一个定制的2D图形库,用来绘制图形图像和制作动画。你将从 android.graphics.drawable和android.view.animation包中找到这些通用类。 本文简单介绍如何在Android应用程序中进行画图。我们将讨论使用Drawable对象画图的基础知识,如何使用几个Drawable子类,以及如何创建动画,一个图形的补间动画或者一系列图形的连续动画(就像电影胶卷一样)。 可绘制物Drawables 一个Drawable 是一个“某些可以被绘制的物体”的一般抽象。你将发现这个Drawable类扩展了多种具体可绘制图形类,包括 BitmapDrawable, ShapeDrawable, PictureDrawable, LayerDrawable, 等等。当然,你还可以扩展这些类来定义你自己的具有独特行为的可绘制对象。 有三种方式来定义和实例化一个Drawable:使用一个保存在你的项目资源中的图像;使用一个定义了Drawable属性的XML文件;或者使用通常的类构造函数。下面,我们将挨个讨论前面两种方法(对于一个经验丰富的开发人员而言,使用构造函数没什么新意)。 从资源图像中创建Creating from resource images 一个为你的应用程序增加图形的简单方法是通过引用项目资源中的一个图片文件。支持的图片文件格式有PNG(推荐的),JPG(可接受的)和GIF(不鼓励的)。这个技术将显然推荐使用在应用程序图标,logo,或者其它类似使用于游戏中的图形。 为了使用一个图片资源,只要把你的文件添加到你项目的res/drawable/目录即可。从那里,你可以在代码或XML布局中进行引用。任何一种方式,都是通过资源ID来引用,资源ID是不带扩展后缀的文件名(比如,my_image.png通过my_image来引用)。 注意:图像资源被放在res/drawable/里。也许会通过aapt工具进行无损图像压缩而被 自动优化。比如,一个不需要多于256色的真彩色PNG图片可能会被转换成一个带有调 色板的8位PNG。这产生了相同质量但占用更少内存的图片。因此需要意识到该目录下 的二进制图像可能会在编译期间被改变。如果你想以比特流读取一个图片并转换为一个 位图,那么需要把你的图片文件放在res/raw/目录,这里的文件不会被优化。 示例代码Example code 下面的代码片断说明了如何构造一个ImageView,从drawable资源中使用并添加到布局中。LinearLayout mLinearLayout; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // Create a LinearLayout in which to add the ImageView mLinearLayout = new LinearLayout(this);

Android开发规范参考文档

Android开发参考文档 一、Android编码规范 1. java代码中不出现中文,最多注释中可以出现中文.xml代码中注释 2. 成员变量,局部变量、静态成员变量命名、常量(宏)命名 1). 成员变量: activity中的成员变量以m开头,后面的单词首字母大写(如Button mBackButton; String mName);实体类和自定义View的成员变量可以不以m开头(如ImageView imageView,String name), 2). 局部变量命名:只能包含字母,组合变量单词首字母出第一个外,都为大写,其他字母都为小写 3). 常量(宏)命名: 只能包含字母和_,字母全部大写,单词之间用_隔开UMENG_APP_KEY 3. Application命名 项目名称+App,如SlimApp,里面可以存放全局变量,但是杜绝存放过大的实体对象4. activity和其中的view变量命名 activity命名模式为:逻辑名称+Activity view命名模式为:逻辑名称+View 建议:如果layout文件很复杂,建议将layout分成多个模块,每个模块定义一个moduleViewHolder,其成员变量包含所属view 5. layout及其id命名规则 layout命名模式:activity_逻辑名称,或者把对应的activity的名字用“_”把单词分开。

命名模式为:view缩写_模块名称_view的逻辑名称, 用单词首字母进行缩写 view的缩写详情如下 LayoutView:lv RelativeView:rv TextView:tv ImageView:iv ImageButton:ib Button:btn 6. strings.xml中的 1). id命名模式: activity名称_功能模块名称_逻辑名称/activity名称_逻辑名称/common_逻辑名称,strings.xml中,使用activity名称注释,将文件内容区分开来 2). strings.xml中使用%1$s实现字符串的通配,合起来写 7. drawable中的图片命名 命名模式:activity名称_逻辑名称/common_逻辑名称/ic_逻辑名称 (逻辑名称: 这是一个什么样的图片,展示功能是什么) 8. styles.xml 将layout中不断重现的style提炼出通用的style通用组件,放到styles.xml中; 9. 使用layer-list和selector,主要是View onCclick onTouch等事件界面反映

Android开发入门教程

第一篇:安装SDK 这里主要介绍如何安装Android的SDK开发包和配置开发环境。如果你还没有下载SDK,点击下面的链接开始。 Download the Android SDK 系统和软件配置要求 要通过Android SDK中提供的代码和工具进行Android应用程序的开发,需要一个合适的用于开发的电脑和合适的开发环境,具体要求如下: 支持的开发环境 Eclipse Eclipse 3.2,3.3(Europa) Android开发工具插件(可选) 其他的开发环境或者IDE JDK5.0或者JDK6.0(仅有JRE是不够的) 安装SDK 下载好SDK包后,将zip文件解压缩至合适的地方。在下文中,我们默认你的SDK安装目录为$SDK_ROOT 你可以选择将$SDK_ROOT/tools加入到你的路径中 1.Linux下,打开文件~/.bash_profile或者~/.bashrc,找到设定PATH环境变量的一行,将$SDK_ROOT/t ools的完整路径加入其中。如果没有找到设定PATH变量的行,你可以自己添加一行: export PATH=${PATH}:<你的$SDK_ROOT/tools的完全路径> 2.Mac下,在你的home目录中找到文件.bash_profile,和Linux的一样处理。如果还没有在机器上设定这个文件,你可以创建一个.bash_profile文件。 3.Windows下,右键点击【我的电脑】,选择【属性】,在【高级】页中,点击【环境变量】按键,在弹出的对话框中双击“系统变量”中的变量“Path”,将$SDK/tools的完全路径加入其中。 通过将$SDK/tools加入系统路径,在运行adb和其它一些命令行工具时就不需要键入完全路径名了。需要注意到是,当你升级了SDK后,如果安装路径有变动的话,不要忘记了更新你的PATH变量的设置,将其指向变动后的路径。 安装Eclipse插件(ADT) 如果你选择Eclipse作为Android的开发环境,可以安装一个专门为Android定制的插件:Android Deve lopment Tools(ADT),ADT插件集成

android系统和开发指南

Google Android System and Development Tutorial Abstract Android是Google公司所开发的手机用途操作系统架构。Android包含了操作系统、系统中间的转换程序和重要的应用程序。人们透过Android可以有比较好的手机专属系统,并且让用户更方便按照自己的需求扩充自己的手机功能。开发人员也因为Android的独特架构,使得以往要针对不同系统撰写的手机程序变得只要写一次就好,成为真正的可携式程序(Portable Program)。我们在本篇报告中介绍Android的特性、以及如何做到以上的架构。最后我们实践了Android 架构上的程序开发。 Introduction 手机系统长久以来是学术界和产业界焚膏继晷研究的对象。手机属于mobile system的一种,即便和个人计算机一样属于数字装置,但是特性却是大相径庭。最主要的差异是个人计算机通常依靠插座供电;手机大部分的时间是靠电池续航。因此手机系统必须要设法省电,否则做为一个mobile system,不能应付使用者长时间在外的需求是不适当的。此外手机为了携带放便,尽量缩小体积,以至于使用的硬设备有诸多限制,例如:难以扩充硬件、常常被迫使用整合性芯片组、不能选择自己符合自己需求的硬件…。以上两项主要限制使得手机系统被迫和个人计算机发展出不一样的特性。 另外常见的手机系统有Symbian、Windows CE。以往手机系统以封闭式为主,使用者能够决定的设定和服务不多。因为电信公司是发配手机内容与服务的最后服务端,使用者没有选择,只好接受质量良莠不齐,没有量身订做的内容了。简而言之,服务内容被电信公司给垄断。反观Symbian (S60)和Windows CE,以及Android系统是一个开放式的系统,允许用户透过增加程序和套件增加服务和内容。开放式系统是个潮流,能够给使用者最大的福祉,使电信公司无法再垄断手机内容。

安卓开发环境搭建完全手册

安卓开发环境搭建完全手册 小安:博士,刚才听你说了这么多,我感觉Android平台真是前景无限,决定要从事Android开发,成为一名Android高手。今后请您多多指教! 大致:小安,我代表全体Android开发人员欢迎你加入Android开发的队伍,现在我就告诉你开发Android需要准备些什么。 1.1准备所需软件 1.1.1Android开发需要的工具 1)JDK5或JDK6 需要注意的是仅有JRE是不够的。JRE是Java的运行环境,而JDK不仅包含了JRE,还包含了我们开发Java程序所需要的工具集合。 JDK可以到:https://www.360docs.net/doc/6814615057.html,/javase/downloads/index.jsp页面下载。 2)Eclipse3.5 使用MyEclipse也可以,但由于MyEclipse是收费的并且插件较多影响运行速度,因此不建议采用。Eclipse是一个开放源代码的、基于Java的可扩展的集成开发环境(IDE)。Eclipse中可以集成进多种插件,以完成特定语言的开发。 下载地址:https://www.360docs.net/doc/6814615057.html,/downloads/页面中的EclipseIDEforJavaEEDevelopers链接。 3)Android SDK: SDK是我们开发Android应用程序的软件开发工具包。 下载地址:https://www.360docs.net/doc/6814615057.html,/android/android-sdk_r05-windows.zip 4)Eclipse的插件ADT(Android Development Tools)

Android开发工具(ADT)是一个为EclipseIDE设计的旨在提供一个强大的、集成的环境来建立Android 应用程序的插件。ADT扩展了Eclipse的功能,可以快速建立新的Android项目,创建一个应用程序界面。它添加了基于Android框架API的组件,使用AndroidSDK工具调试你的应用程序,甚至导出签名(或未签名)APKs以分发你的应用程序。在Eclipse中强烈建议使用ADT进行开发,ADT提供了令人难以置信的提高开发Android应用程序的效率。 下载地址:https://www.360docs.net/doc/6814615057.html,/android/ADT-0.9.5.zip 准备好这些工具,我们就可以安装这些软件来搭建Android的开发环境了。有一点需要注意,以上的链接部分会由于官方的更新而产生变动,有时下载到的版本不同,但下载的方式如此,如果遇到问题可以参考官方帮助文档 1.2安装所需的软件 1.2.1.安装JDK6 1.找到JDK安装文件,双击运行,界面如下:

Android开发指南 - 样式和主题

Android开发指南 - 样式和主题 样式和主题(Styles and Themes) 一个样式(Style)是一个包含了指定样子和格式的作用于视图控件(View)或者窗体(Window)属性集合。一个style可以指定很多属性,比如高度,填充,字体颜色,字体尺寸,背景色等。一个Style在xml资源文件中定义,并且和在xml中指定的布局区分开来。 在Android里的样式和Web设计中的CSS共享一个相似的原理,它们允许你分离设计(Design)和内容(Content). 举个例子,通过使用一个style,你可以让你的布局xml像下面这样: 并且,可以变成下面这样: 所有关联到style的属性已经在布局xml中被删除了,并且放在一个叫做“CodeFont”style中定义了。它通过一个style属性被应用上。在下面的章节,你将会看到如何定义style。 一个主题(Theme)也是一个style,它被应用在所有的Activity或者application上,而不是个别的视图控件(View)(像上面的示例一样)。当一个style被当做一个theme来应用,每一个activity或者application中的视图控件将应用每一个它支持的样式属性。比

Android开发入门文档 v1.1

RK28平台技术文档 Android 开发入门 部 门: 内核组 版 本: V1.1 作 者: 陈美友 文件状态: [√] 草稿 [ ] 正式发布 [ ] 正在修改 日 期: 2008-12-1 关键字 Linux 、Android 、Native C/C++、编译、下载 概 述 本文档主要讲述了Android 的下载、编译,以 及本地C/C++程序的开发、Android 应用程序 的开发等… 本文档适用了Android 开发的初学者

目录 下载ANDROID源码 (3) 编译ANDROID源码: (4) 编译ANDROID中的LINUX内核: (5) 编译NATIVE C/C++程序 (6) 运行NATIVE C/C++应用程序 (7) 在WINDOWS XP操作系统上构建ANDROID应用程序开发环境 (8) 编写ANDROID应用程序 (9) ANDROID SDK文件夹结构分析 (9) ANDROID源代码结构 (10) ANDROID应用程序生成 (10)

注: 如果你要创建Android的SDK,那么你必须安装JDK5,不要安装JDK6 $sudo apt-get install sun-java5-jdk 如果你使用apt-get下载安装程序时,发现某些安装包无法下载的情况, 那么你可以从网络上其它地方用其它的工具下载安装包,然后进行安装。我 通常是通过Windows上的迅雷下载,然后通过VMware中的文件共享传到Linux系统中。 我的电脑: 主系统:Windows XP 模拟器安装在Windows XP上 VMware中安装Linux:Ubuntu8.10 Android源码存放路径:~/mydroid 下载Android源码 在这里面以Ubuntu(x86)操作系统为例,说明下载Android的步骤: 下载必要工具: 下载GIT工具: $ sudo apt-get install git-core gnupg 下载JDK6: $ sudo apt-get install sun-java6-jdk 下载下列工具包:flex, bison, gperf, libsdl-dev, libesd0-dev, libwxgtk2.6-dev (optional), build-essential, zip, curl $ sudo apt-get install flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev 下载Valgrind工具(可选): $ sudo apt-get install valgrind 安装Repo工具: 创建目录存放Repo: $ cd ~ $ mkdir bin $ export PATH=~/bin:$PATH 下载Repo: $ curl https://www.360docs.net/doc/6814615057.html,/repo >~/bin/repo

Android移动应用开发基础教程(微课版)-教学大纲

《Android移动应用开发基础教程(微课版)》教学大纲 学时:62 代码: 适用专业: 制定: 审核: 批准: 一、课程的地位、性质和任务 Android移动应用开发基础是普通高等学校计算机科学与技术专业的一门重要的专业基础课。通过本课程的学习,使学生能够在已有的计算机基础知识基础上,对Android移动应用开发有一个系统的、全面的了解、为掌握移动应用开发打下良好的基础;在系统理解和掌握Android移动应用开发基本原理的基础上,了解和掌握移动应用开发的基本原理和方法,具有设计和开发Android移动应用APP的基本能力。 Android移动应用开发是一门实践性非常强的学科,它要求学生在理解和掌握Android移动应用开发语言语法的基础上,充分利用实验课程,在计算机上动手完成程序的编写和调试。 二、课程教学基本要求 1.课程教学以Android移动应用开发方法为主,在教学过程中让学生掌握Android移动应用开发的基本原理和方法。 2.要求在教学过程中合理安排理论课时和实验课时,让学生有充分的使用在计算机上练习理论课程中学到的Android移动应用开发技巧和方法。 三、课程的内容 第1章 Android开发起步 让学生了解Android平台特点、体系架构和版本,掌握如何搭建Android开发环境,熟悉如何创建Android项目和Android编程的日志工具 第2章 Android核心组件:活动 让学生了解Android核心组件之一的活动是什么、活动生命周期,掌握活动基本操作、在活动中使用Intent、在活动之间传递数据、活动的启动模式。 第3章 UI设计 让学生熟练掌握线性布局、相对布局、通用UI组件、消息通知和菜单。 第4章广播机制 让学生了解广播机制,并熟练掌握如何使用广播接收器。 第5章数据存储 让学生熟练掌握Android文件存储、共享存储和SQLite数据库存储。 第6章多媒体 让学生熟练掌握播放多媒体文件、记录声音、使用摄像头和相册。 第7章网络和数据解析

Android开发说明书

通话时间统计器设计说明书 姓名:潘俐浩 学号: 20110450213 班级: 11计本2 指导教师:李红军 完成日期: 2013.12.25

设计要求 考核目的 考核运用Android技术编程的能力,涉及到Android 系统的设计实现,Android四大组件的应用,提高程序效率的编程技巧和方法等内容。 考核项目要求 主要考核要求如下: 1、Android四大组件的应用 Android中Activity、BroadcastReceiver、ContentProvider、Service的用法。 2、View和SurfaceView的应用 View和SurfaceView的区别和联系,自定义界面编程。 3、提高手机程序效率的编程方法 如何提高手机软件的运行效率,在程序中如何设计代码、如何选择合适的类。 4、界面布局 使用界面开发工具设计界面的能力,包含了布局的选择,组件属性的自定义等。 5、编程的规范性 代码编写是否规范,注释是否合理、标示符定义是否规范合理。 6、写出项目设计和实现说明书

目录 第一章功能介绍 (1) 1.1功能描述 (1) 1.2功能特点 (1) 第二章系统的设计实现 (2) 2.1结构设计 (2) 2.1.1 模块划分 (2) 2.1.2 类的结构图 (3) 2.2系统实现 (3) 2.2.1 功能实现 (3) 2.2.2 数据库及代码实现 (6) 参考文献 (11)

通话时间统计器设计说明书 第一章功能介绍 1.1功能描述 该软件是一款用来统计通话时间的软件,它的功能分为拨号、接入、拨出和未接四个功能。拨号功能是用来向外拨打号码,接入功能是用来统计接听电话的时间,拨出功能是用来统计拨出电话的时间,未接功能是用来统计未接听电话的时间。时间的显示比较详细,包括年月日、时分和通话时长。总的来说,该软件是同类软件中性价比比较高并且容易操作的一款软件。 1.2 功能特点 通话时间统计器在手机上使用非常便捷,可以统计通话时间的长短,还可以拨打号码给别人,集拨号,未接来电,来电显示,通话时间功能与一体,可以说使用非常的便捷。现在科技日益发达,手机的功能也越来越强大,拍照的像素越来越高,屏幕越来越大,可以看电影,可以听音乐,玩游戏,甚至可以处理一些文档资料。。。。。就相当于一个小型电脑,但是其最基本的还是打电话的功能,所以制作一个通话时间统计器可以很当程度上帮助人们了解消费话费的信息

Android 学习开发指南

Android开发 -Eclipse的工作目录 ?打开Eclipse的时候首先弹出的对话框 ? ?通过Workspace里面的路径,可以找到Eclipse项目存放之 处 -Eclipse的导入项目 ?File –> Import –> ?

? -Eclipse的输出项目 ?第一种 ◆File -> Export ->

◆◆

?第二种 ◆从Package Explorer 选中项目名-> 单击鼠标右键选择 Copy -> 鼠标右键粘贴到其他存放之处 ◆ -Eclipse快捷键 ?Alt + “/”自动匹配符合的关键字 -Android中.XML文件首布局属性必须有 -标签定义规范 ?打完标签的开头,立即补上结尾 ?布局模式必须以<布局关键字>为开头,为结尾 ◆例

◆例 ◆例 ?独立控件的可以有两种方式结尾 ◆1. ◆2. -黄色的波浪线 ?可以运行,但android或者其他程序语言不推荐这么写代 码 ?在.java源程序中变量或者方法未使用 -红色的波浪线 ?代码错误提示,需要更改正确 -main.xml与String.xml ?String.xml 键值对 ◆一:国际化,只需要提供一个string.xml文件,把里面 的汉字信息都修改为对应的语言(如,English),再 运行程序时,android操作系统会根据用户手机的语言 环境和国家来自动选择相应的string.xml文件,这时 手机界面就会显示出英文。这样做国际化非常的方便。 ◆二:为了减少应用的体积,降低数据的冗余。假设在应 用中要使用"我们一直在努力"这段文字10000次,如果 在每次使用时直接写上这几个字,这样下来程序中将有 70000个字,这70000个字占136KB的空间。而由于手

Java与Android开发学习指南

Java与Android开发学习指南 对于现在的IT界,最为火热的依然属于的移动互联网的开发。 2012年我们在不断进步,并且不断领先。

本套视频将采用最新的JDK 1.7,同时使用JUNO Eclipse进行开发讲解。 例如:实体层开发,需要类和表的映射,对于显示层的部分操作需要一些转换或处理等等。 马上这份笔记的完善版会经过清华大学出版社在2013年的上半年进行推出,而这本课堂笔记将和Java开发实战经典一起作为MLDN的入门书籍。 99%的课程,都为了方便学员复习提供了复习的视频资料。

https://www.360docs.net/doc/6814615057.html,/,在线课程。 同学一起去根据需求设计业务; 根据业务的功能讨论设计数据库; 后台的开发。前台的实现,远程接口的开发。 从各个公司而言,面试的要求是提高了。 对于代码而言,写代码不麻烦,最麻烦的是调试程序。 目的:是方便更多同学可以轻松的进入到Java开发行业,毕竟这个行业是相对稳定的。 2013年,而Java 是在1995年的时候出现。 最早的时候更多的是关注于服务器端的开发,但是对于客户端,开发的复杂度是很高的,并且受到环境的限制,所以最早的一些ERP系统,只能在电脑上完成,而有了Android/IOS之后,发现移动办公成为了可能。 不管如何操作,业务是最终必须要掌握的。

在整个市场70%的份额都被Android拿走了。这块蛋糕很大。 20左右是占了IOS。 历史: 2003年的时候,当时的手机系统:Symbian、Linux、Windows CE、MTK 2009年的时候,手机系统:Android(Linux)、IOS、Symbian、Windows Phone。项目的整体把握:项目的核心业务设计、架构。 最早的时候如果某一款软件需要被安放在手机里,需要找开发商,给他钱。。。 改了:开发商给钱推广。

Android官方开发教程中文版(二)

Android官方开发教程中文版 添加操作栏 添加操作栏 操作栏是你能为你的Activity实现的重要的设计元素之一,它提供了几种用户界面特性,使你的应用能够保持和其它应用的一致性,以便用户很快熟悉它。主要功能包括:1.用专门的空间为你的应用指定标识并且指示出用户在应用中的位置。 2.以可预测的方式访问重要的操作(如搜索) 3.支持导航和视图切换(使用选项卡或下拉列表) 本课程提供了关于操作栏基础知识的快速指南,要获得关于操作栏各种特性的更多信息,请参考“操作栏”指南。 设置操作栏 操作栏的最基本形式是为Activity显示标题以及在标题左边显示应用图标。即使是这种简单的形式,操作栏也有利于通知用户当前的位置,以及为你的应用保持一致性。 操作栏包括一个应用图标和Activity标题 设置一个基本的操作栏需要你的应用使用一个Activity主题并启用操作栏。如何获取这样一个主题取决于你的应用支持的最低Android版本。因此这节课根据你的应用支持的Android最低版本分为两个部分。 仅支持Android3.0及以上版本 从Android3.0开始(API级别11),操作栏被包含在所有使用Theme.Holo(或它的派生类)主题的Activity中,当targetSdkVersion或minSdkVersion的值大于等于11时,Theme.Holo 是默认主题。 因此,要在Activity中添加操作栏,只需简单地把这两个属性之一的值设为11或更高就可以了,如:

Android开发说明文档

Android开发说明文档 一、开发环境的搭建过程: 第一步安装JDK,并在环境变量中配置相应的参数。 第二步安装开发工具,常用的开发工具有两种,一种是eclipse开发工具开发时需要导入ADT插件,一种是motodevstudio开发时不需要任何插 件。 第三步安装sdk(android开发环境),并在环境变量中配置相应的参数。 第四步测试环境是否搭建好,以此用命令javac、android –h进行测试,如果命令窗口中出现相应的说明,则证明开发环境搭建成功。 二、实现手机拍照功能: 1.UI界面设计 UI界面总共有两个,一个是初始化界面,一个是拍照界面。 初始化界面设计,如下图所示; 拍照界面设计,在此界面中,设计了两个按钮,一个是拍照按钮,一个是对焦按钮,拍照按钮用于进行对区域范围景色的拍摄,对焦按钮 是对所在视野区域焦距进行调节,拍摄窗口是横向显示方式,拍摄暂停 画面是花色的;

2.功能实现 当点击拍照按钮进入拍照界面,拍照界面显示当前的视野,然后点击对焦按钮进行焦距调整,然后点击拍照按钮进行拍照,当出现花色时证明拍照完成,拍照完成的图片保存在sd卡的根目录下。 三、实现百度地图获取地址信息: 1.获取百度api的key 在用百度账号进入,设置自己的key值,将key值添加到自己程序里的publicstaticfinal String strKey="iDneBU6NBrm9wyLxdOODPTM5";这段代码中。 2.UI界面设计 在此界面中用LinearLayout布局管理器,在此界面中设置六个编辑框用于获取当前地址所在信息,具体如下图所示。

最全的AndroidOpenGL开发文档

Android 3D 游戏开发教程 (Open Graphics Library) 目前最全的Android OpenGL文档 这几篇Android 3D游戏开发的文章原文出自一位德国人Martin 在https://www.360docs.net/doc/6814615057.html,写的文章,由lixinso翻译为中文。 拷贝于博客:https://www.360docs.net/doc/6814615057.html,/lixinso/archive/2010/01/30/5272927.aspx 第一部分首先介绍OpenGL相关的术语,并引导你开始3D开发的第一步。 这个关于3D游戏的系列的叫做V ortex . 这个教程主要focus在3D编程上,其他的东西比如菜单和程序生命周期虽然是代码的一部分,但是在这里不会被提到。 首先开始介绍OpenGL的术语。 顶点V ertex 顶点是3D空间中的一个点,也是许多对象的基础元素。在OpenGL中你可以生命少至二维坐标(X,Y),多至四维(X,Y,Z,W). w轴是可选的,默认的值是1.0. Z轴也是可选的,默认为0. 在这个系列中,我们将要用到3个主要的坐标X,Y,Z,因为W一般都是被用来作为占位符。vertex的复数是vertices(这对非英语母语的人来说比较重要,因为这容易产生歧义)。所有的对象都是用vertices作为它们的点,因为点就是vertex。 三角形Triangle 三角形需要三个点才能创建。因此在OpenGL中,我们使用3个顶点来创建一个三角形。多边形Polygon 多边形是至少有3个连接着的点组成的一个对象。三角形也是一个多边形。 图元Primitives 一个Primitive是一个三维的对象,使用三角形或者多边形创建。形象的说,一个有50000个顶点的非常精细的模型是一个Primitive,同样一个只有500个顶点的低模也叫做一个Primitive。 现在我们可以开始变成了。 创建一个工程交V ortex,activity也是这个名字。我们的工程应该大概是这个样子的:package com.droidnova.android.games.vortex; import android.app.Activity; import android.os.Bundle; public class V ortex extends Activity { private static final String LOG_TAG = V ortex.class.getSimpleName(); private V ortexV iew _vortexV iew; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); _vortexV iew = new V ortexView(this); setContentView(_vortexView);

Android开发技术文档

Android 开发最佳实践 从Futurice公司Android开发者中学到的经验。遵循以下准则,避免重复发明轮子。若您对开发iOS或Windows Phone 有兴趣,请看iOS Good Practices和Windows client Good Practices这两篇文章。 摘要 ?使用 Gradle 和它推荐的工程结构 ?把密码和敏感数据放在gradle.properties ?不要自己写 HTTP 客户端,使用Volley或OkHttp库 ?使用Jackson库解析JSON数据 ?避免使用Guava同时使用一些类库来避免65k method limit(一个Android程序中最多能执行65536个方法) ?使用 Fragments来呈现UI视图 ?使用 Activities 只是为了管理 Fragments ?Layout 布局是 XMLs代码,组织好它们 ?在layoutout XMLs布局时,使用styles文件来避免使用重复的属性 ?使用多个style文件来避免单一的一个大style文件 ?保持你的colors.xml 简短DRY(不要重复自己),只是定义调色板 ?总是使用dimens.xml DRY(不要重复自己),定义通用常数 ?不要做一个深层次的ViewGroup ?在使用WebViews时避免在客户端做处理,当心内存泄露 ?使用Robolectric单元测试,Robotium 做UI测试 ?使用Genymotion 作为你的模拟器 ?总是使用ProGuard 和 DexGuard混淆来项目 Android SDK 将你的Android SDK放在你的home目录或其他应用程序无关的位置。当安装有些包含SDK的IDE的时候,可能会将SDK放在IDE同一目录下,当你需要升级(或重新安装)IDE或更换的IDE时,会非常麻烦。此外,若果你的IDE 是在普通用户,不是在root下运行,还要避免吧SDK放到一下需要sudo权限的系统级别目录下。 构建系统

相关文档
最新文档