2014年9月8日 八月十五 祝各位中秋节快乐

小巫断断续续花了几个星期的时间开发了这么一款应用——小巫CSDN博客,属于私人定制的这样的一款应用,整个客户端的数据全部来自本人博客,是通过爬取本人博客地址html页面,然后解析html把数据提取出来,整个客户端的技术难点主要是如何对html界面进行分析和使用Jsoup对html代码进行解析。目前本人的这款应用已经开发出来了,近段时间会提交应用商店进行审核,不久大家就可以看到这么一款逼格满满的客户端上线了。

本篇博客是关于这款应用的开发的起始篇,主要简单介绍一下整个项目的概况,整体大纲如下:

1. 项目起因

2. 项目效果展示

3. 项目文档结构和依赖库说明

4. 项目功能简介

5. 系列博客分享后期计划

一、项目起因

笔者开发这么一款客户端也是兴趣使然,因为CSDN官方并没有一款可供笔者实用的客户端,笔者就想着如何来开发一款客户端让自己方便在手机上查看博文,寻找了一圈,后来在CSDN博客上发现了一位大神所开发的CSDN资讯的客户端,并研究了其里面的实现。本人博客的主界面效果跟资讯客户端类似,只是进行了相关的调整,使其适应笔者所需要的效果。这里还得感谢那位大神的开源,我才有机会去开发关于博客的客户端,因为通过研究它的使用技术,让我有了思路去分析博客html代码,这样才有了这款应用的诞生。开源能促使人进步,所以小巫最后会把整个项目无私开源出来,让大家有一个很好的参考去开发这样的客户端。

这里要说一下CSDN开放平台,因为这个客户端属于私人定制的,所有的数据只来自本人博客,如果想开发适合大众使用的,唯有通过调用CSDN为开发者提供的接口,这里很遗憾的告诉大家,笔者尝试过与CSDN技术沟通,但并未得到满意的答复,CSDN开放平台目前暂时不能提供接口让我们使用,所以只能等待了。

二、项目效果展示

没图没真相,大家自然是当我凭口说空话,下面是小巫CSDN博客的界面效果截图:

主界面

侧边栏

博文详细内容

博文评论列表

三、项目文档结构与依赖库介绍

 
com.xiaowu.blogclient ——项目包名,存放界面相关代码
com.xiaowu.blogclient.adapter——存放内容适配器代码
com.xiaowu.blogclient.model——存放数据模型定义代码
com.xiaowu.blogclient.net——存放网络操作代码
com.xiaowu.blogclient.umeng——存放友盟组件相关代码
com.xiaowu.blogclient.util——存放工具类代码
com.xiaowu.blogclient.view——存放自定义控件代码
 
依赖库
 
这个截图展示的是,笔者项目使用的SDK版本和所有依赖库项目,这里分别介绍一下
 
gesture-imageview——可以手势操作的ImageView
imageloadlibrary——异步加载网络图片的库
viewPagerlibrary——视图页面切换的库
XListView——下拉刷新和上拉刷新的库
slidingmenu_library——侧滑菜单的库
 
这些库都是需要事先Import到工作空间,然后通过addLibrary关联到项目中去。
 
 
 

四、项目功能简介

本人这个客户端主要包含以下几个功能:
1. 分类获取博主博文列表
2. 查看博文详细内容
3. 查看博文评论列表
4. 软件自动更新
5. 社会化组件分享
6. 广告条、插屏广告
 
自然最重要的还是最后那一项功能,各位开发者幸幸苦苦开发一款应用自然想获取一定回报,笔者后面会以博文形式详细给大家介绍如何集成广告,然后获取一定的收益。
 
 

五、系列博客分享后期计划

笔者为了让初学者或者想更加清晰的了解整个客户端的开发细节,会发布一系列博文来介绍相关内容,比如如何分析和解析html代码,如何集成第三方组件,发布广告获取收益等等。一系列的干活,我想都是开发者比较想要看到的内容,笔者牺牲自己空余时间来做这样一件事情,是很高兴得到大家的关注和支持,为了不愧对大家的关注,为了传播真诚、分享、共赢的信念,做这些事情就是值得的,价值的体现才是创造的原动力。
 
 
最后项目已经开源,各位可以到笔者的github下载:https://github.com/devilWwj/CSDN-Blog-Client
由于本人的能力有限,项目可能有很多没有完善的地方,或者存在bug,后期笔者会继续完善和更新版本,谢谢大家。

