client

授权协议 MIT License
开发语言 Java
所属分类 手机/移动开发、 Android UI 组件
软件类型 开源软件
地区 不详
投 递 者 卢黎明
操作系统 Android
开源组织
适用人群 未知
 软件概览

�� The Universal Tox Client

Crowdin

This project is a fresh start of the new Tox client I'm willing to dev. It's shared between platforms with only one codebase and can run easily on Android, iOS, Linux, OSX, Windows 10/UWP, Windows 7/8, and maybe Windows Phone.

The main goal of this project is to provide the same experience between platforms by giving users an instant messenger application that is both secure and user-friendly.

You can live preview most of the components on The Storybook!

Table of Contents

�� Roadmap

Milestone 1 (v0.1.0-alpha)

Create a library (and publish it on NPM) containing the UI elements that will be used in the client. That means a LOT of small and bigger components that needs to be reusable and that MUST performs/looks the same not depending if that's run on the browser, the desktop client, or the mobile one.

Milestone 2 (v0.2.0-alpha to v0.5.0-alpha)

Create a library (and publish it on NPM) that allows to use c-toxcore on mobile devices. I will need to create a wrapper for Android in Java (I mostly know that language, so shouldn't be too hard) and one for iOS in Obj-C/Swift, which are languages I have never tried nor used, and that I'll have to learn to get this milestone right.

Milestone 3 (v0.6.0-alpha to v0.8.0-alpha)

Wire's all the components to redux and map redux actions creators to the react-toxcore library done in the previous milestone. Have everything properly working on every platform, whether it's in the browser, iOS, Android, Linux, Windows or OSX. Everything has to look exactly the same, and works the same, and even have the same bugs!

Milestone 4 (no release)

Take a break with the client development and create a small promotional website, with a blog and stuffs to aid in getting the app in user's hands. This website will need to be clear, simple and attractive. The blog will serves as a distribution channel, and thus needs to be polished and localized.

Milestone 5 (v0.9.0-beta)

Publish the app on respective App Stores (App Store, Play Store, Windows Store, and get it in AUR + Fedora + Ubuntu + Solus repos) in beta test mode, spread the word and collect users feedbacks.

Milestone 6 (v1.0.0-rc1)

Fix all the issues reported during the beta-test period and update the branding a little bit to gives beta-tester new "features", giving them more enjoyment ! Release a pre-release for 2 weeks extra bugs reports.

Milestone 7 (v1.0.0-rc2)

Finally fixes all the issues from last pre-release 2 weeks time (as they appears) and do release a 1st stable version to peoples.

Milestone 8 (v1.0.0-rc3)

Take some time to build a list of all the app's strings, prepare them for localization (ICU format), setup tooling to enable people to translate in their languages. Wait 2 weeks for translations to be done, then release.

�� Translating

This project uses Crowdin to manage translations, you are free (and encouraged) to contribute by localizing it in your very own language!

�� Compiling

Before targeting a specific platform, you need to clone the repository and to install required dependencies.

# Clone the directory as `toxclient`.
$ git clone https://github.com/Tox-Client/client.git toxclient
$ cd toxclient/

# Now install the dependencies with Yarn:
$ yarn
# Or with NPM:
$ npm install

Android

$ react-native run-android

iOS

$ react-native run-ios

Web

You can use Yarn or NPM for the following step, depending on your preference.

# Using Yarn:
$ yarn web

# Using NPM:
$ npm run web

Windows

$ react-native windows
$ react-native run-windows

Desktop (Electron)

You can use Yarn or NPM for the following step, depending on your preference.

# Using Yarn:
$ yarn electron

# Using NPM:
$ npm run electron

�� Build for production

Android/iOS

This will help

Web

npm/yarn run build (this will build your production ready bundle)

�� Donations

I currently work on this project during my free-time, but also during my work-time. As I'm my own boss, I take work time to work on personnal projects that I really believes in. But during this time, I don't win any money. I'm not doing that for money.

Anyway, if you consider support me, you can pay me a pack of Monster's cans for moore productive coding, :D.

I accept donations in form of Monero, Bitcoin and Etherum. You can also Patreon me !

Monero

47XpVhUHahViCZHuZPc2Z6ivLraidX7AxbM8b2StdPcQGwjDGY14eqj9ippW7Pdrqj9d2y4xvwChzePQAqG1NvqQ775FKxg

Bitcoin

18BqyV9mNbFLi5HNNnfUprnPJyJDFP59Xh

Ethereum

0xe96357E4Dabd51970Bf8fcF9633Cc0c70712466e

Patreon

Become a patron

If you wish to support me, but doesn't have money for, you can still message me on Wire and give me some free hugs! :D

  • Wire handle: @SkyzohKey

�� License

This project is licensed under The MIT License.

  • 目录   1.软件架构 2、Client测试的特点 3、Client测试内容 1.安装测试: 2.卸载测试: 3.UI测试 4.功能测试 5.字符输入测试 6.TOOLTIP测试 7.链接测试 8.操作按钮测试 9.菜单测试 10.程序运行权限测试 11.程序的运行日志 1.软件架构 C-Client(客户端)   S-Server(服务器)   B-Browser(浏览器) C/S架构:(客户端

  • 题目 实现客户机(CLIENT)类。定义字符型静态数据成员ServerName,保存其服务器名称;整型静态数据成员ClientNum,记录已定义的客户数量;定义静态函数ChangeServerName()改变服务器名称。在头文件client.h中定义类,在文件client.cpp中实现,在文件test.cpp中测试这个类,观察相应的成员变量取值的变化情况。 AC的C++代码如下: 类声明头文件 c

  • 解决方法:     在pom.xml中加入或者父pom.xml中加入     <dependency>           <groupId>org.springframework.boot</groupId>           <artifactId>spring-boot-starter-web</artifactId>       </dependency>       即可 报错信息:

  •         为了测试需要,用python写了个精简版mqtt-client。         这次测试的场景是:         mqtt-client连接broker,连接成功后批量订阅topics,订阅后立即publish特定topic的消息。接受到订阅消息则打印出来。 # -*- coding:utf-8 -*- _author_ = 'cookie' import paho.mqtt

  • 这里描述操作elasticsearch采用TransportClient这种方式,官方明确表示在ES 7.0版本中将弃用TransportClient客户端,且在8.0版本中完全移除它. 记录一些常用的方法: 官方文档: TransportClient /** * 简单查询es 指定index type id */ @Test public void search() throws Unkno

  • ElasticSearch在7.17版本之前使用的java客户端是Java REST Client,但是从7.17版本开始,官方将Java REST Client标记为弃用(deprecated),推荐使用新版Java Client。 本文介绍新版ElasticSearch Java Client的基本用法。 具体的代码参照 示例项目 https://github.com/qihaiyan/spr

  • 本文个人博客地址:http://www.huweihuang.com/article/source-analysis/client-go-source-analysis/ 1. client-go简介 1.1 client-go说明 ​ client-go是一个调用kubernetes集群资源对象API的客户端,即通过client-go实现对kubernetes集群中资源对象(包括deployme

  • SpringCloud注册中心eureka启动时报错: com.sun.jersey.api.client.ClientHandlerException: java.net.ConnectException: Connection refused: connect 1、发现问题 在SpringCloud项目启动注册中心Eureka时报这个错 com.sun.jersey.api.client.Cl

  • 1. 前言 ​ WiFIClient库是ESP8266作为TCP客户端使用的库,现在它已经是ESP8266WiFi库的一部分了,本篇中博主会介绍WiFiClient库中相关函数 2. WiFiClient库 2.1 连接相关 2.1.1connect —— 建立TCP连接 int connect(IPAddress ip, uint16_t port) 参数介绍: ip:TCP服务器端的ip地址

  • OSSClient 已过时,最新版的OSS SDK 插件进行文件上传 1、上传形式 流式上传 上传字符串 上传Byte 数组 上传网络流 上传文件流 文件上传 2、上传字符串 // Endpoint以杭州为例,其它Region请按实际情况填写。 String endpoint = "http://oss-cn-hangzhou.aliyuncs.com

  • 1、配置 client_header_buffer_size client_header_buffer_size Syntax: client_header_buffer_size size; Default: client_header_buffer_size 1k; Context: http, server 假设client_header_buffer_size的配置为1k,如果(请求行+请

 相关资料
  • 问题内容: 首先,我不是要在这里发动战争。我非常了解Jersey,但是很少使用httpclient。 jersey-client和Apache的httpclient之间的主要区别是什么?在哪些方面比另一方面更好?哪里有比较好的图表?较大的文件(例如2048 MB)中,哪一个效果更好? 非常感谢您的评论! 问题答案: 这两件事可能不应该直接比较。Jersey是REST客户端,具有完整的JAX-RS实

  • 问题内容: 如何使用google-api-java-client解析用户Google日历中事件的开始和结束时间? 从Google代码安装此示例android项目后,我可以进入Google日历并解析一些信息(例如所有日历,事件名称,发布时间和摘要),但是我无法终生获取事件的开始和结束时间。 我对代码的理解是这样的。 在主要活动类(CalendarAndroidSample.java)内,这是获取我每

  • 问题内容: 我在Web应用程序中使用Jersey 2.13检索数据异步。在某些情况下,请求需要一段时间(即执行复杂报告时,即EE)才能将响应返回给客户端。 当客户端不等待异步响应(离开页面,关闭浏览器等)时,将抛出ClientAbortException。此行为是预期的,但它使堆栈跟踪淹没了我的日志文件,因为在响应返回之前被取消的每个单个异步请求都会打印堆栈跟踪。 堆栈跟踪如下所示: 我也正在使用

  • 问题内容: 我正在尝试创建通过 SOCKS5* 代理 通过Apache HC 4 发送请求的应用。我无法使用应用程序全局代理,因为应用程序是多线程的(我需要为每个实例使用不同的代理)。我没有发现HC4使用SOCKS5的示例。如何使用? * 问题答案: SOCK是TCP / IP级别的代理协议,而不是HTTP。开箱即用不支持HttpClient。 可以使用自定义连接套接字工厂自定义HttpClien

  • 问题内容: 我只是为我的Android应用程序准备小更新,但是当我尝试构建我的应用程序时(在调试模式下),我得到了这个奇怪的错误。如果更聪明的人可以看一下以找出可能出了什么问题,那就太好了。我正在清理/重建/修复项目属性,但没有结果。我不知道这是怎么回事:(。也许有人在这里发生类似的事情?如果这可以帮助我使用以下库:adMob(4.1.1),openfeint和libgdx。 这是建筑日志: 问题

  • 问题内容: 根据文档, “客户端是管理客户端通信基础结构的重量级对象。初始化和处理客户端实例可能是一项相当昂贵的操作。因此,建议在应用程序中仅构造少量的客户端实例。” 好的,我试图将客户端本身和WebTarget实例缓存在一个静态变量中,在多线程环境中调用someMethod(): 但是有时(并非总是)我会例外: 无效使用BasicClientConnManager:连接仍被分配。在分配另一个之前

  • 问题内容: 对于在Jboss部署的应用程序,我有以下异常,浏览器是IE8 似乎浏览器在服务器向它写入internalError.jsp之前关闭了套接字。请提出解决方案的建议,或者至少说明如何隐藏此异常。 谢谢Hikumar 问题答案: 您无法解决。当服务器仍在处理HTTP请求/响应时,您无法控制客户端是按Esc键,还是匆匆单击其他链接,或关闭浏览器,或使其机器崩溃等。 您可以通过执行以下操作的全局

  • 问题内容: 我正在通过JSF中的AJAX更新组件: 由于居住在外面,我必须在ID前面加上冒号()。这可行。 但是,如果我将相同的代码放入组件中并将该组件包括到我的页面中,则代码将失败。原因是声明是指组件层次结构的根,而我要更新的组件实际上位于我的自定义组件下,该组件位于页面下(因此位置为style)。 在组件内部,如何获得组件的正确前缀?我知道我可以手动将ID分配给我的组件,并使用该ID为引用添加