0
그냥 안드로이드 시작하고 간단한 데이터베이스를 만들려고 작동하지 않습니다.데이터베이스 생성 안드로이드/안드로이드 스튜디오
FoodMacrosTable.java
public class FoodMacrosTable {
public static final String DB_NAME = "FoodDatabase.db";
public static final int DB_VERSION = 1;
public class FoodMacros implements BaseColumns {
public static final String TABLE_NAME = "FoodMacros";
public static final String FOOD_NAME = "Food name";
public static final String FOOD_PROTEIN = "Amount of protein in 100g";
public static final String FOOD_CARBS = "Amount of carbs in 100g";
public static final String FOOD_FATS = "Amount of fats in 100g";
public static final String FOOD_CALORIES = "Amount of calories in 100g";
public static final String FOOD_VIT_A = "% of daily needs in 100g";
public final String[] TABLE_COLUMNS = {FOOD_NAME,FOOD_PROTEIN,FOOD_CARBS,FOOD_FATS,FOOD_CALORIES,
FOOD_VIT_A};
}
}
HealthyDbHanbler.java
public class HealthyDbHandler extends SQLiteOpenHelper {
public HealthyDbHandler(Context context){
super(context,FoodMacrosTable.DB_NAME,null,FoodMacrosTable.DB_VERSION);
}
@Override
public void onCreate(SQLiteDatabase sqLiteDatabase) {
String createTable = "CREATE TABLE " + FoodMacrosTable.FoodMacros.TABLE_NAME + " (" +
FoodMacrosTable.FoodMacros._ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
FoodMacrosTable.FoodMacros.FOOD_NAME + " TEXT NOT NULL, " +
FoodMacrosTable.FoodMacros.FOOD_PROTEIN + " TEXT NOT NULL, " +
FoodMacrosTable.FoodMacros.FOOD_CARBS + " TEXT NOT NULL, " +
FoodMacrosTable.FoodMacros.FOOD_FATS + " TEXT NOT NULL, " +
FoodMacrosTable.FoodMacros.FOOD_CALORIES + " TEXT NOT NULL, " +
FoodMacrosTable.FoodMacros.FOOD_VIT_A + " TEXT NOT NULL);";
sqLiteDatabase.execSQL(createTable);
}
@Override
public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {
sqLiteDatabase.execSQL("DROP TABLE IF EXISTS " + FoodMacrosTable.FoodMacros.TABLE_NAME);
onCreate(sqLiteDatabase);
}
public void addFood(Food food){
SQLiteDatabase db = this.getWritableDatabase();
ContentValues values = new ContentValues();
values.put(FoodMacrosTable.FoodMacros.FOOD_NAME,food.getFOOD_NAME());
values.put(FoodMacrosTable.FoodMacros.FOOD_PROTEIN,food.getFOOD_PROTEIN());
values.put(FoodMacrosTable.FoodMacros.FOOD_CARBS,food.getFOOD_CARBS());
values.put(FoodMacrosTable.FoodMacros.FOOD_FATS,food.getFOOD_FATS());
values.put(FoodMacrosTable.FoodMacros.FOOD_CALORIES,food.getFOOD_CALORIES());
values.put(FoodMacrosTable.FoodMacros.FOOD_VIT_A,food.getFOOD_VIT_A());
db.insert(FoodMacrosTable.FoodMacros.TABLE_NAME,null,values);
db.close();
}
}
MainActivity.java
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
HealthyDbHandler db = new HealthyDbHandler(this) ;
Log.v("DBINFO","Database created");
}
} 여기
은 내가 오류입니다 : 1시 42분 56초 여기 내 코드입니다 PM 바인딩 할 수 없습니다. 디버거 용 로컬 8600에 1:42:56 PM 호스트 컴퓨터의 소프트웨어에 의해 설정된 연결이 중단되었습니다. java.io.IOException : 호스트 시스템의 소프트웨어에 의해 설정된 연결이 중단되었습니다. at sun.nio.ch .SocketDispatcher.write0 (네이티브 메소드) at sun.nio.ch.SocketDispatcher.write (SocketDispatcher.java:51) at sun.nio.ch.IOUtil.writeFromNativeBuffer (IOUtil.java:93) at sun.nio. ch.IOUtil.write (IOUtil.java:65) at sun.nio.ch.SocketChannelImpl.write (SocketChannelImpl.java:471) at com.android.ddmlib.JdwpPacket.write (JdwpPacket.java:179) at com.android.ddmlib.Client.send (Client.java:654) at com.android.ddmlib.jdwp.JdwpAgent.send (JdwpAgent.java:9) 2) com.android.ddmlib.DeviceMonitor.createClient에서 com.android.ddmlib.Client.requestAllocationStatus (Client.java:517) 에서 com.android.ddmlib.HandleHeap.sendREAQ (HandleHeap.java:349) (AT 이 오류 com.android.ddmlib.DeviceMonitor.openClient에서 DeviceMonitor.java:573) (com.android.ddmlib.DeviceMonitor.processIncomingJdwpData에서 DeviceMonitor.java:545) (DeviceMoni (쇼 풍선)
내가 (SQLite는 도구) 전에 DB를 생성하고 배포하는 것이 좋습니다 안드로이드 스튜디오, ADB 서버, 관련 항목에서 다시 활성화 장치에서 USB 디버깅, 또는 무언가를 다시 시작합니다 그것은 귀하의 애플 리케이션에 자산으로. 쉬운 방법. –
다음에 시도해 보지만 먼저이 방법으로 배우고 싶습니다. –
오류로 인해 Android Studio에서 앱을 시작할 수 없다고 말합니다. 디버거가 작동하지 않습니다. –