Android应用开发-小巫CSDN博客客户端开发开篇的更多相关文章

  1. Android应用开发-小巫CSDN博客client之显示博文具体内容

    Android应用开发-小巫CSDN博客客户端之显示博文具体内容 上篇博文给大家介绍的是怎样嵌入有米广告而且获取收益,本篇博客打算讲讲关于怎样在一个ListView里显示博文的具体信息.这个可能是童鞋 ...

  2. Android应用开发-小巫CSDN博客client之获取评论列表

    Android应用开发-小巫CSDN博客客户端之获取评论列表 上一篇博客介绍了博文具体内容的业务逻辑实现,本篇博客介绍小巫CSDN博客客户端的最后一项功能.获取评论列表,这个功能的实现跟前面获取文章列 ...

  3. Android应用开发-小巫CSDN博客client之嵌入有米广告

    Android应用开发-小巫CSDN博客client之嵌入有米广告 上一篇博客给大家介绍怎样集成友盟社会化组件,本篇继续带来干货,教大家怎样嵌入广告到应用中去.小巫自称专业对接30年,熟悉各大渠道SD ...

  4. Android应用开发-小巫CSDN博客clientJsoup篇

    Android应用开发-小巫CSDN博客clientJsoup篇 距上一篇博客已经过去了两个星期,小巫也认为很抱歉,由于在忙着做另外一个项目,差点儿抽不出空来,这不小巫会把剩下的博文全部在国庆补上.本 ...

  5. 基于Netbeans的安卓Android开发环境配置 - CSDN博客

    原文:基于Netbeans的安卓Android开发环境配置 - CSDN博客 基于Netbeans的安卓Android开发环境配置 一.准备工作 NetBeans 勾选网页中的Accept-选择对应系 ...

  6. iOS开发的知名大牛博客小汇

    王巍的博客:王巍目前在日本横滨任职于LINE.工作内容主要进行Unity3D开发,8小时之外经常进行iOS/Mac开发.他的陈列柜中已有多款应用,其中番茄工作法工具非常棒.http://onevcat ...

  7. 小议common lisp程序开发流程 - Ever 17 - 博客频道 - CSDN.NET

    小议common lisp程序开发流程 - Ever 17 - 博客频道 - CSDN.NET 小议common lisp程序开发流程 分类: lisp 2011-04-17 20:59 1316人阅 ...

  8. 敏捷开发用户故事系列之十一:CSDN博客用户故事分析

    这是敏捷开发用户故事系列的第十一篇.(栏目目录) 经常有人问起有没有完整的用户故事案例.本人在网上找了一下,大约能找到两三篇,但多数只是为了描述用户故事的语法而已,都不涉及用户故事的颗粒度.大量故事的 ...

  9. 安卓开发:简单的登陆跳转_APK实现直接跳转到本CSDN博客

    最近在开始接触Android APP开发,有了一点java基础之后,安卓代码确实看起来就没有那么难了,可以跟着书上把例程敲一遍,然后熟能生巧可以应用起来,现在写了一个简单的APP,实现的是Edit编辑 ...

随机推荐

  1. Hive学习笔记(四)-- hive的桶表

    桶表抽样查询 查看hdfs上对应的文件内容 一个两个桶,第一个桶和第三个桶的数据 task = 4 4 / 2 = 2,一共是两个桶 第1个桶,第1+2个桶

  2. syntax error, error in :'e id=1?', expect QUES, actual QUES pos 66, line 1, column 66, token QUES错误

    在查询数据库的时候报了下面的异常: syntax error, error in :'e id=1?', expect QUES, actual QUES pos 66, line 1, column ...

  3. C++程序在Windows平台上各种定位内存泄漏的方法,并对比了它们的优缺点

    一.前言 在Linux平台上有valgrind可以非常方便的帮助我们定位内存泄漏,因为Linux在开发领域的使用场景大多是跑服务器,再加上它的开源属性,相对而言,处理问题容易形成“统一”的标准.而在W ...

  4. [Offer收割]编程练习赛48

    题目1 : 折线中点 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 给定平面上N个点P1, P2, ... PN,将他们按顺序连起来,形成一条折线. 请你求出这条折线的 ...

  5. 九度oj 题目1184:二叉树遍历

    题目描述: 编一个程序,读入用户输入的一串先序遍历字符串,根据此字符串建立一个二叉树(以指针方式存储). 例如如下的先序遍历字符串:ABC##DE#G##F###其中“#”表示的是空格,空格字符代表空 ...

  6. android.os.NetworkOnMainThreadException解决办法

    代码改变世界 在发起Http请求的Activity里面的onCreate函数里面添加如下代码: StrictMode.setThreadPolicy(new StrictMode.ThreadPoli ...

  7. Dinic 算法钩沉

    最初是从<挑战程序设计竞赛>上了解到 Dinic 算法的.其中对于 Dinic 算法中的关键词--分层图(layered network,也称『层次图』)的引入的解释如下: 因为最短增广路 ...

  8. HDU-2234 无题I

    为每个状态定义两个函数S和H,分别表示当前状态到列一致和行一致的目标状态的最少操作次数. 然后有了估价函数F=Min(S,H)就可以IDA*了. #include <cstdio> #in ...

  9. La 4670 AC自动机(模版)

    #include<iostream> #include<cstring> #include<queue> #include<cstdio> #inclu ...

  10. 洛谷P1201 [USACO1.1]贪婪的送礼者Greedy Gift Givers

    题目描述 对于一群(NP个)要互送礼物的朋友,GY要确定每个人送出的钱比收到的多多少.在这一个问题中,每个人都准备了一些钱来送礼物,而这些钱将会被平均分给那些将收到他的礼物的人.然而,在任何一群朋友中 ...