correção de bugs

This commit is contained in:
2026-03-17 09:00:12 +00:00
parent 039dbf90ab
commit 273b28f741
14 changed files with 133 additions and 1302 deletions

1
.idea/.name generated Normal file
View File

@@ -0,0 +1 @@
My Application

6
.idea/AndroidProjectSystem.xml generated Normal file
View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="AndroidProjectSystem">
<option name="providerId" value="com.android.tools.idea.GradleProjectSystem" />
</component>
</project>

6
.idea/compiler.xml generated Normal file
View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CompilerConfiguration">
<bytecodeTargetLevel target="21" />
</component>
</project>

10
.idea/deploymentTargetSelector.xml generated Normal file
View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="deploymentTargetSelector">
<selectionStates>
<SelectionState runConfigName="app">
<option name="selectionMode" value="DROPDOWN" />
</SelectionState>
</selectionStates>
</component>
</project>

17
.idea/gradle.xml generated Normal file
View File

@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="GradleSettings">
<option name="linkedExternalProjectsSettings">
<GradleProjectSettings>
<option name="testRunner" value="CHOOSE_PER_TEST" />
<option name="externalProjectPath" value="$PROJECT_DIR$" />
<option name="modules">
<set>
<option value="$PROJECT_DIR$" />
<option value="$PROJECT_DIR$/app" />
</set>
</option>
</GradleProjectSettings>
</option>
</component>
</project>

1300
.idea/misc.xml generated

File diff suppressed because it is too large Load Diff

17
.idea/runConfigurations.xml generated Normal file
View File

@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="RunConfigurationProducerService">
<option name="ignoredProducers">
<set>
<option value="com.intellij.execution.junit.AbstractAllInDirectoryConfigurationProducer" />
<option value="com.intellij.execution.junit.AllInPackageConfigurationProducer" />
<option value="com.intellij.execution.junit.PatternConfigurationProducer" />
<option value="com.intellij.execution.junit.TestInClassConfigurationProducer" />
<option value="com.intellij.execution.junit.UniqueIdConfigurationProducer" />
<option value="com.intellij.execution.junit.testDiscovery.JUnitTestDiscoveryConfigurationProducer" />
<option value="org.jetbrains.kotlin.idea.junit.KotlinJUnitRunConfigurationProducer" />
<option value="org.jetbrains.kotlin.idea.junit.KotlinPatternConfigurationProducer" />
</set>
</option>
</component>
</project>

6
.idea/vcs.xml generated Normal file
View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
</component>
</project>

View File

@@ -13,7 +13,7 @@
android:roundIcon="@mipmap/ic_launcher_round" android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true" android:supportsRtl="true"
android:theme="@style/Theme.MyApplication" android:theme="@style/Theme.MyApplication"
> android:networkSecurityConfig="@xml/network_security_config">
<activity <activity
android:name=".MainActivity" android:name=".MainActivity"
android:exported="true"> android:exported="true">

View File

@@ -1,7 +1,7 @@
package pt.epvc.myapplication; package pt.epvc.myapplication;
public class GenerateRequest { public class GenerateRequest {
private String model = "llama3"; private String model = "qwen3:4b";
private String prompt; private String prompt;
private boolean stream = false; private boolean stream = false;

View File

@@ -1,6 +1,10 @@
package pt.epvc.myapplication; package pt.epvc.myapplication;
import android.os.Bundle; import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast; import android.widget.Toast;
import androidx.activity.EdgeToEdge; import androidx.activity.EdgeToEdge;
@@ -15,6 +19,11 @@ import retrofit2.Response;
public class MainActivity extends AppCompatActivity { public class MainActivity extends AppCompatActivity {
private EditText editText;
private Button button;
private TextView textView;
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
@@ -26,14 +35,26 @@ public class MainActivity extends AppCompatActivity {
return insets; return insets;
}); });
sendPrompt(); editText = findViewById(R.id.editTextText);
button = findViewById(R.id.button);
textView = findViewById(R.id.textView);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String prompt = editText.getText().toString();
sendPrompt(prompt);
}
});
} }
private void sendPrompt() { private void sendPrompt(String prompt) {
// Criar requisição // Criar requisição
GenerateRequest request = new GenerateRequest("2+2"); GenerateRequest request = new GenerateRequest(prompt);
// Fazer chamada HTTP // Fazer chamada HTTP
OllamaApi ollamaApi = RetrofitClient.getOllamaApi(); OllamaApi ollamaApi = RetrofitClient.getOllamaApi();
@@ -45,6 +66,7 @@ public class MainActivity extends AppCompatActivity {
GenerateResponse generateResponse = response.body(); GenerateResponse generateResponse = response.body();
String result = generateResponse.getResponse(); String result = generateResponse.getResponse();
System.out.println("Resposta: " + result); System.out.println("Resposta: " + result);
textView.setText(result);
} else { } else {
System.out.println("Erro: " + response.code()); System.out.println("Erro: " + response.code());
} }

View File

@@ -7,7 +7,7 @@ import retrofit2.converter.gson.GsonConverterFactory;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
public class RetrofitClient { public class RetrofitClient {
private static final String BASE_URL = "https://chat.epvc.pt:11434/"; // Substitua pelo IP da sua máquina private static final String BASE_URL = "http://89.114.196.110:11434/"; // Substitua pelo IP da sua máquina
private static Retrofit retrofit = null; private static Retrofit retrofit = null;
public static OllamaApi getOllamaApi() { public static OllamaApi getOllamaApi() {

View File

@@ -8,10 +8,30 @@
tools:context=".MainActivity"> tools:context=".MainActivity">
<TextView <TextView
android:layout_width="wrap_content" android:id="@+id/textView"
android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="Hello World!" android:text="Hello World!"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/button" />
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/editTextText" />
<EditText
android:id="@+id/editTextText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="text"
android:text="Name"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" /> app:layout_constraintTop_toTopOf="parent" />

View File

@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<domain-config cleartextTrafficPermitted="true">
<domain includeSubdomains="true">89.114.196.110</domain>
<!-- Substitua pelo IP real da sua máquina -->
</domain-config>
<!-- Ou permita tudo para desenvolvimento (não recomendado para produção) -->
<!-- <base-config cleartextTrafficPermitted="true">-->
<!-- <trust-anchors>-->
<!-- <certificates src="@raw/debug_certs" />-->
<!-- </trust-anchors>-->
<!-- </base-config>-->
</network-security-config>