连接远程URL与API&连接有道API

本文介绍了开发一款基于有道翻译的极简翻译APP的步骤,包括信息流逻辑、URL读取逻辑和使用AsyncTask连接有道API。在Android Studio中,通过后台线程连接API,接收和解析JSON数据,最终在Fragment中展示翻译结果,提高了程序的可维护性。
摘要由CSDN通过智能技术生成

参考资料:Android中HttpURLConnection使用详解_小鹿迷鹿的博客-CSDN博客_android httpurlconnection

信息流逻辑:

inputStream(信息流)---->inputStreamReader(流载体)---->ButteredReader(将信息流读取)---->通过(String)Line---->StringBuilder(灵活字符串类)

InputStream inputStream=connection.getInputStream();//获取URL对应的信息
BufferedReader reader=new BufferedReader(new InputStreamReader(inputStream));
StringBuilder stringBuilder=new StringBuilder();
String Line;
while ((Line=reader.readLine())!=null){
   
stringBuilder.append(Line);
}

URL读取逻辑

URL url=new URL("http://www.baidu.com"); //指定URL
HttpURLConnection connection=(HttpURLConnection)url.openConnection();//为HURLC类指定对应的URL
connection.setRequestMethod("GET");//发送请求

总逻辑:

onClicked{new Tread(new Runable(){@Override run()}).start()}

onClicked中实现了Tread.start()//线程启动

线程需要一个new Runable类实例化

Runable重写一个run方法

run方法实现以下几个任务

  1. 实现程序与URL的连接
  2. 实现URL资源获取
  3. URL资源解析转化可以展现的资源,例如StringBulider
  4. 展示这个资源

例子:开发一款基于有道翻译的极简翻译APP

21/09/2022 00:47

第一阶段:总体设计阶段

连接远程API,需要实现android studio联网问题,我选用了资料中方法3.

参考资料【Android】Android Studio虚拟机不能联网_-LDL的博客-CSDN博客_android studio虚拟机怎么联网

有的时候3G连不上,可以开启飞行模式达到重启的作用。

上述使用java的多线程技术实现URL连接,但是在安卓中我们完全可以使用AsyncTask的模式来实现

参考资料:详解Android中AsyncTask的使用_liuhe688的博客-CSDN博客_asynctask,

连接API主要在Activity中后台运行,引入AsyncTask<String, Integer, String>的概念

但是其实AsyncTask中的数据类型在这个例子中并不重要。

借这个机会也更加系统的学习了这一后台方式。(上次的学习这一知识点时一直没有时间练习)

对于方法: doInBackground(String… params)来说,它用于处理主要事务

在这个需求下指的是API的连接,JSON对象的解析。

但是注意不能犹豫更新系统UI

系统UI的重置更新要在onPostExecute(String result)方法解决。

第二阶段:通过连接

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值