Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.example.john.myapplication
- import android.content.Context
- import android.os.Bundle
- import android.support.design.widget.Snackbar
- import android.support.v7.app.AppCompatActivity;
- import android.util.Log
- import kotlinx.android.synthetic.main.activity_main.*
- import kotlinx.android.synthetic.main.content_main.*
- import okhttp3.*
- import org.json.JSONObject
- import java.io.IOException
- import okhttp3.RequestBody
- import okhttp3.WebSocket
- import okio.ByteString
- import okhttp3.WebSocketListener
- import android.widget.Toast
- import android.content.pm.PackageManager
- import android.hardware.camera2.CameraDevice
- import android.hardware.camera2.CameraAccessException
- import android.hardware.camera2.CameraCharacteristics
- import android.content.Context.CAMERA_SERVICE
- import android.hardware.camera2.CameraManager
- import android.os.Build
- class MainActivity : AppCompatActivity() {
- lateinit var mOkHttpClient: OkHttpClient
- lateinit var mOkHttpSockClient: OkHttpClient
- lateinit var mWebSocket: WebSocket
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
- setContentView(R.layout.activity_main)
- setSupportActionBar(toolbar)
- Log.d("TAG", "Running")
- Log.d("TAG", "HttpObject")
- mOkHttpClient = OkHttpClient()
- fab.setOnClickListener { view ->
- Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
- .setAction("Action", null).show()
- }
- btnGet.setOnClickListener { view ->
- var mCameraId:String = ""
- val mCameraManager = getSystemService(Context.CAMERA_SERVICE) as CameraManager;
- try {
- mCameraId = mCameraManager.getCameraIdList()[0];
- } catch (e:CameraAccessException) {
- e.printStackTrace();
- }
- try {
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
- mCameraManager.setTorchMode(mCameraId, true)
- }
- } catch (e: Exception) {
- e.printStackTrace()
- }
- Log.d("TAG", "Preparing get")
- var url = "https://reqres.in/api/users?page=2"
- var request = Request.Builder()
- .url(url)
- .build()
- mOkHttpClient.newCall(request).enqueue(object : Callback {
- override fun onFailure(call: Call, e: IOException) {
- Log.d("TAG", "Request failed")
- this@MainActivity.runOnUiThread(java.lang.Runnable {
- Snackbar.make(view, "Request failed", Snackbar.LENGTH_LONG)
- .setAction("Action", null).show()
- })
- }
- override fun onResponse(call: Call, response: Response) {
- Log.d("TAG", "Request success")
- if (response.isSuccessful) {
- this@MainActivity.runOnUiThread(java.lang.Runnable {
- textGet.setText(response.body()?.string())
- Snackbar.make(view, "Request success", Snackbar.LENGTH_LONG)
- .setAction("Action", null).show()
- })
- }
- }
- })
- }
- btnPost.setOnClickListener { view ->
- Log.d("TAG", "Preparing post")
- var MEDIA_TYPE = MediaType.parse("application/json");
- var postData = JSONObject()
- postData.put("name", "Moss")
- postData.put("job", "developer")
- val body = RequestBody.create(MEDIA_TYPE, postData.toString())
- var url = "https://reqres.in/api/users?page=2"
- var request = Request.Builder()
- .url(url)
- .post(body)
- .addHeader("Content-Type", "application/json")
- .build()
- mOkHttpClient.newCall(request).enqueue(object : Callback {
- override fun onFailure(call: Call, e: IOException) {
- Log.d("TAG", "Request failed")
- this@MainActivity.runOnUiThread(java.lang.Runnable {
- Snackbar.make(view, "Request failed", Snackbar.LENGTH_LONG)
- .setAction("Action", null).show()
- })
- }
- override fun onResponse(call: Call, response: Response) {
- Log.d("TAG", "Request success")
- if (response.isSuccessful) {
- this@MainActivity.runOnUiThread(java.lang.Runnable {
- textPost.setText(response.body()?.string())
- Snackbar.make(view, "Request success", Snackbar.LENGTH_LONG)
- .setAction("Action", null).show()
- })
- }
- }
- })
- }
- class EchoWebSocketListener : WebSocketListener() {
- override fun onOpen(webSocket: WebSocket, response: Response) {
- Log.d("TAG", "Sock opened")
- this@MainActivity.runOnUiThread(java.lang.Runnable {
- textSock.setText("Socket rdy")
- })
- }
- override fun onMessage(webSocket: WebSocket?, text: String?) {
- this@MainActivity.runOnUiThread(java.lang.Runnable {
- Log.d("TAG", "Sock msg recieved")
- textSock.setText(text)
- })
- }
- }
- mOkHttpSockClient = OkHttpClient()
- val request = Request.Builder().url("ws://echo.websocket.org").build()
- var listener = EchoWebSocketListener()
- btnSockOn.setOnClickListener { view ->
- Log.d("TAG", "Sock open")
- mWebSocket = mOkHttpSockClient.newWebSocket(request, listener)
- mOkHttpSockClient.dispatcher().executorService().shutdown()
- }
- btnSockSend.setOnClickListener { view ->
- Log.d("TAG", "Sock send")
- mWebSocket.send("Hello you nasty!")
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement