This is an Android project allowing to use Socket, DrawView in the simplest way possible.
To make a DrawView based on Socket add SocketDrawView in your layout XML and add SocketDrawView library in your project or you can also grab it via Gradle:
implementation 'com.sk.broadband.socketdrawview:1.0.0'
<com.sk.broadband.socketdrawview.DrawView
android:id="@+id/draw_view"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
<com.sk.broadband.socketdrawview.client.ClientSocketDrawView
android:id="@+id/draw_view"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
<com.sk.broadband.socketdrawview.server.ServerSocketDrawView
android:id="@+id/draw_view"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
override fun onTouchEvent(event: MotionEvent?): Boolean {
drawView.draw(event!!)
return super.onTouchEvent(event)
}
val drawView = findViewById<DrawView>(R.id.draw_view)
// Set Path color
drawView.pathColor = Color.rgb(red, green, blue)
// Set Path stroke width
drawView.pathStrokeWidth = seekBar.progress.toFloat()
// Set Path or Point
drawView.isPath = !drawView.isPath
drawView.undoPrev()
drawView.eraseAll()
override fun onResume() {
super.onResume()
clientSocketDrawView.connectSocket(ipAddress, 3000)
}
override fun onPause() {
super.onPause()
clientSocketDrawView.disconnectClient()
}
override fun onTouchEvent(event: MotionEvent?): Boolean {
clientSocketDrawView.draw(event!!)
clientSocketDrawView.drawServer(event)
return super.onTouchEvent(event)
}
clientSocketDrawView = findViewById<ClientSocketDrawView>(R.id.draw_view)
clientSocketDrawView.undoPrevServer()
clientSocketDrawView.eraseAllServer()
clientSocketDrawView.onClosedListener
clientSocketDrawView.onIOExceptionListener
clientSocketDrawView.onSocketTimeoutExceptionListener
clientSocketDrawView.onIllegalBlockingModeExceptionListener
clientSocketDrawView.onIllegalArgumentExceptionListener
override fun onResume() {
super.onResume()
serverSocketDrawView.createServerSocket()
}
override fun onPause() {
super.onPause()
serverSocketDrawView.disconnectServer()
}
serverSocketDrawView = findViewById<ServerSocketDrawView>(R.id.draw_view)
serverSocketDrawView.getIPAddress()
serverSocketDrawView.onClosedListener
- It can't be used in case of private IP Address.
Github:
I realized this project using this post:
SocketDrawView by Duhui is licensed under a Apache License 2.0.