Giter VIP home page Giter VIP logo

jnrain-android's Introduction

JNRain for Android

Build Status

这是江南听雨 BBS 的 Android 客户端,由江南听雨研发中心开发。功能不算完善,十分欢迎各种形式的贡献。江南听雨研发中心热忱欢迎同学们的加入。

许可证

功能特性

敏感权限要求

以下是应用要求的敏感权限及相关说明。为了可读性,权限名称如果以 android.permission. 打头则省略此前缀。说明中提到的使用地点是应用中唯一使用到相应权限的地点,没有遗漏,改动应用功能时开发者应注意更新此处的对应说明。

汉语名称 权限 说明
读取手机状态和身份 READ_PHONE_STATE 用于注册页面自动获取当前手机号码

构建

编译方法

  • 安装 Android SDK,并设置好 $ANDROID_HOME 环境变量(到你的 Android SDK 目录)

  • 安装并设置好 Maven,至少需要 3.1.1 版本。3.0 系列已经不再被最新版的 android-maven-plugin 插件支持。

  • 重要deps/ 目录照着 README 准备依赖关系。

  • 执行构建

    # 在版本库的顶层目录下
    # 生成的 apk 包会出现在 target/ 目录里
    # 生成调试用 apk:
    mvn clean package
    
    # 用正式版配置生成 (进行多遍优化, 混淆生成的字节码, 去除调试信息)
    mvn clean package -Ddebug=0

Eclipse 设置

请参考 deps 目录下的 README 指示完成工作区配置。

依赖的库

JNRain for Android 是基于很多开源库开发而成的产品,以下是依赖项目的列表。为实现代码重用,大量辅助代码和胶水层分离到了 Cytosol 库中。

API 覆盖

  • 旧站 (KBS) API
    • 登录/注销
    • 大区列表
    • 版面列表
    • 热帖(十大)
      • 全站
      • TODO: 大区
      • TODO: 版面
    • 帖子列表
    • 读帖
    • 发帖

新站 API 尚不稳定,数据源也没有,因此暂时没有支持。这部分的工作会在新站上线公测之时同步完成。

jnrain-android's People

Contributors

xen0n avatar yunxiyinzhe avatar zimingjushi avatar

Stargazers

Sandyliao avatar  avatar fangs avatar 李云鲲 avatar Lihang Xu avatar Mozk avatar Liu Yuyang avatar  avatar

Watchers

James Cloos avatar  avatar  avatar Mozk avatar  avatar Dean avatar ZJ avatar Devin avatar

jnrain-android's Issues

应用内注册功能

如题, 准备做好这个就禁止掉客户端的匿名登陆, 像各种网站的客户端一样. 注册的实现思路大概有两种:

  • 应用外. 这是GitHub for Android的实现思路, 把用户用一个 Intent 崩到浏览器里
  • 应用内. 比较麻烦, 但体验很好

然后这里应用内注册的话Activity之间的连接关系怎么处理? 这里需要讨论一下, 我对activity lifecycle理解很浅的...

求补上发帖API的WIKI

目前做了个纯潜水版的iOS客户端。想再增加发帖功能。有什么难点吗?

落花下的API wiki不全,Android客户端代码看不懂。。

新站不上,目前还得用旧站。

账户管理最佳实践

@yunxiyinzhe 本鶸花了一个多月终于跌跌撞撞用 Android 自己的账户框架实现了一部分账户认证, 也是方便年底添加新站支持... 以下是基本的说明:

  • 用上了 git-flow, 账户子系统相关的提交都封在 feature/accounts 分支里
  • 加了一个 江南听雨 (旧站) 账户类型, 代码都在 org.jnrain.mobile.accounts 包里
  • 目前只改写了 LoginActivity 的相关接口, 注销和其他Activities根本没有接入
  • 因为 KBS 用的是 cookie 认证, 所以同一时刻只能有一个账户存在, 这个条件的保障也没做

... 那么大侠能不能试着帮我接上这部分工作? 不胜感激~

类组织结构调整

原来的类组织结构一团乱麻, 尤其是几个Activity类都挤在根package那里, 非常不美观. 需要调整下, 在 0.4 之前解决就好了.

转述一个问题

@xen0n

import name.xen0n.cytosol.data.SimpleReturnCode;
import name.xen0n.cytosol.ui.util.DialogHelper;
import name.xen0n.cytosol.ui.util.ToastHelper;
能不能帮我问下,这个name.xen0n.cytosol包是哪儿来的啊

是那个听雨上搞安卓开发的学长问我的,先转发到这里了,之后我会问他github的账号把他加进组织里来。

正确的 SlidingMenu 集成

只有实现这个才能做活动快报寻人寻物这种有意思的拓展功能... 然后也能让很多方便功能更加暴露, 比如

  • 注销
  • 设置
  • 关于 (检查更新)

现在初步的实现代码在 feature/slidingmenu 分支里, 只实现了一个 Activity 的集成. 然后这样会在活动间导航出大问题, 这里应该把几乎所有的 Activity 改成 Fragment, 然后把 Activity 转换代码写成FragmentTransaction (IIRC) 的形式.

开个 issue 方便跟踪进度

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.