P2P金融项目教程_第1页
P2P金融项目教程_第2页
P2P金融项目教程_第3页
P2P金融项目教程_第4页
P2P金融项目教程_第5页
已阅读5页,还剩70页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 P2P金融项目 传智 . 悟净 p2p金融相关业务知识 ? 什么是p2p金融 ? P2p金融当中的个人与个人2者之间的角色关系 ? 了解p2p的起源 ? P2p金融借贷模式及发展现状 ? 投资p2p金融的风险 什么是P2P金融 ? P2P金融又叫P2P信贷 ? p2p:person to person; 信贷:信用贷款 ? P2P金融指个人与个人间的小额借贷交易,一般需要借助电子商务专业网络平台帮助借贷双方确立借贷关系并完成相关交易手续。 P2P金融的角色关系 信贷 =信用贷款,既然是信用贷款,那么就存在2个角色,一个是借款者,一个是借出者。 在网络平台当中,借款者可自行发布借款信息,包括金

2、额、利息、还款方式和时间,实现自助式借款. p2p金融业务当中,借款者和借出者的关系是1对多的,1N; 了解p2p的起源 尤努斯:全名穆罕默德尤努斯(1940-06-28),孟加拉国银行家、经济学家,教授。 开创和发展了“小额贷款”的服务,专门提供给因贫穷而无法获得传统银行贷款的创业者。 孟加拉乡村银行(也译作格莱珉银行)的创建人。 因为创建了这种“专门提供给因贫穷而无法获得传统银行贷款的创业者”贷款模式,1983年创建了,格莱珉银行,2006获得了诺贝尔和平奖. P2p金融借贷模式及发展现状 借贷模式:主要有2种,一种就是线上网络平台(咋们开发的app软件),还有一种传统线下的P2P金融。

3、发展现状: 06年被创造到现在不到10年的时间,发展特别迅速,发展至今,中国的网络借贷平台已经超过2000家,其中做的最有名的几家:宜信、人人贷、你我贷、金融宝等等。 投资p2p金融的好处 好处p2p金融发展快速的原因: 1:对于投资者(借出者)而言,获得比存款到银行更高的收益。 2:对于有资金需求的企业主(借款者)而言,在P2P金融信息服务平台仅靠点击鼠标输入相关信息就可完成借款申请、查看进度以及归还借款等操作,极大提高了企业主的融资效率。 3:对政府相关部门来说,这种模式都是网上公开进行的,所有平台交易数据随时透明可查,在利息税收和借贷利率方面更能轻松监控和监管。 4:对社会来说,这种模式

4、提高了资金利用率,遏制了高利贷的滋生和蔓延,有利于经济发展和社会稳定。 投资p2p金融的风险 ? 风险: ? 跑路 ? P2P公司跑路,这样的新闻经常会有,所以如果我们想作为投资者,通过p2p平台获利的话,就要选择行业标杆的公司(宜信),但总结来讲,入市虚谨慎。 了解公司产品研发团队构成 ? 产品+UI+开发+测试+运营 ? 接口文档的输出 产品研发流程 ? 产品:统筹产品,制定总的作业周期,输出产品方案,交给UI ? UI: 设计,输出效果图、切图,交给产品经理审核 ,审核通过,产品通知开发团队。 ? 开发: 项目经理+服务器+IOS+Android较完善的团队,项目经理根据产品的作业周期,

5、指定开发周期 ,分工协作,然后就码代码 ? 测试:测试开发提交的产品,测试通过,交给运营 ? 运营:负责产品上线,宣传等相关工作。 接口文档 ? 什么是接口文档 开发阶段,服务器需要为移动端提供接口文档,方便统一接口访问规范.而在p2p金融产品中,接口当中的请求与返回参数通常都是需要加密进行的 举例,我们公司的接口文档加密规则是(登录接口Md5加密、具体接口具体参数RSA加密) ? 输出接口文档的必要性 对于移动端开发人员而言,服务器的同事提供一份接口文档是充分必 须的工作,因为我们所有对于发往服务器的请求就全部都有了明确参照。有经验的服务器开发人员都会提供接口文档。 ? 举例 关于加密 ?

6、MD5加密 ? RSA加密 RSA加密 ? 什么是RSA加密 RSA加密算法是最常用的非对称加密算法 ? 加密类型解释 对称加密 非对称加密 ? 普及RSA加密小知识 RSA是1977年由罗纳德李维斯特(Ron Rivest)、阿迪萨莫尔(Adi Shamir)和伦纳德阿德曼(Leonard Adleman )一起提出的。RSA就是他们三人姓氏开头字母拼在一起组成的。 MD5加密 ? MD5加密的概念 MD5的全称是Message-Digest Algorithm 5,在90年代初由 MIT的计算机科学实验室和RSA Data Security Inc发明,经MD2、MD3和MD4发展而来。

