1.要达到的效果 1.1.主要效果图 点击了标题栏的消息图标后,然后会跳转到评论详情的页面. 1.2.触发的点击事件 在新闻详情的片段中的菜单点击事件中 设置上方标题栏的消息标的监听事件 case R.id.action_open_comment: NewsCommentActivity.launch(bean.getGroup_id() + "", bean.getItem_id() + ""); break; bean就是某一个新闻的一些属性,从最前面item中…
1.预览效果 1.1.首先看一下需要实现的效果. 第一种,文字类型新闻. 第二种,图片类型新闻. 1.2.在NewsArticleTextViewBinder中设置了点击事件 RxView.clicks(holder.itemView) .throttleFirst(1, TimeUnit.SECONDS) .subscribe(new Consumer<Object>() { @Override public void accept(@io.reactivex.annotations.Non…
1.效果预览 1.1.要实现的效果 1.2.如何调转到新闻媒体专栏 点击右上角的用户图标. 在新闻详情页面的Fragment的菜单点击事件中触发. case R.id.action_open_media_home: MediaHomeActivity.launch(mediaId); break; 2.媒体主页的活动页面 2.1.源代码 package com.jasonjan.headnews.module.media.home; import android.content.Intent;…
1.段子页面详情 1.1.先看看预览界面吧 左边的页面已经实现了,现在的目的就是要实现点击左侧的每一个item 然后跳转到右边相应的段子详情页面. 1.2.首先肯定有右侧这个活动==>JokeCommentActivity. 外部如何启动? fun launch(bean: JokeContentBean.DataBean.GroupBean) { InitApp.AppContext.startActivity(Intent(InitApp.AppContext, JokeCommentAct…
1.Constant常量定义类 1.1.源代码 public class Constant { public static final String USER_AGENT_MOBILE = "Mozilla/5.0 (Linux; Android 5.1.1; Nexus 6 Build/LYZ28E) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Mobile Safari/537.36"; public st…
1.构建视频主列表的整体碎片VideoTabLayout 1.1.首先创建一个VideoTabLayout package com.jasonjan.headnews.module.video; import android.os.Bundle; import android.support.annotation.Nullable; import android.support.design.widget.TabLayout; import android.support.v4.app.Frag…
1.效果预览 1.1.需要做到的真实效果 1.2.触发的点击事件 在MediaArticleVideoViewBinder的每一个item点击事件中: VideoContentActivity.launch(bean); 在NewsArticleVideoViewViewBinder的每一个item点击事件中: VideoContentActivity.launch(item); 2.视频详情的活动 2.1.首先看一下第三方库==>视频播放==>jiecaovideoplayer的使用 git…
1.RxJava的Observable数据操作符总结 1.1.Map操作符 Map操作符对原始Observable发射的没一项数据应用一个你选择的函数, 然后返回一个发射这些结果的Observable. 简单例子: private void testMap() { String[]items = {"just1","just2","just3","just4","just5","just6&quo…
1.效果预览 1.1.效果预览,从问答列表开始 前面实现了从列表到内容. 这里主要讲解从内容到详情. 点击每一个回答内容,进入回答详情页面. 1.2.触发的点击事件 在WendaContentViewBinder中,设置item点击事件: WendaDetailActivity.lauch(bean): 2.问答详情的活动页面 2.1.源代码 public class WendaDetailActivity extends BaseActivity { private static final…
1.NewsChannelBean简单类笔记 1.1.Comparable接口的实现和使用 参考文章:Comparable接口的实现和使用. 因为NewsChannelBean实现了Comparable<NewsChannelBean> public class NewsChannelBean implements Comparable<NewsChannelBean> 一开始不明白为什么要实现这个接口. ==>其实就是强行对实现它的每个类的对象进行整体排序. 之后会报错,因…
1.效果预览 1.1.如下图所以,到目前为止所有的功能. 2.从InitApp开始->SplashActivity->MainActivity 2.1.InitApp源代码.这是整个项目的Application. public class InitApp extends MultiDexApplication { public static Context AppContext; @Override public void onCreate(){ super.onCreate(); AppCo…
1.构建图片主列表的整体片段PhotoTabLayout 1.1.首先创建一个PhotoTabLayout片段 public class PhotoTabLayout extends Fragment { private static final String TAG = "PhotoTabLayout"; private static PhotoTabLayout instance = null; private static int pageSize = InitApp.AppCo…
1.InitApp==>项目的入口Application 1.1.继承了MultiDexApplication 超过65K方法的APP,会遇到65535的错误.原因就是为了支持比较大型的APP而产生. 参考文章:Android分包MultiDex原理详解. 1.2.在build.gradle中修改multiDexEnabled 然后记得在dependencies中加: implementation 'com.android.support:multidex:1.0.2' 1.3.用第三方库fac…
1.实现订阅号的基础类 1.1.本地订阅号的Bean类==>MediaChannelBean public class MediaChannelBean implements Parcelable { public static final Creator<MediaChannelBean> CREATOR = new Creator<MediaChannelBean>() { @Override public MediaChannelBean createFromParce…
1.深入理解RxJava 1.1.基本上现在的APP都会有请求网络,然后处理回调的业务吧. 如果请求的数据很多,业务越来越复杂,怎么处理呢? 这里我用到了RxJava来帮我处理业务. RxJava主要复杂事件的通知和订阅.这个挺起来没有什么概念. 其实说白了,RxJava就是优雅地处理函数回调. 1.2.推荐参考文章:我们为什么要用rxjava? 这篇文章以一个案例的方式,详细解释了rxjava的功能. 下面我来深入分析一下. 1.3.以通常思维模式来处理这个案例. 这个比较好理解,但是这种方式…
1.根据API返回创建几个基础的Bean 1.1.WendaArticleDataBean类 API返回的数据如下: /** * cell_type : 36 * extra : {"wenda_video":[],"show_answer":false,"video_large_card":false,"label_style":{"color_type":0,"name":"…
1.整体构架 1.1.以一个段子页面为例,列出用到的主要的类,以图片的方式展示. 1.2.基础类 这里最基础的接口有:   IBaseView<T>==>定义了5个方法. 然后最基础的碎片是:BaseFragment<T extends IBasePresenter>==>3个抽象方法. 然后继承BaseFragment的抽象类:LazyLoadFragment<T extends IBasePresenter>==>1个抽象类 然后继承LazyLoa…
1.以新闻页中的段子数据显示为例 1.1.首先执行InitApp==>SplashActivity. 因为在AndroidManifest.xml中定义了一个<intent-filter>中有定义启动页 1.2.然后SplashActivity==>MainActivity. 这是是intent的跳转. 1.3.然后执行MainActivity中的onCreate==>执行里面的initView() override fun onCreate(savedInstanceSta…
1.真实页面预览 1.1.成果预览 首先是问答列表 然后每个item设置点击事件,进入问答内容列表 然后每一个问答内容也设置点击事件,进入问答详情 1.2.触发事件. 在WendaArticleOneImgViewBinder中,设置item的点击事件, 跳转到WendaContentActivity. 在WendaArticleTextViewBinder中,设置item的点击事件, 跳转到WendaContentActivity. 在WendaArticleThreeImgViewBinde…
1.搭建NewsTabLayout片段 1.1.加载布局 @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_news_tab, container, false); initV…
1年前,我在文章:这些.NET开源项目你知道吗?.NET平台开源文档与报表处理组件集合(三)中(第9个项目),给大家推荐了一个开源免费的PDF读写组件 PDFSharp,PDFSharp我2年前就看过,用过简单的例子,不过代码没有写成专门的文章.最近在查找资料的时候,又发现一款小巧的写PDF文件的C#组件:PDF File Writer.该开源组件是在codeproject,还没有托管到其他地方,所以花了点时间了解了一下,分享给大家. .NET开源目录:[目录]本博客其他.NET开源项目文章目录…
本机配置cuda8.0使用的cudnn是下面要说的重点,vs2015,win10,1080Ti 下载了开源项目:https://github.com/senlinuc/caffe_ocr 编译的时候报错:caffe_ocr-master/src/caffe/layers/DenseBlock_layer.cu(283): error : too many arguments in function call 调用的地方: CUDNN_CHECK(cudnnSetConvolution2dDesc…
git上搜了几个platform的代码,有一个项目给我感触挺深的. https://github.com/ThomasHansson/Appium-cross-platform-example/tree/master/AppiumExample/app/Android https://github.com/patrickfav/uber-adb-tools/blob/master/src/main/java/at/favre/tools/uberadb/parser/AdbDevicesPars…
本博客所有文章分类的总目录链接:本博客博文总目录-实时更新 1.本博客其他.NET开源项目文章目录 37..NET平台开源项目速览(17)FluentConsole让你的控制台酷起来 36..NET平台机器学习组件-Infer.NET(三) Learner API—数据映射与序列化 35..NET平台开源项目速览(16)C#写PDF文件类库PDF File Writer介绍 34..NET平台开源项目速览(15)文档数据库RavenDB-介绍与初体验 33..NET平台开源项目速览(14)最快的…
近几日想在一个项目中引进一个Socket Server,用来接收客户端发送的命令消息并根据具体的业务逻辑对消息进行处理,然后转发给其它在线的客户端.因为以前在博客园关注过江大渔开源的SuperSocket,后来便在Github和Codeplex上一直关注该项目,但仅仅限于关注和了解.这次想通过具体的实践进一步学习该框架.我觉得一个优秀的开源项目离不开漂亮的代码.清晰的文档.完善的测试.持续的更新,当然从普通走向卓越更离不开社区的支持(源码.宣传.案例及文档等).而SuperSocket对我个人而…
前言 这是一个系列文章,从环境搭建开始讲解,包括网络数据请求,将持续更新到项目完结.实战开发中遇到的各种问题的解决方案,也都将毫无保留的分享给大家. 关注订阅号:TongeBlog ,查看移动端跨平台开发框架Ionic项目实战全套教程. 项目介绍 本项目基于移动跨平台开发框架 Ionic 开发,主要包含健康.医疗.生活.农业.和用户五大模块,以下是功能架构图. 目录 [ionic开源项目教程] 第1讲 前言,技术储备,环境搭建,常用命令 [ionic开源项目教程] 第2讲 新建项目,架构页面,配…
目录 [ionic开源项目教程] 第1讲 前言,技术储备,环境搭建,常用命令 [ionic开源项目教程] 第2讲 新建项目,架构页面,配置app.js和controllers.js [ionic开源项目教程] 第3讲 使用Tabs和SlideBox实现左右滑动菜单 [ionic开源项目教程] 第4讲 通过Service层获取新闻列表 [ionic开源项目教程] 第5讲 如何在项目中使用全局配置 [ionic开源项目教程] 第6讲 过滤器filter的使用 [ionic开源项目教程] 第7讲 实现…
目录 [ionic开源项目教程] 第1讲 前言,技术储备,环境搭建,常用命令 [ionic开源项目教程] 第2讲 新建项目,架构页面,配置app.js和controllers.js [ionic开源项目教程] 第3讲 使用Tabs和SlideBox实现左右滑动菜单 [ionic开源项目教程] 第4讲 通过Service层获取新闻列表 [ionic开源项目教程] 第5讲 如何在项目中使用全局配置 [ionic开源项目教程] 第6讲 过滤器filter的使用 [ionic开源项目教程] 第7讲 实现…
很多App要做到极致的话,对网络状态的监听是很有必要的,比如在网络差的时候加载质量一般的小图,缩略图,在网络好的时候,加载高清大图,脸书的android 客户端就是这么做的, 当然伟大的脸书也把这部分代码开源出来,今天就来带着大家分析一下脸书的这个开源代码. GitHub 地址https://github.com/facebook/network-connection-class 注意这个项目下载下来以后 会报很多错误,导致很多人运行不了,大家要根据各自电脑不同的情况修改gradle脚本,才能让…
1. 由于android没有自带的gif动画,我在Android(java)学习笔记198:Android下的帧动画(Drawable Animation) 播客中提到可以使用AnimationView(帧动画)方法先将一个gif动画利用软件分割成若干静态图片,然后按照一定的时间间隔和播放顺序一帧一帧播放图片,从而给用户体验仿佛是动画gif播放的效果 2.其实网上的开源项目中有更为完善的gif动画播放的代码,下面以此为例进一步了解开源项目的使用: (1)在https://github.com/网…