day13_安卓中常见的网络请求方式

本文介绍了安卓中常见的网络请求方式,包括HttpUrlConnection的GET和POST请求,以及HTTP协议的基本概念和请求响应协议。此外,还提到了Fiddler和Postman作为测试工具的作用。同时,文章讨论了滚动歌词效果和断点续传技术的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

安卓中常见的网络请求方式

HttpUrlConnection
1.get请求
2.post请求
3.下载网络视频/音乐/图片到SD卡中

一.概念:
1.http:超文本传输协议(客户端和服务端),应用层协议
2.html:超文本标记语言
3.xml:可扩展标记语言
二.网络七层
应用层:http
表示层:将人看的懂的转成计算器
会话层:发起会话
传输层:tcp协议+udp协议
网络层:ip协议
数据链路层:
物理层:网线
三.http协议:请求协议+响应协议
1.请求协议:客户端向服务端发送的
(1)请求首行:请求方式+地址+版本号
(2)请求头信息:客户端告诉服务端自己的一些信息
(3)空行
(4)请求体:客户端向服务端发送的数据(get请求没有请求体,post请求有请求)
2.响应协议:服务端给客户端响应的
(1)响应首行:版本号+响应码+响应信息
(2)响应头信息:服务器告诉客户端的信息 Content-Length: 4772
(3)空行
(4)响应体:服务器返回给客户端的内容(图片 json xml)
四.2个软件:
fiddler:抓包用的,能够获取http请求协议和响应协议内容
postman:测接口用的,每次直接在这个软件上面测接口
五.技能点:使用httpurlConnection做get请求和post请求
1.get和post的区别:
get将发送的数据暴露在url,不安全的+主要应用向服务器要数据
post将发送的数据放在请求体,安全的+主要应用向服务器提交数据
2.get:下载文件+请求图片+请求json
3.post:登陆+注册+上传文件
六.八种请求方式,常用的get和post
1、OPTIONS
返回服务器针对特定资源所支持的HTTP请求方法,也可以利用向web服务器发送‘*’的请求来测试服务器的功能性
2、HEAD
向服务器索与GET请求相一致的响应,只不过响应体将不会被返回。这一方法可以再不必传输整个响应内容的情况下,就可以获取包含在响应小消息头中的元信息。
3、GET
向特定的资源发出请求。它本质就是发送一个请求来取得服务器上的某一资源。资源通过一组HTTP头和呈现数据(如HTML文本,或者图片或者视频等)返回给客户端。
4、POST
向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。
5、PUT
向指定资源位置上传其最新内容
6、DELETE
请求服务器删除Request-URL所标识的资源
7、TRACE
回显服务器收到的请求,主要用于测试或诊断
8、CONNECT
HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。
七.常用响应码:1xx 消息 2xx 成功 3xx重定向 4xx客户端错误 5xx服务器

滚动歌词效果

在这里插入图片描述

//主类
public class MainActivity extends AppCompatActivity implements SurfaceHolder.Callback{
    File file = new File("/sdcard/Misc/春风十里");
    File file1=new File("/sdcard/Misc/前冲 - 春风十里.mp3");
    SurfaceView surfaceView;
    SurfaceHolder surfaceHolder;
    SeekBar seekBar;
    MediaPlayer mediaPlayer;
    Timer timer;
    int positon=0;
    TextView textView1,textView2;
    ArrayList<Music> list=new ArrayList<>();
    @SuppressLint("HandlerLeak")
    Handler handler=new Handler(){
        @Override
        public void handleMessage(Message msg) {
            super.handleMessage(msg);
            if (msg.what==101){
                if (mediaPlayer!=null){
                    int duration = mediaPlayer.getDuration();
                    int currentPosition = mediaPlayer.getCurrentPosition();
                    Date date=new Date(duration);
                    SimpleDateFormat sdf=new SimpleDateFormat("mm:ss");
                    String format = sdf.format(date);
                    seekBar.setMax(duration);
                    seekBar.setProgress(currentPosition);
                    textView2.setText(format);
                    Date date1=new Date(currentPosition);
                    String format1 = sdf.format(date1);
                    textView1.setText(format1);

                    if (list.size()>0){
                        if (positon<list.size()-1){
                            if (currentPosition>=
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值