7、? 它是哪种加密类型? 根据特点决定 ? MD5加密的特点 ? 开发中如何使用MD5加密 MD5Utils工具类 项目演示 ? 项目演示 ? 需求分析 ? 绘制整体代码结构图 项目演示截图1 项目演示截图2 需求分析 App启动页-?app欢迎页-?主界面 主界面: ? 三大模块:首页,我要投资,我的资产 ? 了解每一个模块要做的东西 绘制整体代码结构图1 绘制整体代码结构图2 绘制整体代码结构图3 搭建代码整体结构 ?MainActivity的主布局分析绘制 Fragment的hide与show BaseActivity的抽取 放在抽取部分 公共头布局的绘制 AppLication类与UIU

8、tils类的编写 AppNetConfig统一接口请求配置常量类 AppManager统一actiivty栈管理 App程序当中的全局异常捕获 MainActivity的主布局分析绘制 根据绘制结构图,MainActivity=4个Fragment +底部tab控制栏 布局绘制技巧:权重的使用 Fragment的hide与show 为什么进行Fragment的切换,不选择使用replace()来代替fragment? 每次切换的时候,Fragment都会重新实例化,重新加载一边数据,这样非常消耗性能和用户的数据流量。 所以通过切换时hide(),add()另一个Fragment;再次切换时,只

9、需hide()当前,show()另一个, 这样就能做到多个Fragment切换不重新实例化。 BaseActivity的抽取 什么是抽取: 抽取:相同的行为做统一的实现,具体的行为细节做抽象定义。 BaseActivity的抽取: 将所有子类activity做的相同的事情抽取到baseActivity当中做统一实现,然后将不同的部分进行抽象实现。 公共头布局的绘制 ? 为什么要绘制公共的头布局 通过效果图(项目演示),可以看到所有activity布局的头基本都是一样的,只有一些很小的部分不同,而这些不同的部分,完全可以通过代码设置解决掉,那么当每一个activity在绘制头布局的时候,只需要i

10、nclude同一个文件即可,而不需要在每一个activity所包含的布局内部再绘制一遍。 AppLication类与UIUtils类的编写 为什么需要这2个全局工具类,换言之,写这2个全部类有什么好处? Application类里获取的Context,handler对象可以被当前Module里的任何类库引用到,而不必在需要用到的时候去new对象或者是通过构造传入。 Application类里获取的主线程和主线程Id对象可以在当前Module任意的地方,判断当前代码是否运行在主线程当中,或者将一段代码指定在主线程当中运行。 UIUtils:顾名思义,专门提供为处理一些UI相关的问题而创造的工具帮

11、助类。 每当需要将xml对象转换成view对象、Dp与px的单位转换、获取valuse当中的XX资源等都可以放在这里边,进行统一获取,而避免了每次都写了几行重复的代码去获取结果。 AppNetConfig统一接口请求配置常量 编写AppNetConfig常量类,可以非常方便直观的查看以及管理App中所有发起的服务器请求信息,比如 服务器切换 开发阶段通常访问的都是测试服务器地址,而当开发完成,发包给测试人员测试的时候,就需要切换到正式服务器地址了。 具体某个接口的访问地址 当公司新来了XX开发人员,他想查看某个界面的数据信息是来自于哪个接口请求的时候,只需要知道有这么一个常量类,就非常简单了,

12、而不需要去具体的activity当中去查找代码了。 AppManager统一actiivty栈管理 栈的概念: 堆栈,专业术语上说,它是一种运算受限的线性表,限制是仅允许在表的一端进行插入和删除运算,注意是一端。 这一端被称为栈顶,相对地,把另一端称为栈底。 通俗解释:可以认为是一个水缸,是有缸底的,无论是进水还是出水,都只能从一端进行。 特点:先进后出 App程序当中的全局异常捕获 ? 认识UncaughtExceptionHandler UncaughtExceptionHandler接口用来捕获运行时未被程序 捕获异常. ? 获取与设置系统默认未捕获异常处理器 获取:Thread.get

