我的情况是下一个。我正在创建一个应用程序,当你可以做一个调查,然后,你可以看到调查答案,点击按钮,在应用程序,而无需去手机文件或类似的东西。我创造了55%的应用程序,但其他45%是最重要的。当一个人点击应用内按钮时,有多少可能性,或者我能做些什么才能实现这一点,可以看到调查答案。我做了界面,按钮,textview等。我创建了一个数据库,创建它的瘦身,有可能实现我想要的。我希望在您进行调查时可以建立一个系统,然后按一个按钮,打开一个新活动并查看调查答案。当您关闭应用程序并再次打开时,调查答案不会消失,他们仍然保存。谢谢!
以下是我的调查代码,XML和JAVA:
Button sig = (Button) findViewById(R.id.env); // cargo el boton
encuestadoSQLiteHelper encuestado = new encuestadoSQLiteHelper(this, "DBEncuestado", null, 1); // base de datos
final SQLiteDatabase db = encuestado.getWritableDatabase();
sig.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Context context = getApplicationContext();
EditText preg5 = (EditText) findViewById(R.id.editText2);
EditText preg4 = (EditText) findViewById(R.id.editText);
Spinner cur = (Spinner) findViewById(R.id.spinnerp);
EditText nom = (EditText) findViewById(R.id.editText3);
RadioGroup gruporadio = (RadioGroup) findViewById(R.id.Grupo1);
RadioGroup gruporadio2 = (RadioGroup) findViewById(R.id.Grupo2);
RadioGroup gruporadio3 = (RadioGroup) findViewById(R.id.Grupo3);
String strNombre = nom.getText().toString();
String nombre = "PabloGonzalez";
String curso = cur.getSelectedItem().toString();
String strPregCinco = preg5.getText().toString();
String strPregCuatro = preg4.getText().toString();
if(gruporadio.getCheckedRadioButtonId() == -1 || gruporadio2.getCheckedRadioButtonId() == -1 || gruporadio3.getCheckedRadioButtonId() == -1 )
{
Toast.makeText(context,"¡No marcaste ninguna respuesta!",Toast.LENGTH_LONG).show();
}
else if (strNombre.matches("") || strPregCinco.matches("") || strPregCuatro.matches(""))
{
Toast.makeText(context,"¡Dejaste campos vacíos!",Toast.LENGTH_LONG).show();
}
else if(db == null)
{
Toast.makeText(context, "No funciona la base de datos.", Toast.LENGTH_LONG).show();
db.close();
}
else
{
Intent i = new Intent (encuesta.this, res8.class);
i.putExtra("nombre", strNombre);
startActivity(i);
Intent pas = new Intent(encuesta.this, MainActivity.class);
Toast.makeText(context,"¡Encuesta enviada!",Toast.LENGTH_LONG).show();
startActivity(pas);
db.execSQL("INSERT INTO Encuestado (nombre) " +
"VALUES ('" + nombre +"')");
db.close();
new Thread(new Runnable() {
@Override
public void run() {
try {
File sd = Environment.getExternalStorageDirectory();
File data = Environment.getDataDirectory();
if (sd.canWrite()) {
String currentDBPath = "/data/com.example.pablo.myapplication/databases/DBEncuestado";
String backupDBPath = "backdatabase.sqlite";
File currentDB = new File(data, currentDBPath);
File backupDB = new File(sd, backupDBPath);
if (currentDB.exists()) {
FileChannel src = new FileInputStream(currentDB).getChannel();
FileChannel dst = new FileOutputStream(backupDB).getChannel();
dst.transferFrom(src, 0, src.size());
src.close();
dst.close();
}
}
} catch (Exception e) {
System.out.println("error in data base copy:"+e);
}
}
}).start();
}
}
});
}
}
如果你能看到,有一个数据库,但我不知道是否有必要或是。
XML:
<ScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TextView
android:text="Nombre del encuestado:"
android:id="@+id/nomb"
android:textSize="16dp"
android:textColor="#000000"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<EditText
android:id="@+id/editText3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="2dp"
android:layout_marginTop="2dp"
android:ems="15"
android:inputType="textPersonName"
android:text="" />
<TextView
android:text="Curso:"
android:textSize="16dp"
android:textColor="#000000"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<Spinner
android:id="@+id/spinnerp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="5dp"
android:layout_marginTop="5dp"/>
<TextView
android:text="1. ¿Cuánto tiempo tarda usted desde su casa al colegio?"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="16dp"
android:textColor="#000000"
android:id="@+id/textView" />
<RadioGroup
android:id="@+id/Grupo1"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<RadioButton
android:id="@+id/radioButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="1/2 hora a 1 hora" />
<RadioButton
android:id="@+id/radioButton1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="1 hora o 2 horas" />
<RadioButton
android:id="@+id/radioButton2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="2 horas o más" />
</RadioGroup>
<TextView
android:text="2. ¿Cuánto tiempo tarda desde el colegio a su casa?"
android:layout_marginTop="20dp"
android:textSize="16dp"
android:textColor="#000000"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<RadioGroup
android:id="@+id/Grupo2"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<RadioButton
android:id="@+id/radioButton3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="1/2 hora a 1 hora" />
<RadioButton
android:id="@+id/radioButton4"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="1 hora o 2 horas" />
<RadioButton
android:id="@+id/radioButton5"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="2 horas o más" />
</RadioGroup>
<TextView
android:text="3. ¿Cuáles de las siguientes zonas de Bogotá está localizado su domicilio?"
android:layout_marginTop="20dp"
android:textSize="16dp"
android:textColor="#000000"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/textView2" />
<RadioGroup
android:id="@+id/Grupo3"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<RadioButton
android:id="@+id/radioButton6"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Norte de Bogotá (calle 72 en adelante)" />
<RadioButton
android:id="@+id/radioButton7"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Suba (noroccidente)" />
<RadioButton
android:id="@+id/radioButton8"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Centro - Chapinero - Teusaquillo" />
<RadioButton
android:id="@+id/radioButton9"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Alrededores de Bogotá" />
<RadioButton
android:id="@+id/radioButton10"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Sur de Bogotá" />
<RadioButton
android:id="@+id/radioButton11"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Occidente (Puente Aranada - Fontibón - Engativá)" />
</RadioGroup>
<TextView
android:text="4. Si usted fuera alcalde de Bogotá, ¿que solución propondría para mejorar la movilidad de Bogotá?"
android:textColor="#000000"
android:textSize="16dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:id="@+id/textView3" />
<EditText
android:id="@+id/editText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_below="@+id/textView3"
android:layout_marginTop="13dp"
android:background="#e4e4e4"
android:ems="10"
android:inputType="textPersonName"
android:paddingBottom="8dp"
android:paddingLeft="10dp"
android:paddingTop="2dp"
android:textSize="16dp" />
<TextView
android:text="5. ¿Cómo cree que influye la movilidad en la calidad de vida de las personas?"
android:textColor="#000000"
android:textSize="16dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:id="@+id/textView4"
android:layout_below="@+id/editText"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<EditText
android:id="@+id/editText2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_below="@+id/textView3"
android:layout_marginTop="20dp"
android:background="#e4e4e4"
android:ems="10"
android:inputType="textPersonName"
android:paddingBottom="8dp"
android:paddingLeft="10dp"
android:paddingTop="2dp"
android:textSize="16dp" />
<Button
android:text="Enviar encuesta"
android:textSize="14dp"
android:id="@+id/env"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
</ScrollView>
我希望展示答案的活动是res8.java
答案 0 :(得分:0)
兄弟,只需创建一个像getter和setter这样的模型类,首先使用getQuestion(),setQuestion(),getAnswer(),setAnswer()等方法。之后,当用户回答您的调查问题时,只需创建该模型类的对象,如: -
ArrayList<MyModel> datalist = new ArrayList();
MyModel model = new MyModel();
model.setQuestion(list.get(i).question);
model.setAnswer(list.get(i).answer);
....
....
dataList.add(model);
像这样只捕获所有用户输入数据,不需要数据库。
此处列表是您所有问题的清单......
当你想要getData时......只需要调用datalist.get(i).getQuestion,然后再回答。