Coding客户端AndroidiOSiPad项目共学

Posted 程序员专栏

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Coding客户端AndroidiOSiPad项目共学相关的知识,希望对你有一定的参考价值。

编者按:

1,本周六晚8点,把自己对本项目的见解发到群里,大家一起讨论,希望每个人都能参与。


2,在本文底部的“阅读原文”里,我们做一个小调查,大家对我们项目共学有什么建议尽管写进来,我们会根据大家的需求做改动。


我们的理念:越分享,越有价值。


本周项目:Coding客户端Android、iOS、iPad项目



Coding android客户端


https://github.com/Coding/Coding-Android


编译环境


Android Studio 2.2.3,用gradle引用的许多第三方库,第一次加载会有点慢,加载完毕后要build一下,这些待下划线的类(比如 MainActivity_)会在build之后自动生成。


包说明


common 基类和工具类

comment 评论区
enter 输入框
network 对网络做了一点封装
photopick 图片多选控件
umeng 封装了umeng

hide 进入staging界面
maopao 冒泡界面
message 消息界面
model 一些数据结构
project 我的项目界面
setting 设置界面
task 我的任务界面
third 一些第三方代码
user 好友界面  


Coding_iOS客户端


https://github.com/Coding/Coding-ios


介绍一下文件的大概目录先:

.
├── Coding_iOS
│   ├── Models:数据类
│   ├── Views:视图类
│   │   ├── CCell:所有的CollectionViewCell都在这里
│   │   ├── Cell:所有的TableViewCell都在这里
│   │   └── XXX:ListView(项目、动态、任务、讨论、文档、代码)和InputView(用于聊天和评论的输入框)
│   ├── Controllers:控制器,对应app中的各个页面
│   │   ├── Login:登录页面
│   │   ├── RootControllers:登录后的根页面
│   │   ├── MeSetting:设置信息页面
│   │   └── XXX:其它页面
│   ├── Images:app中用到的所有的图片都在这里
│   ├── Resources:资源文件
│   ├── Util:一些常用控件和Category、Manager之类
│   │   ├── Common
│   │   ├── Manager
│   │   ├── OC_Category
│   │   └── ObjcRuntime
│   └── Vendor:用到的一些第三方类库,一般都有改动
│       ├── AFNetworking
│       ├── AGEmojiKeyboard
│       ├── ASProgressPopUpView
│       ├── ActionSheetPicker
│       ├── FontAwesome+iOS
│       ├── MJPhotoBrowser
│       ├── MLEmojiLabel
│       ├── NSDate+Helper
│       ├── NSStringEmojize
│       ├── PPiAwesomeButton
│       ├── QBImagePickerController
│       ├── RDVTabBarController
│       ├── SMPageControl
│       ├── SVPullToRefresh
│       ├── SWTableViewCell
│       ├── UMENG
│       ├── UMessage_Sdk_1.1.0
│       ├── XGPush
│       ├── XTSegmentControl
│       └── iCarousel
└── Pods:项目使用了[CocoaPods](http://code4app.com/article/cocoapods-install-usage)这个类库管理工具


再说下项目的启动流程:


在AppDelegate的启动方法中,先设置了一下Appearance的样式,然后根据用户的登录状态选择是去加载登录页面LoginViewController,还是登录后的RootTabViewController页面。


RootTabViewController继承自第三方库RDVTabBarController。在RootTabViewController里面依次加载了Project_RootViewController、MyTask_RootViewController、Tweet_RootViewController、Message_RootViewController、Me_RootViewController五个RootViewController,后续的页面跳转都是基于这几个RootViewController引过去的。


Coding-iPad客户端


https://github.com/Coding/Coding-iPad


Just run it!


想要看看 iPad 版本什么样,没问题! clone 或者下载代码后,初次执行时,双击根目录下的 bootstrap 脚本,该脚本会准备初始数据,完成后会打开工程,点击 Xcode 运行!So easy,妈妈再也不用担心我的代码编译出错了!(之后只需打开 CodingForiPad.xcworkspace 即可)嗯……,你的代码好像很棒,请告诉我xx是怎么做的


先告诉大家代码大概在哪里。

.
├── CodingForiPad
│   ├── Vendor:因为各种原因没有用Pods管理的第三方库
│   ├── Resources:资源文件
│   ├── Util:一些工具类,Category等
│   ├── Request:网络请求
│   ├── Models:数据模型,一般一个网络请求会对应一个model
│   ├── RequestExt:请求的业务扩展,用于分离基本请求以便于复用代码
│   ├── ModelsExt:数据模型的业务扩展,用于分离基本模型以便于代码复用
│   ├── Manager:一些单例
│   │   ├── AddressManager:iPhone版本代码
│   │   ├── Coding_FileManager:文件上传(iPhone版本代码)
│   │   ├── COSession:登录用户管理
│   │   ├── COUnReadCountManager:读信息、私信管理
│   │   ├── ImageSizeManager:iPhone版本代码
│   │   ├── JobManager:iPhone版本代码
│   │   ├── StartImagesManager:iPhone版本代码
│   │   ├── TagsManager:iPhone版本代码
│   │   └── WebContentManager:格式化为网页使用,iPhone版本代码 
│   └── ViewController
│       ├── Style:基本样式,颜色等
│       ├── Custom:一些自定义的View
│       ├── Base:基本Controller
│       ├── User:用户资料相关的UI
│       ├── Project:项目相关的UI
│       ├── Task:任务相关的UI
│       ├── Tweet:冒泡相关的UI
│       ├── Message:消息和私信相关的UI
│       └── Setting:设置相关的UI
└── Pods:项目使用了[CocoaPods](http://code4app.com/article/cocoapods-install-usage)这个类库管理工具


以上是关于Coding客户端AndroidiOSiPad项目共学的主要内容,如果未能解决你的问题,请参考以下文章

CODING 更新日志:Coding.net 现已支持 SVN

开源项目集锦(持续更新)...

iOS开发之开源项目链接

coding git push 失败

git使用

iOS 13学习系列:如何在github下载开源项目到本地