用Kotlin开发了一个Android应用,我只用了8小时
import com.xfhy.deeplibrary.common.LogUtil
import com.xfhy.deepnight.bean.DivListImgBean
import org.jetbrains.anko.collections.forEachReversedByIndex
import org.jetbrains.anko.doAsync
import org.jetbrains.anko.uiThread
import org.jsoup.Jsoup
import org.jsoup.nodes.Document
import org.jsoup.select.Elements
/**
* @author xfhy
* create at 2018/1/1 12:36
* description:
*/
object NetUtils {
/**
* 获取外部的列表页的list
* @param url url
* @param index 索引 从1开始
* @param response 回调数据
*/
fun reqOutList(url: String, index: Int, response: ZResponse) {
doAsync {
try {
//组装url
var buildUrl = "${url}index${if (index == 1) "" else "_$index"}.shtml"
LogUtil.e("buildUrl = $buildUrl")
//连接
val document: Document = Jsoup.connect(buildUrl).get()
//筛选首页全部的链接 暂时是第一页的
val htmls: Elements = document.select("a[href$=.shtml]")
//筛选是可以点击进去详情的url
htmls.forEachReversedByIndex {
val realUrl = it.getElementsByClass("div-img")
//不正确的全部移除
if (realUrl.size == 0) {
htmls.remove(it)
}
}
//外层列表的bean集合
val outLists: ArrayList<DivListImgBean> = ArrayList()
htmls.forEach {
val divListImgBean = DivListImgBean("", "","")
val linkElements = it.getElementsByClass("link")
divListImgBean.detailsUrl = linkElements.attr("href")
//获取图片地址
val imgSrcs = it.select("img[src\$=.jpg]")
imgSrcs.forEach {
val src = it.attr("src")
val alt = it.attr("alt")
divListImgBean.src = src
divListImgBean.text = alt
}
//添加bean到集合中
outLists.add(divListImgBean)
}
LogUtil.e(outLists.toString())
uiThread {
response.onSuccess(outLists)
}
} catch (e: Exception) {
uiThread {
response.onError(e.message)
}
}
}
}
/**
* 详情列表
*/
fun reqDetails(url: String, response: ZResponse) {
doAsync {
try {
//连接
val document: Document = Jsoup.connect(url).ignoreContentType(true).get()
val girlPictureList = document.select("div.div-num")
val imageList: ArrayList<String> = ArrayList()
girlPictureList.forEach {
if (it.hasAttr("data-src")) {
var imgUrl = it.attr("data-src")
imgUrl = imgUrl.substring(0, imgUrl.indexOf("?"))
imageList.add(imgUrl)
}
}
LogUtil.e(imageList.toString())
uiThread {
response.onSuccess(imageList)
}
} catch (e: Exception) {
uiThread {
response.onError(e.message)
}
}
}
}
}
- 只需8小时就能用Kotlin开发一个Android应用,附Demo和源码
- 我将用一个月学会android并开发一个应用,这篇主要用来记录自己的学习历程
- Android应用开发学习笔记之启动另外一个Activity
- Android开发中一个简单实用的调试应用技巧分享
- afinal - afinal 是一个android的 orm 和 ioc 框架。通过afinal的finalAcitivity,finalBitmap,finalDB,finalHttp,开发android应用将更加简单。 - Google Project Hosting
- 【Xamarin开发 Android 系列 12】 创建一个Json读取数据应用-添加定位服务
- 使用Kotlin开发Android应用教程
- Anko - 让你可以更简单地用 Kotlin 开发 Android 应用
- 一个Android应用开发菜鸟的成长之路——工作第一天:解决了java.lang.NoClassDefFoundError问题
- 输出Bag中的所有记录为一个json数组---精通android、IOS App应用服务程序开发
- 【Android应用开发】分享一个录制 Android 屏幕 gif 格式的小技巧
- 使用Kotlin开发Android应用
- 使用Kotlin开发Android应用
- Kotlin 为何能成为 Android 官方支持开发语言及Kotlin开发Android应用初体验
- Anko - 让你可以更简单地用 Kotlin 开发 Android 应用
- 使用Kotlin开发Android应用(I):简介
- 为什么Android应用用Java开发,为什么Android大型游戏要用数据包?这里根据我的知识做一个总结
- 如何在iOS和Android上选择一个JavaScript 引擎进行应用开发
- 使用Kotlin开发Android应用(I):简介
- 【Xamarin开发 Android 系列 9】 创建一个Json读取数据应用-列表页(中)