私は食品名とそのカロリーをデータベースに保存する必要がある栄養アプリケーションを開発しています。私はsqliteデータベースツールとしてSugar ORMを使用しています。新しい記録を保存しようとすると、エラーメッセージが表示されませんが、Appは動作を停止します。データ挿入のための私のxmlレイアウトがあるSugar ORMを使用して2つのフィールドを挿入しようとするとアプリケーションが動作しなくなる
switch(item.getItemId()) {
case R.id.insert:
Dialog dialog = new Dialog(Dashboard.this);
dialog.setContentView(R.layout.insert);
dialog.setCanceledOnTouchOutside(true);
dialog.setTitle("Add a Food");
final EditText foodName = (EditText) dialog.findViewById(R.id.insertFood_txt);
final EditText calorieName = (EditText) dialog.findViewById(R.id.calorie_txt);
Button insert_btn = (Button) dialog.findViewById(R.id.insertFood_btn);
insert_btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String food_name = foodName.getText().toString().trim();
String calorie = calorieName.getText().toString().trim();
foods = new Foods(food_name,calorie);
foods.save();
Toast.makeText(getApplicationContext(),"Food Added Successfully",Toast.LENGTH_SHORT).show();
}
});
dialog.show();
break;
:私は、そのクラスを呼び出すとき
import com.orm.SugarRecord;
import com.orm.dsl.Column;
import com.orm.dsl.Table;
@Table(name = "foods_name")
public class Foods extends SugarRecord{
@Column(name = "food_name")
private String foodName;
@Column(name = "calorie")
private String calorie;
public Foods() {
this.foodName = foodName;
this.calorie = calorie;
}
public Foods(String foodName, String calorie) {
this.foodName = foodName;
this.calorie = calorie;
}
}
、ここでは、次のとおりです。私はここで慈悲 はEntityクラスのための私のJavaコードで持ってくださいAndroidに新たなんです次のように:
<?xml version="1.0" encoding="utf-8"?>
012:ここで終わりに
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/insert">
<EditText
android:id="@+id/insertFood_txt"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:hint="Food Name"
android:inputType="textPersonName" />
<EditText
android:id="@+id/calorie_txt"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:hint="Calorie"
android:inputType="numberDecimal" />
<Button
android:id="@+id/insertFood_btn"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Add Food" />
</LinearLayout>
は私のマニフェストファイルであります
<application
android:name=".appconfig.AppConfig"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
android:name="com.orm.SugarApp" > <!--Use this attribute verbatim-->
<meta-data android:name="DATABASE" android:value="nutrition.db" />
<meta-data android:name="VERSION" android:value="1" />
<meta-data android:name="QUERY_LOG" android:value="true" />
<meta-data android:name="DOMAIN_PACKAGE_NAME" android:value="com.example.niloufar.nutrition3.dataModel" />
<activity android:name=".Dashboard">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".BmiActivity" />
<activity android:name=".IdealWeight" />
<activity android:name=".GoalWeight"></activity>
</application>
マイアンドロイドモニターログイン:
`06-18 02:43:26.874 1009-1009/? I/art: Not late-enabling -Xcheck:jni (already on)
06-18 02:43:26.874 1009-1009/? W/art: Unexpected CPU variant for X86 using defaults: x86_64
06-18 02:43:26.890 1009-1016/? I/art: Debugger is no longer active
06-18 02:43:26.890 1009-1016/? I/art: Starting a blocking GC Instrumentation
06-18 02:43:26.961 1009-1009/? W/System: ClassLoader referenced unknown path: /data/app/com.example.niloufar.nutrition3-2/lib/x86_64
06-18 02:43:26.969 1009-1009/? I/InstantRun: starting instant run server: is main process
06-18 02:43:27.015 1009-1009/? W/art: Before Android 4.1, method android.graphics.PorterDuffColorFilter android.support.graphics.drawable.VectorDrawableCompat.updateTintFilter(android.graphics.PorterDuffColorFilter, android.content.res.ColorStateList, android.graphics.PorterDuff$Mode) would have incorrectly overridden the package-private method in android.graphics.drawable.Drawable
06-18 02:43:27.163 1009-1025/? I/OpenGLRenderer: Initialized EGL, version 1.4
06-18 02:43:27.163 1009-1025/? D/OpenGLRenderer: Swap behavior 1
06-18 02:43:27.163 1009-1025/? W/OpenGLRenderer: Failed to choose config with EGL_SWAP_BEHAVIOR_PRESERVED, retrying without...
06-18 02:43:27.164 1009-1025/? D/OpenGLRenderer: Swap behavior 0
06-18 02:43:27.182 1009-1009/? W/art: Before Android 4.1, method int android.support.v7.widget.ListViewCompat.lookForSelectablePosition(int, boolean) would have incorrectly overridden the package-private method in android.widget.ListView
まだ問題はありますか? –
アンドロイドスタジオの下部にあるAndroidモニタータブでエラーを教えてください。 – Meikiem
エラーはありません!何がありますか:デバイスのプロセス835に接続しました。Slim_Shady_API_24 [emulator-5554] アプリケーションが終了しました。 –