kotlin简单小demo,请求,解析,gson的使用,volley的单例
来源:互联网 发布:破解软件论坛 编辑:程序博客网 时间:2024/06/05 21:29
-----------------------------------------------------------------------------------------------------------
mainactivity
class MainActivity : BaseActivity() { internal val WHAT_MESSAGE = 0 var recyclerView : RecyclerView? = null var adapter : MyAdapter? = null override fun init() { setContentView(R.layout.activity_main) recyclerView = findViewById(R.id.recycler_view) as RecyclerView recyclerView!!.layoutManager = LinearLayoutManager(this) getData() } fun getData(){ var jsonRequest = JsonObjectRequest(Request.Method.GET ,"http://www.tngou.net/api/food/list?id=1",null,Response.Listener<JSONObject> { response: JSONObject -> var gson = Gson() var item : Foot = gson.fromJson(response.toString(),Foot::class.java) var list : List<Tngou> = item.tngou async { uiThread { adapter = MyAdapter(this@MainActivity,list) recyclerView!!.adapter = adapter } } },Response.ErrorListener { error -> Log.d("---->error",error.toString()) }) SimpleRequest.getInstance(this).addToRequestQueue(jsonRequest) }}-----------------------------------------------------------------------------adapterclass MyAdapter(var ctx:Context,var list: List<Tngou>) : Adapter<MyAdapter.MyViewHolder>() { var inflater : LayoutInflater init { inflater = LayoutInflater.from(ctx) } override fun onBindViewHolder(holder: MyViewHolder, position: Int) { holder.textTitle!!.text = list.get(position).description holder.textContent!!.text = list.get(position).keywords Glide.with(ctx).load("http://img1.imgtn.bdimg.com/it/u=489743113,36423855&fm=214&gp=0.jpg").into(holder.image) } override fun onCreateViewHolder(parent: ViewGroup?, viewType: Int): MyViewHolder { var view : View = inflater.inflate(R.layout.item_view,null) var holder : MyViewHolder = MyViewHolder(view) return holder } override fun getItemCount(): Int { return list.size } class MyViewHolder(itemView : View) : RecyclerView.ViewHolder(itemView){ var textContent : TextView? = null var textTitle : TextView? = null var image : ImageView? =null init { textContent = itemView.findViewById(R.id.text_content) as TextView image = itemView.findViewById(R.id.iv) as ImageView textTitle = itemView.findViewById(R.id.description) as TextView } }}-----------------------------------------------------------------volley的单例class SimpleRequest private constructor(var ctx: Context){ private var requestQueue : RequestQueue? = null init { requestQueue = getRequestQueue() } private fun getRequestQueue() : RequestQueue? { if (requestQueue==null){ requestQueue = Volley.newRequestQueue(ctx) } return requestQueue } //同步的代码块 companion object{ private var simpleRequest : SimpleRequest? = null @Synchronized fun getInstance(ctx : Context) : SimpleRequest { if (simpleRequest == null){ simpleRequest = SimpleRequest(ctx) } return simpleRequest as SimpleRequest } } //添加到请求队列 fun <T> addToRequestQueue(request : Request<T>) { getRequestQueue()!!.add(request) }}---------------------------------------------------------------------------两个dataclassdata class Foot(val status: Boolean,val total:Int,val tngou : List<Tngou>)data class Tngou(val count : Int,var description : String,val disease : String, val fcount : Int,val food:String,val id:Int,val img : String = "",val keywords : String, val name:String,val rcount:Int,val summary:String,val symptom:String)-----------------------------------------------------------------------------------
baseActivityabstract class BaseActivity : Activity(){ override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) init() } abstract fun init()}
阅读全文
1 0
- kotlin简单小demo,请求,解析,gson的使用,volley的单例
- [Android | 小代码] 天气预报 简易Demo json解析数组+对象 Gson+Volley简单使用
- 使用Volley请求数据,并使用Gson解析(解决请求来的数据乱码问题)
- 使用volley请求数据,Gson解析json的时候出现中文乱码问题
- android中json解析的两个工具:Gson和Jackson的使用小demo
- Google Volley使用笔记,简单的请求
- Volley网络请求的简单封装使用
- Volley的简单使用--请求网络
- Kotlin创建的小Demo
- Volley学习(二)简封Volley、为Volley请求头体添加Json参数、Gson和JsonObject生成Json数据、Gson解析返回的Json
- 使用GSON解析复杂的JSON数据(有DEMO)
- okhttp框架的最简单的基本使用 post和get请求以及用gson解析请求的数据
- Gson的使用 && 使用OKHttp处理Volley的底层HTTP请求
- Retrofit的GET请求使用,结合Gson解析
- GSON的使用,单例模式
- Gson的简单使用
- Gson的简单使用
- Gson的简单使用
- 卷积特征提取
- OkHttp 用法解析
- 添加新用户-Ubuntu16.06.2
- wampserver部署https服务器
- Android EditText被软键盘遮盖的处理方法
- kotlin简单小demo,请求,解析,gson的使用,volley的单例
- 自定义View
- win7 + centos7 双系统启动
- 【stm32f407】IO引脚复用和映射
- eclipse.ini配置vm参数解决启动报错问题
- MySql 服务没有报告任何错误的解决方法
- 对 Sea.js 进行配置 seajs.config
- Mybatis自动生成代码
- B-树