《第一行代码》读书笔记

一:

1:项目文件

开发中经常用到的有:

app目录:存放项目代码、资源文件

build.gradle:项目全局gradle脚本。

2:app目录

libs:放到libs目录下的第三方jar包会自动添加到项目构建路径。

java:存放java代码的地方。

res:资源文件目录,包括:图片、布局、字符串、颜色、样式、菜单等。

AndroidManifest.xml:项目配置文件。多用于注册四大组、添加权限等。

proguard-rules.pro:项目代码混淆规则。

3:build.gradle逐项解析

apply plugin: ‘com.android.application‘//说明module的类型,com.android.application为程序,com.android.library为库
android {
    compileSdkVersion 22//编译的SDK版本
    buildToolsVersion "22.0.1"//编译的Tools版本
    defaultConfig {//默认配置
        applicationId "com.nd.famlink"//应用程序的包名
        minSdkVersion 8//支持的最低版本
        targetSdkVersion 19//支持的目标版本
        versionCode 52//版本号
        versionName "3.0.1"//版本名
    }
    sourceSets {//目录指向配置
        main {
            manifest.srcFile ‘AndroidManifest.xml‘//指定AndroidManifest文件
            java.srcDirs = [‘src‘]//指定source目录
            resources.srcDirs = [‘src‘]//指定source目录
            aidl.srcDirs = [‘src‘]//指定source目录
            renderscript.srcDirs = [‘src‘]//指定source目录
            res.srcDirs = [‘res‘]//指定资源目录
            assets.srcDirs = [‘assets‘]//指定assets目录
            jniLibs.srcDirs = [‘libs‘]//指定lib库目录
        }
        debug.setRoot(‘build-types/debug‘)//指定debug模式的路径
        release.setRoot(‘build-types/release‘)//指定release模式的路径
    }
    signingConfigs {//签名配置
        release {//发布版签名配置
            storeFile file("fk.keystore")//密钥文件路径
            storePassword "123"//密钥文件密码
            keyAlias "fk"//key别名
            keyPassword "123"//key密码
        }
        debug {//debug版签名配置
            storeFile file("fk.keystore")
            storePassword "123"
            keyAlias "fk"
            keyPassword "123"
        }
    }
    buildTypes {//build类型
        release {//发布
            minifyEnabled true//混淆开启
            proguardFiles getDefaultProguardFile(‘proguard-android.txt‘), ‘proguard-project.txt‘//指定混淆规则文件
            signingConfig signingConfigs.release//设置签名信息
        }
        debug {//调试
            signingConfig signingConfigs.release
        }
    }
    packagingOptions {
        exclude ‘META-INF/ASL2.0‘
        exclude ‘META-INF/LICENSE‘
        exclude ‘META-INF/NOTICE‘
        exclude ‘META-INF/MANIFEST.MF‘
    }
    lintOptions {
        abortOnError false//lint时候终止错误上报,防止编译的时候莫名的失败
    }
}
dependencies {
    compile fileTree(dir: ‘libs‘, exclude: [‘android-support*.jar‘], include: [‘*.jar‘])   //编译lib目录下的.jar文件
    compile project(‘:Easylink‘)//编译附加的项目
    compile ‘com.nostra13.universalimageloader:universal-image-loader:1.9.3‘//编译来自Jcenter的第三方开源库
}

4:菜单

菜单有多种:optionMenu、上下文菜单、弹出菜单等。

菜单可以在代码中动态添加,也可以在xml中定义好菜单项,在代码中加载。

菜单可以分组管理菜单项,也可以拥有子菜单。

5:Intent

Intent可以用于启动四大组件,可以携带数据,不过只能通过键值对的形式携带基本类型数据。

Intent有两种:显式Intent和隐式Intent。

隐式Intent通过添加action、category、data等附加内容,来匹配系统中符合要求(注册时配置 intent-filter)的活动、服务等。

6:返回数据的跳转

启动另一个活动可以有两种方法,其中startActivityForResult(intent,请求码)启动的跳转,可以在活动中重写回调方法onActivityResult(请求码,结果码,intent)来获取返回数据,通过请求码匹配具体请求的返回、通过结果码判断结果的类型,通过intent提取返回的数据。

7:保存Activity中的数据

活动跳转后,之前的活动可能会被回收,若想保存之前的活动的数据,使得返回这个活动时数据仍在,可以在活动中重写 onSaveInstanceState(bundle)回调方法,这个方法会在活动被回收之前调用,把数据存在budle中,那么下一次该活动重建时,可以在onCreate(bundle)中通过bundle取回数据。

8:精确定位活动

可以定义一个BaseActivity,继承自AppCompatActivity,然后定义一些通用的方法、操作,如:打印当前活动信息。

另其他活动继承BaseActivity,即可在项目运行时知道哪个页面对应哪个活动了。

9:批量管理活动

可以定义一个工具类,其中维护一个活动list。

同上面,在BaseActivity中重写onCreate方法,每当创建一个活动就通过工具类的景泰方法把活动添加到list中去。

那么工具类中其他方法就可以通过list批量操作活动了,例如:批量打印活动信息、批量结束活动等。

二:

时间: 2024-11-12 18:09:29

