class InferXDemoActivity : AppCompatActivity() {
private lateinit var sdk: InferXSdk
private lateinit var progressBar: ProgressBar
private lateinit var resultTextView: TextView
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_demo)
progressBar = findViewById(R.id.progressBar)
resultTextView = findViewById(R.id.resultTextView)
// Initialize SDK
sdk = InferXSdk.getInstance(applicationContext)
// Setup model
setupModel()
}
private fun setupModel() {
progressBar.visibility = View.VISIBLE
// Download model with progress tracking
sdk.downloadModel("clip") { progress ->
runOnUiThread {
Log.d("InferX", "Download progress: $progress%")
progressBar.progress = progress
}
}
// Initialize model
sdk.initializeModel("clip") { success ->
runOnUiThread {
progressBar.visibility = View.GONE
if (success) {
Log.d("InferX", "Model ready")
resultTextView.text = "Model ready! Tap to run inference."
setupInferenceButton()
} else {
Log.d("InferX", "Model initialization failed")
resultTextView.text = "Failed to initialize model"
}
}
}
}
private fun setupInferenceButton() {
findViewById<Button>(R.id.inferenceButton).setOnClickListener {
runInference()
}
}
private fun runInference() {
val bitmap = loadSampleImage()
val queries = listOf("a photo of a dog", "a photo of a cat", "a landscape")
sdk.runInference("clip", bitmap, queries) { results ->
runOnUiThread {
Log.d("InferX", "AI Response: $results")
resultTextView.text = "Results: $results"
}
}
}
private fun loadSampleImage(): Bitmap? {
// Load your sample image here
return BitmapFactory.decodeResource(resources, R.drawable.sample_image)
}
}