13、DefaultUncaughtExceptionHandler(); 设置:Thread.setDefaultUncaughtExceptionHandler(this); ? 自定义实现类处理程序运行时的未捕获异常 设计单例 application当中注册 非主线程当中进行消息处理 首页模块 ? 自定义Scrollview的伸缩回弹效果 ? viewpagerIndicator类库的引入及使用 ? Viewpager与circlePageIndicator制作轮播图广告 ? 自定义绘制动态圆环进度条 ? 自定义ProgressBar进度条样式 ? 9path背景图片的editText输入框

14、自定义Scrollview的伸缩回弹效果 ? 分析:画图+笔记+操作演示 ? 关键思路: 布局加载完毕,获取操作的布局view 重写onTouchEvent触摸事件 ? 关键Api方法: Rect normal = new Rect(); normal. isEmpty normal.set(left,top,right,bottom); inner.getMeasuredHeight() getHeight() getScrollY(); viewpagerIndicator类库的引入及使用 ? 在android studio中引入一个library都是通过import module来完成的

15、 ? 步骤: 1:import mode 导入library库 2:project structure添加module库依赖搞定 *: 可查看library的build.gradle文件确保module类型确实是com.android.library 添加module依赖截图 Viewpager与circlePageIndicator ? 了解pageIndicator不同实现类的含义 tabPageIndicator:tab选项卡指示器 circlePageIndicator:圆形指示器,通常用于 制作广播轮播图 ? 用法是一样的,根据需求摆放圆点指示器的位置 自定义绘制动态圆环进度条 ?

16、分析效果实现原理 核心思路:绘制外圆+中间百分比文字+弧形进度圈 ? 回顾自定义控件的自定义属性类型 reference、color、boolean、dimension、 float、integer、string、enum常用 ? 圆环进度的自定义属性 在values文件夹中,创建attrs.xml文件,定义节点的xml资源 代码中获取自定义属性: TypedArray mTypedArray = context.obtainStyledAttributes(attrs, R.styleable.RoundProgressBar); . mTypedArray.recycle(); -? 为什

17、么需要调用recycle() 为什么在TypedArray后需要调用recycle 1: 如果不调用 当我们没有在使用TypedArray后调用recycle,编译器会提示 “This TypedArray should be recycled after use with #recycle()” 2: 调用recycle的原因 这个可能在面试的时候会用到 自定义ProgressBar进度条样式 ? Style属性指定为水平样式,默认是圆 style=“? android:attr/progressBarStyleHorizontal ” ? ProgressBar指定一个drawable资源

18、作为进度条的背景以及进度。 ? 了解layer-list层级样式列表的用法 9path背景图片的editText输入框 ? 9patch工具的使用 ? 示例制作一张9patch图片 ? 示例写一个临时demo小程序显示9patch图片的使用 我要投资 ? fragment当中使用tabPageIndicator嵌入3个可滑动的fragment ? Fragment当中使用tabpagerIndicator的样式无效问题 ? 全部理财item布局绘制技巧 ? 抽取baseAdapter的三种适配器 ? xListview的引入及使用 ? 飞入飞出效果自定义控件引入及使用 ? 热门理财流式布局自定

19、义控件编写 Fragment中的tabPageIndicator ? Fragment当中使用tabPageIndicator管理viewpager,设置样式问题: 我们都知道viewpagerIndicator的样式是配置在项目清单文件中的activity节点属性的。 当tabPageIndicator被包含在fragment当中的xml布局当中引用时,很有可能就会导致样式无效问题。 全部理财item布局绘制技巧 个人总结布局绘制技巧: ? 从大到小 ? 善用权重 *: 可借助画图工具绘制布局分析 抽取baseAdapter的三种适配器 ? 直接extends BaseAdapter的默认适

20、配器 ? 仅抽象getView方法的简易父类适配器 -MySimpleBaseAdapter ? getView方法内部抽取而成的父类适配器 -MyBaseAdapter MySimpleBaseAdapter简易列表适配器 简易抽取,仅抽象getView方法 MyBaseAdapter深层抽取基类适配器 ? 回顾抽取思想 相同的代码做统一实现,不用的代码做抽象实现 ? 抽取思路 每一个listview适配器的getview方法内部代码做的事情不一样的地方其实只有2个; 一个是生成的子view类型不同;另外一个是各自view内部设置数据的处理不一样,其它的缓存思想以及holder缓存view都

21、是相同的代码。 ? 缺点:不能使用butterknife代替findviewById了 XListview的引入及使用 ? 拷贝xlistview包的三个类库以及引用到的所有res目前资源 ? 关键Api方法 飞入飞出效果自定义控件引入及使用 ? 拷贝randomLayout资料包下的所有类 ? 使用方法关键api方法调用: xml布局的自定义控件引用 代码适配器的设置 热门理财流式布局自定义控件 ? 分析实现原理 ? 应用场景 热门推荐、热门标签啊 比如脉脉App上的搜索职位标签。 ? GradientDrawable类的使用 ? StateListDrawable类的使用 Gradient

