Android アプリのヘルプが必要です。このアプリでは、今、フォームの端からいくつかのデータを取得し、それをデータベースに配置します。しかし、私は表示する必要があり、現在の GPS 位置と現在の時刻もデータベースに入力する必要があります。私はすでにチュートリアルを使用しようとし、フォーラムの他の投稿を結果なしで見ようとしました。ロケーションリスナーの操作方法と、プロジェクトを変更する必要がある場所がわからないため、助けが必要です。ありがとう。これは私のコードです
FORM.java
import android.app.Activity;
import android.content.ComponentName;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.AutoCompleteTextView;
public class Form extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
public void onAddClick(View botton) {
AutoCompleteTextView spedID = (AutoCompleteTextView) findViewById(R.id.SpedID);
AutoCompleteTextView spedCliente = (AutoCompleteTextView) findViewById(R.id.SpedCliente);
AutoCompleteTextView spedCorriere = (AutoCompleteTextView) findViewById(R.id.SpedCorriere);
Intent intent = new Intent();
intent.setClass(this, Result.class);
intent.putExtra("SpedID", spedID.getText().toString());
intent.putExtra("SpedCliente", spedCliente.getText().toString());
intent.putExtra("SpedCorriere", spedCorriere.getText().toString());
startActivity(intent);
}
public void onCancelClick(View botton) {
Intent intent = new Intent();
intent.setComponent(new ComponentName(this, Result.class));
intent.putExtra("Cancel", "Cancel");
startActivity(intent);
}
}
RESULT.java
import android.app.Activity;
import android.content.ContentValues;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.widget.TextView;
public class Result extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.result);
TextView resultText = (TextView) findViewById(R.id.resultText);
Bundle bundle = getIntent().getExtras();
if (bundle.getString("Cancel") != null) {
resultText.setText(getString(R.string.cancelOp));
} else {
String spedID = bundle.getString("SpedID");
String spedCliente = bundle.getString("SpedCliente");
String spedCorriere = bundle.getString("SpedCorriere");
insertSpedizione(spedID, spedCliente, spedCorriere); // metodo per
// inserire
// dati in
// db
resultText.setText(getString(R.string.resultOk) + "\n" + spedID
+ "\n" + spedCliente + "\n" + spedCorriere);
}
}
private void insertSpedizione(String idsped, String cliente,
String idcorriere) {
// metodo insertspedizione riceve in ingresso i parametri sped,cliente
// etc etc
DatabaseHelper databaseHelper = new DatabaseHelper(this);
SQLiteDatabase db = databaseHelper.getWritableDatabase(); // creo un
// database
// Srivibile
ContentValues cv = new ContentValues(); // Hashmap
cv.put(DatabaseHelper.IDSPED, idsped); // nome colonna, valore
cv.put(DatabaseHelper.CLIENTE, cliente);// nome colonna, valore
cv.put(DatabaseHelper.IDCORRIERE, idcorriere);// nome colonna, valore
db.insert("spedizioni", DatabaseHelper.IDSPED, cv); // faccio un insert
// nella TABLE
// spedizioni con
// parametri IDSPED
// not null e il
// ContentValues
db.close(); // quando abbiamo finito chiudiamo
}
}
データベースヘルパー.java
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
public class DatabaseHelper extends SQLiteOpenHelper {
public static final String DATABASE_NAME = "datasped.db"; // nome database
// che viene
// creato da
// SQLiteOpenHelper
public static final String IDSPED = "idsped";
public static final String CLIENTE = "cliente";
public static final String IDCORRIERE = "idcorriere";
public DatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, 1); // 1 è la versione iniziale del
// database che viene aggiornata
// con onUpgrade
}
@Override
public void onCreate(SQLiteDatabase db) { // onCreate crea la
// tabella(formattazione,
// indici, etc) con tutti i dati
// ce voglio nel .db
db.execSQL("CREATE TABLE spedizioni (_id INTEGER PRIMARY KEY AUTOINCREMENT,idsped TEXT, cliente TEXT,idcorriere TEXT);");
}// in questo caso mi basta creare una Table semplice con id incrementale
// per ogni dato inserito
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { // cambia
// la
// versione
// del
// database
android.util.Log.w("spedizioni",
"Ugrading database, which will destroy all old data");
db.execSQL("DROP TABLE IF EXIST spedizioni");
onCreate(db); // ricreo il Database
}
}
マニフェスト.xml
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="matteo.android.SpedyGo" android:versionCode="1"
android:versionName="1.0">
<uses-sdk android:minSdkVersion="9" />
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".Form" android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".Result" android:label="@string/result">
</activity>
</application>
</manifest>
STRINGS.xml
<resources>
<string name="hello">Hello World, Form!</string>
<string name="app_name">SpedyGo</string>
<string name="InserisciSpedizione">Inserisci Spedizione</string>
<string name="textsped">Id Spedizione</string>
<string name="textcliente">Cliente</string>
<string name="textCorriere">Id Corriere</string>
<string name="cancel">Cancella</string>
<string name="confirm">Conferma</string>
<string name="result">Risultato</string>
<string name="resultOk">Operazione Avvenuta con Successo</string>
<string name="cancelOp">Operazione Cancellata</string>
</resources>
メイン.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView android:layout_width="fill_parent"
android:layout_height="wrap_content" android:text="@string/InserisciSpedizione"
android:textSize="30sp" android:textStyle="bold" android:gravity="center" />
<LinearLayout android:layout_width="match_parent"
android:layout_height="wrap_content" android:id="@+id/linearLayout1">
<TextView android:layout_width="wrap_content"
android:layout_height="wrap_content" android:text="@string/textsped"
android:textStyle="bold" android:padding="5sp" android:width="120sp"
android:textSize="16sp"></TextView>
<AutoCompleteTextView android:layout_weight="1"
android:layout_width="match_parent"
android:layout_height="wrap_content" android:width="500sp" android:id="@+id/SpedID"></AutoCompleteTextView>
</LinearLayout>
<LinearLayout android:layout_width="match_parent"
android:layout_height="wrap_content" android:id="@+id/linearLayout1">
<TextView android:layout_width="wrap_content"
android:layout_height="wrap_content" android:textStyle="bold"
android:padding="5sp" android:text="@string/textcliente"
android:textSize="16sp" android:width="120sp"></TextView>
<AutoCompleteTextView android:layout_weight="1"
android:layout_width="match_parent"
android:layout_height="wrap_content" android:width="500sp" android:id="@+id/SpedCliente"></AutoCompleteTextView>
</LinearLayout>
<LinearLayout android:layout_width="match_parent"
android:layout_height="wrap_content" android:id="@+id/linearLayout1">
<TextView android:layout_width="wrap_content"
android:layout_height="wrap_content" android:textStyle="bold"
android:padding="5sp" android:text="@string/textCorriere"
android:textSize="16sp" android:width="120sp"></TextView>
<AutoCompleteTextView android:layout_weight="1"
android:layout_width="match_parent"
android:layout_height="wrap_content" android:width="500sp" android:id="@+id/SpedCorriere"></AutoCompleteTextView>
</LinearLayout>
<LinearLayout android:layout_width="match_parent"
android:layout_height="wrap_content" android:id="@+id/linearLayout2">
<Button android:layout_height="wrap_content" android:text="@string/cancel"
android:layout_width="130sp" android:onClick="onCancelClick"></Button>
<Button android:layout_height="wrap_content" android:text="@string/confirm"
android:layout_width="130sp" android:onClick="onAddClick"></Button>
</LinearLayout>
</LinearLayout>
RESULT.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView android:layout_width="fill_parent"
android:layout_height="wrap_content" android:textStyle="bold"
android:focusableInTouchMode="false" android:textSize="25sp"
android:padding="10sp" android:gravity="center" android:text="@string/result" />
<TextView android:layout_width="fill_parent"
android:layout_height="wrap_content" android:textStyle="bold"
android:focusableInTouchMode="false" android:textSize="20sp"
android:padding="10sp" android:gravity="center" android:text=""
android:id="@+id/resultText" />
</LinearLayout>