APP研发录笔记】的更多相关文章

一.消灭全局变量 在内存不足时,系统会回收一部分闲置的资源,由于App被切换到后台,所以之前存放的全局变量很容易被回收,这时再切换到前台继续使用,会报空指针崩溃.想彻底解决这个问题,就要使用序列化. 1.把数据作为intent的参数传递 使用intent进行页面间数据的传递,即使activity被摧毁,intent上的数据依然存在,所以intent是保存数据的好地方,比本地文件靠谱. 但是intent能传递的数据类型也必须支持序列化,像JSONObject这样的数据类型,是传不过去的. inte…
原文链接:http://www.jianshu.com/p/fc8c4638937e <App研发录>这部书是包建强写的,说来也巧,在读这边书之前在看池建强的<Mac 人生元编程> ,所以读这本书的时候,将这两个建强搞混.这本书花了我一周多一点的时间看完.昨天晚看完久久不能寐,一是惊叹这本书的干货太多,这本书不同于市面上其他的Android 教程,给你讲一堆API方法,Android 基础,作者从一个APP团队的负责人的角度高屋建瓴的讲解App框架设计,Bug收集汇总分析,团队建设…
1.1 重新规划android的项目结构     重新规划android的目录结构分两步: 1.建立AndroidLib类库,将与业务无关的逻辑转移到AndroidLib. acitivity存放的是跟业务无关的Activity基类 cache包存放的是缓存数据和图片相关的处理 net包存放的是网络底层封装 ui存放自定义控件 utils存放各种与业务无关的公共方法     2.将主项目中的类分门别类的进行划分,放置各种包中. activity 按模块继续划分,将不同模块的activity划分到…
古者富贵而名灭,不可胜记,唯倜傥非常之人称焉.故西伯拘而演<周易>,屈原放逐,乃赋<离骚>.文人雅士一次次的谱写着千古绝唱,而我亦不能免俗,也要附庸风雅,写一部前不见古人.后不见来者的经典之作. 于是,历时一年,呕心沥血,结合自身3年来从事App领域的一线实战经验,再辅之以从事软件行业十余载的奇技淫巧,写下这洋洋洒洒三百多页十几万字.初稿完成后,就如同和氏璧般,竟找不到出版社愿意出版,而我又不肯妥协,去写那些无关痛痒的语法介绍和UI布局等入门级章节.就在这时,杜勇帮我介绍了机械工业…
第1章源码: 1.1 重新规划Android项目结构 1.1.zip 1.2 为Activity定义新的生命周期 1.2.zip 1.3 统一事件编程模型 1.3.zip 1.4 实体化编程 1.4.zip 1.5 Adapter模板 1.5.zip 1.6 类型安全转换函数 1.6.zip 实体生成器:EntityGenerator.zip 第2章源码: 2.1.2 对AsyncTask的使用和封装 2.1.2.zip 2.1.4 使用原生的ThreadPoolExecutor + Runna…
说明 看这本书的时候,总感觉怪怪的. 因为在地铁上看完的,作者书中基本都是他自己工作中遇到的问题和坑,虽说这样会让人感觉找到了解决方案,可以再进行深入的研究,可是某些地方介绍的有点片面,仅仅是引用部分博客就以偏概全了.还有可能是涉及的内容大部分都是我自己已经踩过的坑,所以觉得学到的东西不太多. 再说说值得一看的地方吧,首先也如前面提到的,书中内容基本都是作者工作之谈,所以有很实用的内容,推荐阅读章节: App竞品技术分析 个人认为这是本书的精华,很少看到有人愿意这样详尽的介绍自己的"机密&quo…
高性能Cordova App开发学习笔记 文件结构 添加插件 构建准备 各个www的作用,prepare命令会将hello\www的内容会拷贝到platform下的wwww目录,知道该改哪里了吧?如果改了platform下面的文件记得考回主目录,一边多platform复用 cordova prepare -d **helloworld文件结构…
接上节 [APP] Android 开发笔记 002 5. 使用ant release 打包 1)制作 密钥文件 release.keystore (*.keystore) keytool -genkey -v -keystore "release.keystore" -alias "release" -keyalg "RSA" -validity "10000" 这里需要注意的是: -keystore "relea…
接上节:[APP] Android 开发笔记 001 4. 默认项目结构说明: 这里我使用Sublime Text 进行加载.…
当开发者历经磨难.披荆斩棘,完成了一个iOS项目后,最后的临门一脚就是应用的内测.部署.那么,在这最后的射门动作中,都有哪些地方需要开发者注意?有哪些方式能够更好地帮助我们进行iOS应用的发布部署? 本文针对iOS App开发的最后阶段来详解如何在真机上进行调试,将App发送给其他测试人员进行内测,以及内测完成后如何将App上传至App Store进行应用审核,针对苹果账号的类型.真机调试.打包与崩溃收集进行深度剖析. 苹果账号的类型 苹果开发者计划分为个人.公司.企业和教育开发者四个类型.个人…
Redis 可以定期将数据备份到磁盘中(持久化),同时不仅仅支持简单的key/value 类型的数据,同时还提供list,set,hash等数据结构的存储:Memcache 只是简单的key/value 缓存. redis 的安装部署参见笔记:Redis 学习笔记与总结1 安装部署 ① 开启 redis 服务: [root@localhost bin]# /usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf ② 开启…
By Long Luo   周星驰的电影<功夫>里面借火云邪神之口说出了一句至理名言:“天下武功,唯快不破”. 在移动互联网时代,同样如此,留给一个公司的窗口往往只有很短的时间,如何把握住这个时机,迅速开发出产品,成为至关重要的一环.相对传统互联网时代的PC产品,用户对移动端产品的容忍度更低.而一款移动应用在推出的时候可能只是接近完成的状态,这就需要通过快速的迭代开发来更新产品,不断完善产品来留住用户.同时,通过更新产品也能唤醒一些沉默用户,让一些原本下载了应用但使用次数非常少的用户给该应用多…
一.涵盖知识点: 1.电商类App架构: https://www.cnblogs.com/loying/p/4801194.html 2.快速搭建电商平台: https://www.jianshu.com/p/a7eb6e26bd91 3.电商类App的研发: https://www.jianshu.com/p/05a4a6b063d2 二.项目学习: 1.iOS MVVM+RAC实战详解(高仿某电商项目) https://www.jianshu.com/p/84ce914f22ac 三.细节学…
PHP开发APP接口 [TOC] 课程地址 imooc PHP开发APP接口 学习要点 APP接口简介 封装通信接口方法 核心技术 APP接口实例 服务器端 -> 数据库|缓存 -> 调用接口 -> 客户端 APP接口简介 APP接口介绍 APP如何进行通信 通信格式区别 APP接口做的哪些事儿 APP接口介绍 概念 PHP面向对象的接口(interface)与APP中的接口(API)概念区别: interface是一种特殊的抽象类,只定义一系列抽象方法. // 定义一个接口 inter…
APP 上线以后可能遇到的问题: ① APP 强退 ② 数据加载失败 ③ APP 潜在问题 错误日志需要记录的内容 数据表 error_log 字段: id app_id:app 类别 id did:客户端设备号 version_id:版本号 version_mini:小版本号 error_log:错误信息(由 APP 返回,客户端开发工程师开发) error.php 处理 app 错误日志 <?php require_once('./common.php'); class ErrorLog e…
判定 app 是否需要加密:通过 app 表中的 status 字段来判定,加密的字符串为 app 表中的 key 字段. 在获取的客户端和服务器端(数据库表中相应字段)的版本号不一致时,返回 data['is_upload'] = 1 提示是否升级:一致时返回 data['is_upload'] = 0 不提示升级. common.php 中 getApp 方法可以添加缓存(静态/Redis等)缓存. common.php 处理接口公共业务 <?php /** * 处理接口公共业务 */ re…
APP 版本升级以及 APP 演示 ① 版本升级分析以及数据表设计 ② 版本升级接口开发以及 APP 演示 /** * version_upgrade 版本升级信息表 */ CREATE TABLE `version_upgrade` ( `id` ) unsigned NOT NULL AUTO_INCREMENT, `app_id` ) unsigned ' COMMENT '客户端设备id 1安卓pad 2安卓手机 3ios手机 4iospad', `version_id` ) unsig…
以静态缓存为例. 修改 file.php line:11 去掉 path 参数(方便),加上缓存时间参数: public function cacheData($k,$v = '',$cacheTime = 0){ //文件名 $filename = $this->_dir.$k.'.'.self::EXT; ..... line:25 把缓存时间设置为 11 位的数字,如果不满 11 位,则在时间前面补 0.再把缓存时间和缓存内容进行拼接: $cacheTime = sprintf('%011…
定时任务可以使用 crontab 命令来设定: crontab -e #编辑某个用户的cron 服务 crontab -l  #列出某个用户cron 服务的详细内容 crontab -r  #删除某个用户的cron 服务 定时任务 crontab 格式: 分 小时 日 月 星期 命令 * * * * * 0-59 0-23 1-31 1-12 0-6 command * 代表取值范围内的数字 / 代表每,比如 /1 表示每分钟 */1 * * * * /usr/local/php/bin/php…
要求: 1.在一个类中封装多种数据通信方法(JSON,XML),并且只通过一个入口选择需要的数据通信格式 2.客户端开发工程师可以自行选择数据传输格式(GET 方式) response.php <?php class Response{ const JSON = 'json'; //封装的综合方法,默认的数据类型为json public static function show($code,$message = '',$data,$type = self::JSON){ if(!is_numer…
一.关于App Extensions extension是iOS8新开放的一种对几个固定系统区域的扩展机制,它可以在一定程度上弥补iOS的沙盒机制对应用间通信的限制. extension的出现,为用户提供了在其它应用中使用我们应用提供的服务的便捷方式,比如用户可以在Today的widgets中查看应用展示的简略信息,而不用再进到我们的应用中,这将是一种全新的用户体验:但是,extension的出现可能会减少用户启动应用的次数,同时还会增大开发者的工作量. 几个关键词 extension poin…
 IOS不清楚,我就说说android平台吧 1.按不同维度  APP级性能.代码级性能      app这一级   GT啊  emmage都可以检测 2.代码级性能的话  有可以分几块 函数性能UI线程响应时间   3.  前者的话  可以通过traceview工具来查看UI线程响应时间的话   第三方开源库  BlockCanary可以监控   但是这个库的话  不适合自动化  需要针对自动化业务二次开发   4.  具体做哪一级的性能测试  取决于你们的现状  是纯粹的得出appcpu内存…
1.APP后台功能: 远程存储数据.消息中转 2.架构是业务驱动,可能随着开发进程而变化,没有最完美架构 3.架构不要满足追求技术新奇酷炫,而是结合具体业务使用合适的技术,否则会给运维带来很多不必要的麻烦 4.建议使用短连接,http通信…
移动web和pc端web以及web app 移动web开发跟web前端开发差别很小,使用的技术都是html+css+js.手机网页可以理解成pc网页的缩小版加一些触摸特性.在浏览器中进行的网页开发,最终代码具有跨系统平台的特性. web app开发特指的是用html5技术开发,之所以叫web app是因为它与客户端应用程序很相似,可以和系统深度融合,调用一些只有客户端才能调用的功能(利用html5开发出的网页可以访问电话.相机等功能). 进行移动端web开发要在头部添加这样一段代码 <meta…
习要点概述1.APP接口简介 2.封装通信接口方法 3.核心技术 4.APP接口实例 服务器和客户端进行接口数据通信:服务器 -->数据库|缓存 -->调用接口 -->客户端 服务器从数据库或缓存中获取数据,调用封装好的接口获取接口数据,生成客户端的数据. 一.APP接口简介 知识对比:php面向对象接口,是一个抽象类,定义必须有interface关键字.如下图: 用于多人协作开发,提供规范的方法名,interface 类中定义抽象方法,在其他类中实现,所有的抽象方法必须实现,否则会报错…
Vue完成  TodoList 1.默认方式 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>TodoList</title> <script src="../../vue.js"></script> </head> <body> <…
1. 下载SDK (http://www.mob.com/#/download) SMS For Android Studio: http://www.mob.com/download/sms/android?p=studio SMS For Eclipse : http://www.mob.com/download/sms/android?p=eclipse 2. 安装配置SDK 请到官网下载最新版本的SDK,下载回来后解压,可以看到下面的文件结构: 2.1.Eclipse IDE 短信SDK…
TextView 文本框 EditText控件 Button 与 ImageButton ImageView RadioButton CheckBox复选框 TextView 文本框 ,用于显示文本的控件    1) 代码    <TextView    android:layout_width="fill_parent"    android:layout_height="wrap_content"    android:text="Hello W…
案例背景 H&M是一家来自瑞典的时装公司,1947年成立.截至2018年6月,H&M 分店遍布全球 68 个国家和地区,分店数目为 4338 间. 作为快速服装生产商,H&M的最大特点之一就是从服装设计到成为专卖店中商品的时间极短.这使得消费者能够更快接触到最前卫的时尚商品.还有助于压缩成本,H&M的产品比定位类似的西班牙品牌Zara还要便宜一些. H&M推出家居系列的时候,为了让用户拥有独特的家居用品购物体验,同时又能够保持其快时尚的品牌声誉,H&M最终决…
(1)应用应该对用户程序持ipad的变化做出响应 (2)要设计出确实出色的触摸屏交互界面需要能够触摸到自己的设计,反复触摸,直到找到感觉 (3)chipmunk physics 2D的物理图形库 (4)不断的问自己“我能通过30秒的youtube视频卖出这个应用吗” (5)http://www.imdb.com/  检查电影上映日期 (6)如果想在iPad上设计出最畅销的游戏,必须考虑如何充分利用加速传感器和触摸屏 (7)困难的部分通常不在于找到时间开发应用,而在于抵抗想要做些别的事情的诱惑 (…