22、Drawable ? GradientDrawable的官方解释 它是可以代替定义shape的xml资源的drawable,可以使用在一个button按钮的gradient渐变颜色属性上,或者backgrounds等等,使用代码定义的shape资源类。 ? 关键Api方法 setColor(rgb) -填充颜色 setGradientType(GradientDrawable.RECTANGLE) -shape矩形 setCornerRadius(radius); -四周圆角半径 setStroke(1, strokenColor); -边框厚度与颜色 StateListDrawable ?

23、StateListDrawable的官方解释 It can be defined in an XML file with the element,它可以被用来代替selector的xml资源使用 ? 关键Api方法 addState -添加状态 我的资产 ? 登录功能(Md5加密) fastJson数据解析 用户头像的圆形处理 调用系统相册、拍照更改用户头像 支付宝支付集成(提现、充值功能) 手势密码的引入及使用 账户安全-toggle实现简易开关切换 我的资产 ? 退出登录功能 ? 使用MpAndroidChart三方开源库绘制各种图表 登录功能(Md5加密) ? 拷贝Md5Utils工具类

24、 ? 登录逻辑处理 进入我的资产fragment登录逻辑判断放在onStart()生命周期方法中 因为oncreateView方法只会在创建fragment对象的时候执行,如果已经有了,不会执行,而 onStart()在每次进入fragment界面的时候都会执行。 FastJon数据解析 ? 拷贝fastJson的jar文件到libs ? 根据服务器返回的json数据格式,定义bean对象 ? 关键api方法 JSONObject jsonObject = JSON.parseObject(content); Login login = JSON.parseObject(data, Login

25、.class); ? 优点 fastjson解析json数据不区分大小写. 用户头像的圆形处理 ? 查看服务器图片并不是圆形的 ? Poccasso中加载处理图片: ? 关键Api方法: paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN); 调用系统相册、拍照更改用户头像 ? 调用系统相机拍照 Intent camera = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); startActivityForResult(camera, CAMERA); ? 调用系统相册 Int

26、ent picture = new Intent(Intent.ACTION_PICK,vider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI); startActivityForResult(picture, PICTURE); ? 返回结果处理:onActivityResult(); 支付宝支付集成 ? 支付方式 ? 集成支付步骤 拷贝jar文件 拷贝alipay包下的所有类 参照sample例子调用Api完成支付 支付方式 ? 支付必须的三个重要信息 订单的数据 用户的支付宝账户和密码 电商公司的支付宝账户 ? 支付的前

27、置条件 公司需要在支付宝申请账号 ? 支付方式 依赖支付宝客户端 智能sdk(jar包接入) 支付步骤 ? 1:导入alipaysdk.jar、alipaysecsdk.jar、alipayutdid.jar ? 2:拷贝alipay资料包 ? 3: 清单文件配置 ? 4: 代码调用支付 手势密码的引入及使用 ? 拷贝整个lock资料包*:类里边引用到的资源和图片根据自己项目需求变换 ? 了解入口类 LockLoginActivity-验证手势密码入口界面 SetPasswordActivity- 设置手势密码入口界面 ? 手势密码的启动时机 到用户回到桌面,再次回到 APP时 账户安全-to

28、ggle实现简易开关切换 ? ToggleButton控件 android系统提供的开发切换按钮 通过为它指定一个selector的状态选择器, 指定checked不同状态使用的资源背景图片即可实现开发效果,当给 button属性设置selector的xml资源时,它的backgroud需要设置为transparent. 如果不需要问题信息 ,text,textoff,textOn都设置为”。 退出登录功能 ? 退出登录的逻辑处理 清除登录保存的用户sp信息 清除登录保存的用户手势密码信息 ? 清空sp信息API sp.clear().commit(); MpAndroidChart三方库绘制各种图表 ?Android studio中 MpAndroidChart库library的导入 Build.gradle项目依赖错误修复 导入sample module运行示例工程。 研究sample中的代码绘制需求的 3种类型图 表 折线图 柱状图 饼图 MP折线图绘制 ? 在需要绘制的xml布局内引用绘制类型的mp自定义控件 ? 拷贝sample中代码设置具体图表数据及样 式 ? 理解Api方法的意思 MP柱状图绘制 ? Xml布局当中引入Mp要绘制的图表类型自定义

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论