《第一行代码》读书笔记的相关文章

码农的产品思维培养第一节(人人都是产品经理读书笔记)

在前段时间,密集的推出Android学习记录之后,我觉得接下来的Android开发进入了一个精进演变的过程,革命性的东西略缺.每日更新特别新的东西也违背认知规律.所以以后关于Android方面的知识,碰到什么,然后记录什么. 而今天,在前一篇日志里面,我描述了我为什么要去理解"产品经理",从这一节开始,我要实施我的计划.所以,和Android记录一样,我要记录这个过程.对自己是一个回归总结吸收的过程,同时也希望能够帮助到更多的朋友,如果你也心存学习进取之心,如果你也如我一般疑惑未解心不

人人都是产品经理读书笔记(四)

补充:

《启示录:打造用户喜爱的产品》—— 读书笔记

这是一本非常不错的书,即使你可能只是一名开发工程师,也会有意想不到的收获! 如果你是一名产品经理,那就更不能错过了!不要留下遗憾! 这真的是一本很好的书,读每一遍都会有不同的收获,绝对让你震撼!我是会再读一遍或者N多遍的, 而能把这些内容转应用到实际中的人才是真正的高手,细细体会,在工作中好像已经有人在用了!惊讶!得抓紧时间了! 通过这本书,你将会知道一个合格的产品经理应该做什么,怎么做 本书主要讲解三个方面:人员.流程.产品 人员:产品从开始到完成过程中所有的参与者 流程:产品在开发过程中的所

产品经理学习笔记(二)------产品经理的工作职责(下)

二.产品经理的工作职责(下) 4.产品宣讲 ---宣讲对象:客服.市场.销售.运营.其他(开发进度到50%) ---宣讲目的:内部培训.获得认可 ---宣讲方式:内部推荐会(预测.演示.试用).注意控制(氛围.引导) ---宣讲目标:获得认可.帮助其他团队更好理解产品.协助其他团队更好开展工作 5.市场推广 ---对产品资料进行内容把关:网站.移动应用.印刷品等 ---主要针对:市场.公关.运营.销售 6.产品推出后的管理与迭代 ---运营数据的整理分析 ---深入一线体验产品 ---关注用户需

产品经理--读书静心的日子

入行教育,做教育产品工作,需要不断的进步. 一.了解产品开发.项目管理经验. 二.教育基础理论及相关知识. 小学阶段 (2016.2017不断的翻阅,有新的体会) 中学阶段(2018主攻方向)

谷歌和亚马逊如何做产品(读书笔记)

《产品经理》读书笔记

自从鼠标手犯病后,就刻意减少使用电脑的时间并且加强运动,目前已经完全康复,但是还是需要注意.因此更新博客的频率大大降低,但是也有时间多看看书,学习学习了! 最近看了<yes,产品经理>上下册,作者 汤圆 老马,文笔诙谐,把管理知识融入工作日常内容,浅显易懂,对于非管理专业的门外汉,还是不错的读物! 下面是摘抄的部分主要内容,个人认为比较有用的就记录下来. ------------------------------------------------ 制定产品价格策略的6步: 确定企业目标 冲

产品经理的那些事第一章读书笔记

1.一个产品经理的信仰:好产品能改变世界. 2.为什么要做产品经理:因为热爱,改变世界的方法有很多,技术可以改变世界,好的产品也可以,当然还有其他,但我热爱产品,一件事只有热爱了,才能持续不断的去做好,所以我选择了产品经理这条路. 3.产品是什么:产品是用来解决某个问题的东西. 4.产品经理为何而设:想要更了解产品与它面临的竞争情况,最终目的是要满足顾客的需求. 5.产品经理概念的进化: 分析: 1)行业形态不同:成熟行业vs.新兴行业 ①传统行业 概况:经过几十年乃至上百年的摸爬滚打,市场已经

【读书笔记】产品经理要做的事

文章链接:http://www.chanpin100.com/archives/44223 作为一个产品经理,不能只画图:产品经理更像是一个纽带,连接着各个环节,保持项目的正常运行. 在开始要做一个产品的时候,不能上来就画图,也不能告诉你需求就开始画图.应该先对需求进行筛选和挖掘:把伪需求去掉,挖掘出潜在需求. 1.分析产品的步骤:目标人群.使用场景.业务核心. 2.在团队中担任掌舵人,有目的的引导团队:激发团队灵感可以使用商业画布:客户分布.价值主张.渠道通路.客户关系.收入来源.核心资源.关

【读书笔记】神一样的产品经理(一)

 第一篇 产品经理 1.产品经理诞生的背景和价值 *很多入门级书里都会提到这一部分,本书讲了保洁诞生的第一个产品经理的故事. 2.很牛的产品经理(例子是乔布斯.郭靖) 1)几个重要特性:*影响力 *核心需求把控力 *创新力 *痴情力 2)产品经理的职责: *明确产品的目标用户群及其特征*获取.评估和管理用户需求*完成产品需求文档.产品原型和流程图*精通用户体验.交互设计和信息架构技能*项目管理.需求变更管理和需求验收*产品运营数据的分析和总结*提供运营.市场和销售等支撑 3)产品经理常犯的错误