Android通过OKhttp从服务器端获取数据
①简单的异步Get请求
第一步,创建OKHttpClient对象
第二步,创建Request请求
第三步,创建一个Call对象
第四步,将请求添加到调度中
不多说,直接上代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
//okHttp的基本使用 --- get方法
String url = "https://apidoubancom/v2/movie/top250start=0&count=10";
//1,创建OKHttpClient对象
OkHttpClient mOkHttpClient = new OkHttpClient();
//2,创建一个Request
Request request = new RequestBuilder()url(url)build();
//3,创建一个call对象
Call call = mOkHttpClientnewCall(request);
//4,将请求添加到调度中
callenqueue(new Callback() {
@Override
public void onFailure(Request request, IOException e) {
}
@Override
public void onResponse(Response response) throws IOException {
if (responseisSuccessful()) {
final String message = responsebody()string();
handlerpost(new Runnable() {
@Override
public void run() {
tv_messagesetText(message);
progressBarsetVisibility(ViewGONE);
}
});
}
}
});
跨设备互传文件新选择免费、开开源、跨平台
Local Send是一款跨平台的文件传输软件, 支持Windows、Android、iOS、macOS和Linux 在内的全平台客户端,这意味着我们可以任意在电脑、手机、平板间互传文件。
Local Send的用户界面简单直观,易于使用,仅有接收、发送、设置和故障排除
Local Send手机端的用户界面也非常简单直观,设置菜单可调整别名和网络信息等
发送页面显示的就是等待发送的文件以及附近可供接收文件的设备服务器
除了发送文件和照片,还支持发送文本消息。
手机端和PC端还支持发送文本消息
想要修改设备名称或者文件保存路径,就可以在设置里进行修改,得益于软件是开源,所以客户端也不存在任何形式的弹窗和贴片广告。
android里面,通过json数据是不会直接返回的,只会返回的url地址。
步骤: 1,通过解析json数据,获取到的地址。
2,通过的地址,再一次的请求网络(用异步任务或者hangdler里面请求网络:比如:
URL url = new URL(urlStr);
HttpURLConnection conn = (HttpURLConnection) urlopenConnection();
BufferedInputStream is = new BufferedInputStream(conngetInputStream());
)
3 通过BitmapFactorydecodeStream(里面的参数是一个字节流),该方法返回的是一个bitmap ,直接用imageviewsetimagebitmap()就能展示了。
说明: 在BitmapFactorydecodeStream这里返回的bitmap可以做进一步的优化,比如二次采样,把获取的bitmap存sd卡等等。。
你把你的文件都放在E(你的猫目录):\apache-tomcat-6020\webapps\文件夹\你的所有文件,而访问的目录是你的id加端口号,如:19216800:8080/文件夹/指定的文件,你再放一个txt存放你的所有文件名(json),然后在客户端获取到文件列表的内容显示(json需解析),然后在列表监听事件中通过地址+动态的文件名,单击哪个就会下载那个了,请求的话可以使用httpurlconnection来请求(网上很多方法),阿帕奇不知道可行不
最近在负责一个项目,需要获取其他应用的内部存储中的文件,即data/data/下的文件,并转存到sdcard上。有一点Android基础的都知道data/data/中的文件对其他应用是不可见的,在没有源码的条件下,无法直接访问data/data中的文件。问了公司的大佬,大佬提供了两种思路,一种是run-as命令进入data/data,直接copy;另一种是hook。具体怎么实施,且听我慢慢道来。
安装包是debug包(release包也可以利用反编译重新打包,变成debug包,网上有很多文章可以参考)
1、连接手机到电脑,打开usb调试
2、命令行中输入 adb shell run-as <包名>
示例:
comssandroidugcaweme(抖音)不是debug包,无法使用run-as命令。
comexampleyilialinjsonreport(我自己写的app)是debug包,使用run-as命令可以进入data/data目录下,输入 ls ,可以看到data/data目录下的所有文件/文件夹
3、输入 cat <文件名> > <sdcard中的文件名> ,直接拷贝到sdcard中
示例:
不出现任何提示,表明已经成功拷贝到了sdcard中。
几行命令直接搞定
1、需要手工敲命令,难以实现自动化
2、debug包才能使用
没有限制,安装包是release包或者debug包都可以,手机不需要root
有关于xposed插件可以参考文章:https://blogcsdnnet/yzzst/article/details/47659479
https://blogcsdnnet/niubitianping/article/details/52571438
https://blogcsdnnet/niubitianping/article/details/52574650
其实无root也是可以使用virtualxposed的,将xposed插件和想要hook的app克隆到virtualxposed中就可以使用了。
不受root权限和debug包的限制
前期需要做的事情多,xposed插件编写比较麻烦
我研究了几个星期的xposed hook,才学会了怎么使用,原理还不是特别明白,先用着吧==
听别人说再多也只是纸上谈兵,关键是要自己动手操作,有很多问题都是在实施的过程中出现并解决的,在问题中学习不失为一种好方法。
奉上我的xposed插件,供学习参考,有什么不对的地方,还望不吝赐教!
https://githubcom/Yiliayan/douyinxposedgit
0条评论