当前位置:首页 » 安卓系统 » android从服务器下载

android从服务器下载

发布时间: 2023-10-05 15:55:24

① Android开发常用工具(二)

1、TAPD

腾讯出品,用于软件研发流程控制:产品提需求->根据需求分配任务->完成任务提测试->测试完成->发布版本,一整套工作流程都可以在上面实现。记得15年时,我们的工作模式流程是全部分开的,产品写需求在word文档存在svn,开发想看要先在svn下载,测试提测是通过在禅道上提测。

2、TIM

比QQ好用,专注于办公模式,没有杂七杂八的功能。

3、Putty

用来连接远程 登录 linux服务器,部署项目,jenkin等等 。

4、FileZilla

FTP软件,分为客户端版本和服务器版本,具备所有的FTP软件功能。android开发中用于上传apk包到服务器或者从服务器下载apk包。

5、Total Control

是一款将手机屏投射到电脑屏,用电脑实时控制手机的软件。可以不用低头看手机啦,但有个缺点,连接手机后点击编辑框软键盘不会被弹窗,可能是没设置好,也很少用这个软件。

6、scrcpy

Github上的开源项目:https://github.com/Genymobile/scrcpy,Android投屏神器,相比Total Control ,质量高清,低延迟,启动快,非侵入性。

7、Chrome

谷歌浏览器,非常简洁,适用于开发办公,很喜欢书签的保存功能,用来保存Jenkins打包、测试服操作日志、测试服后台管理系统、免费看球的链接等等。

8、向日葵

远程控制电脑软件,疫情期间用于在家办公想控制公司电脑,相比其它远程控制软件,延迟低,连接快。

9、Proxifier

全局代理软件、配合shadowsocks等可实现全局软件科学上网。

10、Notepad++

像记事本一样,小巧、免费的纯文本编辑器,内置支持多达 27 种语法高亮度显示(囊括各种常见的源代码、脚本),可以方便用来编辑shell脚本、查看代码等等。

② 我开发了一个Android应用,想放在自己的服务器上,让其他人下载apk,怎么设置

服务器配置IIS服务器,或部署一个web项目然后提供一个下载的URL

③ android开发用什么从服务器获取数据

在android中有时候我们不需要用到本机的SQLite数据库提供数据,更多的时候是从网络上获取数据,那么Android怎么从服务器端获取数据呢?有很多种,归纳起来有
一:基于Http协议获取数据方法。二:基于SAOP协议获取数据方法,三:忘了-------
那么我们的这篇文章主要是将关于使用Http协议获取服务器端数据,这里我们采取的服务器端技术为java,框架为Struts2,或者可以有Servlet,又或者可直接从JSP页面中获取数据。
那么,接下来我们便开始这一路程:
首先:编写服务器端方法,我这里采用的MVC框架是Struts2,目的很单纯,就是为了以后做个完整的商业项目,技术配备为:android+SSH。当然,篇幅有限,我这里就直接用Strtus2而已。
服务器端:新建WebProject ,选择Java ee 5.0.
为了给项目添加Struts2的支持,我们必须导入Struts2的一些类库,如下即可(有些jar包是不必的,但是我们后来扩展可能是要使用到的,就先弄进去):
1: xwork-core-2.2.1.1.jar
2: struts2-core-2.2.1.1.jar
3: commons-logging-1.0.4.jar
4: freemarker-2.3.16.jar
5: ognl-3.0.jar
6: javassist-3.7.ga.jar
7:commons-ileupload.jar
8:commons-io.jar
9:json-lib-2.1-jdk15.jar 处理JSON格式数据要使用到

10:struts2-json-plugin-2.2.1.1.jar 基于struts2的json插件
以上的jar包,需要放在WebRoot/WEB-INF/lib目录下
然后在web.xml文件中敲下:
View Code
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

<!-- 定义Struts2的核心控制器:FilterDispatcher -->
<filter>
<!-- 定义核心Filter的名称 -->
<filter-name>struts2</filter-name>
<!-- 定义Filter的实现类 -->
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>

<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>

</web-app>
然后编写struts.xml文件,并放在WebRoot/WEB-INF/lib目录下:如下代码:
View Code
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>

<!-- setting encoding,DynamicMethod,language
<constant name="struts.custom.i18n.resources" value="messageResource"></constant>
-->
<constant name="struts.i18n.encoding" value="UTF-8"></constant>
<constant name="struts.enable.DynamicMethodInvocation" value="true"></constant>

