diff --git a/app/src/main/java/com/example/flomo_ai/MainActivity.kt b/app/src/main/java/com/example/flomo_ai/MainActivity.kt index cc825c3..a6c57a7 100644 --- a/app/src/main/java/com/example/flomo_ai/MainActivity.kt +++ b/app/src/main/java/com/example/flomo_ai/MainActivity.kt @@ -111,7 +111,6 @@ class MainActivity : AppCompatActivity() { inputEditText = findViewById(R.id.inputEditText) inputEditText.gravity = Gravity.START or Gravity.TOP - configButton = findViewById(R.id.configButton) // 状态栏目的信息 statusText = findViewById(R.id.statusTextView) @@ -147,7 +146,7 @@ class MainActivity : AppCompatActivity() { if (zhipuConfig != null) { apiKey = zhipuConfig.key apiUrl = zhipuConfig.url - apiModel = zhipuConfig.model + //apiModel = zhipuConfig.model statusText.text = "zhipuConfig配置文件$apiModel" } else { @@ -256,7 +255,7 @@ class MainActivity : AppCompatActivity() { if (sparkConfig != null) { apiKey = sparkConfig.key apiUrl = sparkConfig.url - apiModel = sparkConfig.model + //apiModel = sparkConfig.model statusText.text = "sparkConfig配置文件$apiModel" } else { statusText.text = "没找到sparkConfig配置文件" @@ -334,6 +333,8 @@ class MainActivity : AppCompatActivity() { tabLayout = findViewById(R.id.tabLayout) submitToServerButton = findViewById(R.id.submitToServerButton) + + configButton = findViewById(R.id.configButton) configButton.setOnClickListener { val intent = Intent(this, SecondActivity::class.java) startActivity(intent) diff --git a/app/src/main/java/com/example/flomo_ai/SecondActivity.kt b/app/src/main/java/com/example/flomo_ai/SecondActivity.kt index 8d5e9f2..89d6645 100644 --- a/app/src/main/java/com/example/flomo_ai/SecondActivity.kt +++ b/app/src/main/java/com/example/flomo_ai/SecondActivity.kt @@ -1,29 +1,17 @@ package com.example.flomo_ai import android.annotation.SuppressLint -import android.app.Activity -import android.content.Intent -import android.graphics.Bitmap -import android.graphics.BitmapFactory -import android.graphics.Color -import android.net.Uri import android.os.Bundle -import android.provider.MediaStore -import android.util.Log +import android.graphics.Color import android.widget.Button import android.widget.EditText import android.widget.LinearLayout import android.widget.TextView -import androidx.activity.result.ActivityResultLauncher -import androidx.activity.result.contract.ActivityResultContracts import androidx.appcompat.app.AppCompatActivity import com.google.gson.Gson import com.google.gson.reflect.TypeToken -import java.io.InputStream - class SecondActivity : AppCompatActivity() { - private lateinit var etApiButtonName: EditText private lateinit var etApiName: EditText private lateinit var etApiUrl: EditText private lateinit var etApiKey: EditText @@ -31,27 +19,22 @@ class SecondActivity : AppCompatActivity() { private lateinit var etApiModel: EditText private lateinit var btnSave: Button private lateinit var llConfigList: LinearLayout + private var configs = mutableListOf() private var editingId: Long? = null - private lateinit var imagePickerLauncher: ActivityResultLauncher - - companion object { - private const val REQUEST_CODE_PICK_IMAGE = 1000 - } override fun onCreate(savedInstanceState: Bundle?) { + setTheme(androidx.appcompat.R.style.Theme_AppCompat) super.onCreate(savedInstanceState) - setContentView(R.layout.activity_second) // 确认布局文件正确 + setContentView(R.layout.activity_second) initViews() loadConfigs() displayConfigs() - val btnGoBack: Button = findViewById(R.id.btnGoBack); + val btnGoBack: Button = findViewById(R.id.btnGoBack) btnGoBack.setOnClickListener { - val intent = Intent(this, MainActivity::class.java); - startActivity(intent); - finish(); + finish() } btnSave.setOnClickListener { @@ -61,41 +44,16 @@ class SecondActivity : AppCompatActivity() { addConfig() } } - - // 创建背景图 - setContentView(R.layout.activity_second) - - imagePickerLauncher = registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result -> - if (result.resultCode == Activity.RESULT_OK && result.data != null) { - val selectedImageUri: Uri? = result.data?.data - selectedImageUri?.let { uri -> - val bitmap = getBitmapFromUri(uri) - // 使用bitmap更新背景或其他操作 - } - } - } - val chooseButton: Button = findViewById(R.id.chooseButton) - chooseButton.setOnClickListener { - val intent = Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI) - intent.type = "image/*" - imagePickerLauncher.launch(intent) - } - } - - private fun getBitmapFromUri(uri: Uri): Bitmap? { - val inputStream: InputStream? = contentResolver.openInputStream(uri) - return BitmapFactory.decodeStream(inputStream) } private fun initViews() { - etApiName = findViewById(R.id.etApiName) ?: throw IllegalStateException("etApiName is not found") - etApiUrl = findViewById(R.id.etApiUrl) ?: throw IllegalStateException("etApiUrl is not found") - etApiKey = findViewById(R.id.etApiKey) ?: throw IllegalStateException("etApiKey is not found") - etApiSecretKey = findViewById(R.id.etApiSecretKey) ?: throw IllegalStateException("etApiSecretKey is not found") - etApiModel = findViewById(R.id.etApiModel) ?: throw IllegalStateException("etApiModel is not found") - etApiButtonName = findViewById(R.id.etApiButtonName) ?: throw IllegalStateException("etApiButtonName is not found") - btnSave = findViewById(R.id.btnSave) ?: throw IllegalStateException("btnSave is not found") - llConfigList = findViewById(R.id.llConfigList) ?: throw IllegalStateException("llConfigList is not found") + etApiName = findViewById(R.id.etApiName) + etApiUrl = findViewById(R.id.etApiUrl) + etApiKey = findViewById(R.id.etApiKey) + etApiSecretKey = findViewById(R.id.etApiSecretKey) + etApiModel = findViewById(R.id.etApiModel) + btnSave = findViewById(R.id.btnSave) + llConfigList = findViewById(R.id.llConfigList) } private fun loadConfigs() { @@ -109,20 +67,11 @@ class SecondActivity : AppCompatActivity() { private fun saveConfigs() { val sharedPrefs = getSharedPreferences("APIConfigs", MODE_PRIVATE) - val editor = sharedPrefs.edit() - if (editor != null) { - val gson = Gson() - val json = gson.toJson(configs) - Log.d("ConfigDebug", "Saving configs: $json") - editor.putString("configs", json) - editor.apply() - } else { - Log.e("ConfigDebug", "Failed to get SharedPreferences.Editor") - } + val json = Gson().toJson(configs) + sharedPrefs.edit().putString("configs", json).apply() } private fun addConfig() { - val buttonname = etApiButtonName.text.toString() val name = etApiName.text.toString() val url = etApiUrl.text.toString() val key = etApiKey.text.toString() @@ -132,7 +81,7 @@ class SecondActivity : AppCompatActivity() { // 生成唯一的 id val id = System.currentTimeMillis() // 创建新的配置项 - val newConfig = APIConfig(id, buttonname, name, url, key, secretKey, model) + val newConfig = APIConfig(id, name, url, key, secretKey, model) // 添加配置项 configs.add(newConfig) // 保存配置 @@ -144,7 +93,6 @@ class SecondActivity : AppCompatActivity() { } private fun updateConfig() { - val buttonname = etApiButtonName.text.toString() val name = etApiName.text.toString() val url = etApiUrl.text.toString() val key = etApiKey.text.toString() @@ -154,7 +102,7 @@ class SecondActivity : AppCompatActivity() { // 获取编辑的配置项 id val id = editingId ?: return // 更新配置项 - val updatedConfig = APIConfig(id, buttonname, name, url, key, secretKey, model) + val updatedConfig = APIConfig(id, name, url, key, secretKey, model) val existingConfigIndex = configs.indexOfFirst { it.id == id } if (existingConfigIndex != -1) { configs[existingConfigIndex] = updatedConfig @@ -170,19 +118,13 @@ class SecondActivity : AppCompatActivity() { } - - @SuppressLint("MissingInflatedId", "SetTextI18n", "InflateParams") + @SuppressLint("MissingInflatedId") private fun displayConfigs() { llConfigList.removeAllViews() for (config in configs) { // 为每个配置项加载对应的布局文件 val configView = layoutInflater.inflate(R.layout.item_api_config, null) // 设置各项文本信息 - // 获取并设置 Name 的 TextView 前景色和背景色 - val tvButtonName = configView.findViewById(R.id.tvButtonName) - tvButtonName.text = "按钮名称: ${config.buttonname}" - tvButtonName.setTextColor(Color.BLACK) - // 获取并设置 Name 的 TextView 前景色和背景色 val tvName = configView.findViewById(R.id.tvName) tvName.text = "Name: ${config.name}" @@ -225,7 +167,6 @@ class SecondActivity : AppCompatActivity() { } private fun editConfig(config: APIConfig) { - etApiButtonName.setText(config.buttonname) etApiName.setText(config.name) etApiUrl.setText(config.url) etApiKey.setText(config.key) @@ -243,7 +184,6 @@ class SecondActivity : AppCompatActivity() { } private fun clearInputs() { - etApiButtonName.text.clear() etApiName.text.clear() etApiUrl.text.clear() etApiKey.text.clear() @@ -255,7 +195,6 @@ class SecondActivity : AppCompatActivity() { data class APIConfig( val id: Long, - var buttonname:String, val name: String, val url: String, val key: String, diff --git a/app/src/main/res/layout/activity_second.xml b/app/src/main/res/layout/activity_second.xml index 60a4fbc..3b92939 100644 --- a/app/src/main/res/layout/activity_second.xml +++ b/app/src/main/res/layout/activity_second.xml @@ -16,15 +16,12 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/back_to_main" /> - - + android:text="文字处理AI区的配置" + android:textSize="16sp" /> + android:minHeight="48dp" /> + android:minHeight="48dp" />