kotlin开发android例子-股票查询
来源:互联网 发布:淘宝外卖网址 编辑:程序博客网 时间:2024/05/16 17:59
kotlin不错,用来做android程序,还是非常方便的,这个股票查询的程序,用到了多线程,网络查询,之后,我会在教育频道发布上讲解视频;
package gupiao.dvd.com.gupiaoimport android.app.AlertDialogimport android.support.v7.app.AppCompatActivityimport android.os.Bundleimport android.content.Intentimport android.widget.TextViewimport android.graphics.Bitmapimport android.graphics.Matriximport android.graphics.PointFimport android.view.Viewimport android.widget.ImageViewimport kotlinx.android.synthetic.main.activity_main.*import android.graphics.BitmapFactoryimport android.os.Handlerimport android.os.Messageimport java.io.IOExceptionimport java.net.HttpURLConnectionimport java.net.MalformedURLExceptionimport java.net.URLimport android.view.MotionEventclass MainActivity : AppCompatActivity() { private var handler: android.os.Handler? = null //主线程处理消息的hander var url_image: String = "" //用于存放获取网络股票行情图偏文件的url地址; var bmp: Bitmap? = null //网络图片的bitmap数据 override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) mainDo_after_mythread_query_net_image()//启动主线程值守处理函数 on_btn_query_click(Button_query); } fun on_btn_query_click(v: View) { val gupiao_code = EditText_gupiao_code.text.toString() // AlertDialog.Builder(this).setTitle("提醒").setMessage(gupiao_code).show(); textview_msg?.text = "正在查询......" url_image = "http://image.sinajs.cn/newchart/daily/n/sh" + gupiao_code + ".gif" Thread(mythread_query_net_image()).start() //启动子线程查询网络图片 } //begin 后台子线程,访问网络,获取图片数据 internal inner class mythread_query_net_image : Runnable { override fun run() { bmp = get_url_bitmap(url_image) val message = Message.obtain() //创建Message对象,返回信息 //message.obj = json_info; message.what = 1 handler?.sendMessage(message) } } //end 后台子线程,访问网络,获取图片数据 //begin 主线程值守处理函数 fun mainDo_after_mythread_query_net_image(): Boolean { handler = object : Handler() { override fun handleMessage(msg: Message) { if (msg.what == 1) { imageView_stock.setImageBitmap(bmp) textview_msg.text = "查询成功" } } } return true } //end主线程值守处理函数 //访问网络,获取图片 fun get_url_bitmap(url_image: String): Bitmap? { if (url_image.trim() == "") { return null } var myFileUrl: URL? = null var bitmap: Bitmap? = null try { myFileUrl = URL(url_image) } catch (e: MalformedURLException) { e.printStackTrace() } try { val conn = myFileUrl!! .openConnection() as HttpURLConnection conn.setDoInput(true) conn.connect() var inputStream = conn.getInputStream() bitmap = BitmapFactory.decodeStream(inputStream) inputStream.close() } catch (e: IOException) { e.printStackTrace() return null } //imageView.setImageBitmap(bitmap) //com.dvd.util.message_box() return bitmap } private fun spacing(event: MotionEvent): Float { val x = event.getX(0) - event.getX(1) val y = event.getY(0) - event.getY(1) var z = Math.sqrt((x * x + y * y).toDouble()); return z.toFloat(); } private fun midPoint(point: PointF, event: MotionEvent) { val x = event.getX(0) + event.getX(1) val y = event.getY(0) + event.getY(1) point.set(x / 2, y / 2) } val ZOOM_IN_SCALE:Float = 1.25f val ZOOM_OUT_SCALE:Float = 0.8f var zoomedBMP: Bitmap? = null var scaleWidth: Float = 1f var scaleHeight: Float = 1f fun to_small(view: View) { var bmpWidth: Int = bmp!!.getWidth() var bmpHeight: Int = bmp!!.getHeight() scaleWidth = scaleWidth * ZOOM_OUT_SCALE scaleHeight = scaleHeight * ZOOM_OUT_SCALE val matrix = Matrix() matrix.postScale(scaleWidth.toFloat(), scaleHeight.toFloat()) zoomedBMP = Bitmap.createBitmap(bmp, 0, 0, bmpWidth, bmpHeight, matrix, true) imageView_stock.setImageBitmap(zoomedBMP) } fun to_enlarge(view: View) { try { val bmpWidth: Int = bmp!!.getWidth() //获取现有的图片的宽度 val bmpHeight: Int = bmp!!.getHeight() //获取现有的图片的高度 scaleWidth = scaleWidth * ZOOM_IN_SCALE scaleHeight = scaleHeight * ZOOM_IN_SCALE val matrix = Matrix() matrix.postScale(scaleWidth, scaleHeight) zoomedBMP = Bitmap.createBitmap(bmp, 0, 0, bmpWidth, bmpHeight, matrix, true) imageView_stock.setImageBitmap(zoomedBMP) } catch (e: Exception) { AlertDialog.Builder(this).setMessage(e.toString()).show(); } }}
阅读全文
0 0
- kotlin开发android例子-股票查询
- Kotlin开发android:一个简单的登陆例子
- 使用Kotlin开发Android
- Kotlin配置开发Android
- 用Kotlin开发Android
- 使用Kotlin开发Android
- Android 开发中的KotLin
- Kotlin进行Android开发
- Android开发学习Kotlin
- Android Kotlin开发尝鲜
- Kotlin进行Android开发
- Android开发:Kotlin
- Android开发Kotlin配置
- 使用kotlin开发android
- Kotlin开发Android笔记10:Kotlin中Kotlin Android Extensions
- Android之股票开发学习
- 股票查询
- 使用kotlin来开发android
- 理解最基本的Vue项目
- UVA
- 嵌入式学习21(C++继承)
- (4)Oracle约束
- 香蕉派或者树梅派+Kali:搭建一个偷WiFi密码的黑客站
- kotlin开发android例子-股票查询
- mac 执行brew update 报错 Error:解决,及brew 升级
- js css3仿ios toast提示。
- C++排序算法之计数排序
- 微信公众平台开发之模板消息(Java)
- J2EE for SpringMvc 中JSP在idea里不能够提示Bootstrap的问题解决
- JS事件10
- POJ 1797Heavy Transportation
- AngularJs 指令directive之controller,link,compile