<!-- add package here extends="struts-default"-->
<package name="dongzi" extends="json-default"> <!--需要将struts-default改为json-default-->
<!-- setting action -->
<action name="login" class="com.dongzi.action.loginAction" method="login">
<result type="json"></result> <!--返回值类型设置为json,不设置返回页面-->
</action>
</package>
</struts>
配置好后,我们再根据<action>标签内容来编写action。方法为method对应的login,类名为loginAction,
注意:包继承为:json-default ,输出结果类型为json
如下:
View Code
public class loginAction extends ActionSupport implements
ServletRequestAware,ServletResponseAware {
/**
*
*/
private static final long serialVersionUID = 1L;

HttpServletRequest request;
HttpServletResponse response;

public void setServletRequest(HttpServletRequest request) {
this.request=request;
}

public void setServletResponse(HttpServletResponse response) {
this.response=response;
}

public void login(){
try {
//HttpServletRequest request =ServletActionContext.getRequest();
// HttpServletResponse response=ServletActionContext.getResponse();
this.response.setContentType("text/html;charset=utf-8");
this.response.setCharacterEncoding("UTF-8");
if(this.request.getParameter("username").equals("123456")){
this.response.getWriter().write("真的很奇怪,日本人!");
}else if(this.request.getParameter("username").equals("zhd")){
this.response.getWriter().write("没有错,我就是东子哥!");
}else{
this.response.getWriter().write("我就是东子哥!");
}

//将要返回的实体对象进行json处理
// JSONObject json=JSONObject.fromObject(this.getUsername());
//输出格式如:{"id":1, "username":"zhangsan", "pwd":"123"}
// System.out.println(json);

// this.response.getWriter().write(json.toString());
/**
JSONObject json=new JSONObject();
json.put("login", "login");
response.setContentType("text/html;charset=utf-8");
System.out.println(json);
byte[] jsonBytes = json.toString().getBytes("utf-8");
response.setContentLength(jsonBytes.length);
response.getOutputStream().write(jsonBytes);
**/
/**
JSONObject json=new JSONObject();
json.put("login", "login");
byte[] jsonBytes = json.toString().getBytes("utf-8");
response.setContentType("text/html;charset=utf-8");
response.setContentLength(jsonBytes.length);
response.getOutputStream().write(jsonBytes);
response.getOutputStream().flush();
response.getOutputStream().close();
**/

} catch (Exception e) {
e.printStackTrace();
}
// return null;
}
}
运行查看下:http://localhost:8080/PDAServer/login.action?username=123456 当然你可以输入其他参数的URL

④ android开发 如何在程序内打开从服务器下载下来打PDF文件

程序直接打开是不可能的.这相当于是要你写一个pdf阅读器.
给你个方案吧.使用google在线打开pdf.
http://www.freehao123.com/google-docs-viewer/

把你pdf文档的链接加到google doc views的链接后面,再以webview打开.就可以了.

⑤ 将一套Android代码上传到git服务器再下载下来报错crt1.o: No such file: No such file or directory

你的设置大概有问题。在上传Android代码到git服务器时,按照默认的过滤规则给你过滤掉了.o等文件。可以看看备份,检查一下里面原有的.o是不是都没有被导入。

⑥ 我在Android Studio用代理服务器下载sdk时,出现这状况,该怎么解决

代理服务器不稳定 ,可能中断,在sdk manager里看看你需要的东西有没有installed,没有的话再选择下载就是了,这个没什么问题的

⑦ 有没有可以在线播放种子链接的软件(安卓)

Android下是一样可以实现和PC完全一样的BT协议的边下边播的技术的。
虽然P2P技术是在pc时代诞生和发扬光大的,但这几年,移动端也开始有一些使用P2P技术的苗头了。移动端在应用P2P其实是大部分特性和PC下可以做到基本一样的,包括下载速度等。因为现在的手机的性能,比10几年前赛扬1G、128M内存的电脑性能要好不少的。而BT其实最初是诞生在512M CPU、128M内存的年代。我印象中,我当时大学时期开始接触到BT的下载速度,那时候感觉就是极速,而那个时期我的电脑就是一台赛扬1G+128M内存+40G硬盘的老古董电脑,但在那个年代,其实跑BT还是很顺畅的。
所以,移动端的硬件性能等支持P2P技术是没问题的。而早几年P2P在移动端应用的比较少的原因可能主要在以下几点:
1)资费:前几年的移动端,是大量3G、4G的上网模式,这种模式下用户资费又贵,你让用户p2p给别人上传,用户会骂人的。而这几年很多是不限流量了,并且WIFI网络也多了起来,所以近几年P2P在移动端下有了起色。
2)存储:2006年左右用的智能手机当时是多普达的,基于Windows Mobile系统的。那时候其实我就开发了一款bt软件,移植到了这款多普达手机里面,跑起来功能、性能和PC下是差不多的,并且是同一套代码。但当时最大的问题就是存储太小,整个手机的存储好像还不到1G,能用来下载看电影的,大的电影都存不下一部,所以当时只能是一个尝试和做小规模使用。
如果没有存储,怎么P2P,下载完成很快就删除了,分享率太低的。只是下载的过程中在分享,下载完成后就不分享,这样的分享率是很低的。
这几年的手机,动不动已经64G、128G存储了,所以这个问题也在逐步改善,128G可以存几部电视剧了。
3)用户习惯:其实这个很重要,因为早几年一直都是PC时代,用户的使用习惯、观影习惯大都是在PC下,所以这种情况下做移动应用的人动力是不足的。
而近几年,跟朋友聊天,做一款软件,他们一般第一反应就是:不先上PC,PC量很小,先做Android,如果体验好,接着再上IOS。所以这也反应了这属于用户习惯的水到渠成。
4)电量和发热:p2p软件如果下载完成后,还持续上传,一般是常驻后台,容易造成用电快和发热大的问题,不过这些可以通过软件设置、用户体验设置去改进,比如在充电+wifi下低速上传之类的。
所以随着上面一些情形的转变,我本人最近几年的发现是,P2P技术慢慢的在手机上也开始预热和有了应用。包括题主问到的p2p边下边播。
所以,p2p边下边播在Android下是完全和PC一样的代码就可以的,这个是已经被我们的点云影音产品,以及使用该产品的很多家客户证实了的。
我们最初的p2p影音就是PC端的,最近几年,Android、IOS下也都有很多家客户在逐步使用了,效果要比单纯的http模式好很多,大概的原理是这样实现的:
1)播放器在播放磁力链、或者torrrent文件时,调用点量P2P引擎,p2p引擎里面通过torrent或者磁力链信息,去通过tracker、DHT寻找周围的peer邻居,然后获取数据。
2)p2p获取到的数据,通过播放器可以支持的协议,返回给播放器,播放器来看,这就是一个标准的mp4/flv等视频文件,所以他可以正常播放
3)播放器在拖动时,p2p引擎自动切换下载位置,并返回数据。
以上这些是不分Android、IOS还是PC的,只是在移动端可能下载速度、检测是否WIFI之类的有些策略上的差异而已。
采用P2P实现播放的优势其实有很多,至少这些方面是不容忽视的:
1)节省服务器带宽:这个是p2p众所周知的优点,这里就不多加赘述了。
2)可以多源下载:这个是人们往往忽略的,经常有人问我说:如果只有一个人下载,此时p2p是不是就没什么好处了。其实这个也是不对的。就算只有一个人下载,这个用户如果用普通http,一般是从单个服务器下载,如果遇到这个服务器比较慢,他只能忍受。但如果是p2p的系统,p2p后端可以有多台服务器,比如你购买10几台美国服务器,带宽又便宜,又不限流量,这种模式下,下载是从10几台服务器一起下载,速度还是要快,而且就算一台服务器宕机,也一点不影响下载,这个其实也是p2p的一个很大的好处。服务器运维时,上下线对用户没有任何影响。
3)天然的防盗链:p2p协议如果不用标准的BT协议,是完全可以自定义一些私有传输协议的。这种协议,用户几乎无法去盗链你的资源,除非他自己写一个一样协议的p2p软件,所以这方面优势比http好太多。
4)用户下载速度比HTTP快:因为多源下载,所以自然速度就比单服务器模式速度可以快。
5)成本低:不同于http模式,p2p的服务器不一定放优质机房,可以只少量放机房。很多服务器可以用美国的低价服务器,1G带宽一个月就1000多人民币,这价格秒杀很多国内机房。2008年以前,我还见过有人是租一些民房,放一些普通电脑,用来做p2p加速。特别是找一些带宽上传便宜的地区,因为很多民用带宽在很多地区1年只有几百块就能拿到的。
所以,p2p很适合做影音点播、视频的边下边播的。如果是想自己开发,建议可以先研究下bt协议、播放器如何播放数据的。bt如果改造成p2p播放,还是需要一些优化的,因为他最初的设计是基于文件分发,而不是流式传输,对拖动和启动的响应不够优秀。如果自己没有技术可找外包公司,一个是经验丰富,一个是产品比较成熟。

热点内容
java培训班收费 发布:2025-01-25 04:37:53 浏览:766
密码锁如何密码解锁 发布:2025-01-25 04:25:16 浏览:385
ebay如何上传产品 发布:2025-01-25 04:04:37 浏览:823
java判断是否手机访问权限 发布:2025-01-25 04:02:28 浏览:807
天龙八部3困难福地需要什么配置 发布:2025-01-25 04:01:49 浏览:409
phpmysql网站源码 发布:2025-01-25 03:56:49 浏览:755
安卓手机华为手机哪个牌子好 发布:2025-01-25 03:55:55 浏览:25
比亚迪发动机压缩比 发布:2025-01-25 03:55:16 浏览:329
全民小视频脚本 发布:2025-01-25 03:54:28 浏览:926
鹦鹉linux 发布:2025-01-25 03:44:02 浏览:197