Canasta рдФрд░ Senorit, рднрд╛рдЧ 2 рдХреЗ рд╕рд╛рде Android рдХреЗ рд▓рд┐рдП рдЕрдкрдирд╛ рдУрдЖрд░рдПрдо рд▓рд┐рдЦрдирд╛

рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐


рдореЗрд░реЗ рдкрд╣рд▓реЗ рд▓реЗрдЦ рдореЗрдВ рдХреБрдЫ рд╕рд╛рдореБрджрд╛рдпрд┐рдХ рд░реБрдЪрд┐ рдиреЗ рдореБрдЭреЗ orm рдкрд░ рдХрдбрд╝реА рдореЗрд╣рдирдд рдХреАред рдореИрдВ рдЕрднреА рднреА рдЗрд╕рдореЗрдВ рд╕рдм рдХреБрдЫ рдкрд╕рдВрдж рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реВрдВ (рдХрд╣реАрдВ рдХреЛрдб рдЕрдиреБрдХреВрд▓рд┐рдд рдирд╣реАрдВ рд╣реИ; рдХрд╣реАрдВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╡рд╣ рдирд╣реАрдВ рд╣реИ рдЬреЛ рдореИрдВ рдЪрд╛рд╣рддрд╛ рдерд╛; рдкрд░реНрдпрд╛рдкреНрдд рдЪреЗрдХ рдФрд░ рд╕рдВрднрд╡рддрдГ рд╕реНрдерд┐рд░рддрд╛ рдирд╣реАрдВ рд╣реИ), рд▓реЗрдХрд┐рди рдпрд╣ рдЙрди рд╕рднреА рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдореЗрд░реЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИрдВред рдФрд░ рд╣рд╛рдВ, рдорд┐рд▓рддреЗ рд╣реИрдВ: UcaOrm !

рдХреЗ рдЙрдкрдпреЛрдЧ


рд╣рдо рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдореЙрдбрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ orm рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗ ( рдкрд╣рд▓реЗ рднрд╛рдЧ рдореЗрдВ рдореЙрдбрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ):
public class BaseEntity extends OrmEntity { @Column(primaryKey = true, inherited = true) private Long id; } @Table(name = "car_type", cashedList = true) public class CarType extends BaseEntity { @Column private String code; } @Table(rightJoinTo = {Truck.class}) public class Car extends BaseEntity { @Column(name = "car_type") private CarType type; @Column private List<Wheel> wheels; @Column(name = "engine_power") private int enginePower; @Column(name = "doors_count") private int doorsCount; } @Table public class Wheel extends BaseEntity { @Column(name = "car_id") private Car car; @Column private String manufacturer; } @Table(leftJoinTo = Car.class) public class Truck extends Car { @Column(name = "is_tipper") private boolean isTipper; } 

рд╕рдорд╛рдпреЛрдЬрди

рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдмрд╛рдж (рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдореИрдВ рдЗрдХрдЯреНрдареЗ рдЬрд╛рд░ рдХреЛ рдЕрдкрд▓реЛрдб рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣рд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдЕрдм рдХреЗ рд▓рд┐рдП рдЖрдк рдЗрд╕реЗ рд╕реНрд░реЛрдд рд╕реЗ рдЦреБрдж рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ), рдЖрдкрдХреЛ рдСрд░реНрдореНрд╣реЗрд▓рд░ рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рдПрдХ рд╣реЗрд▓реНрдкрд░ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
 public class DataBaseHelper extends OrmHelper { public DataBaseHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) { super(context, name, factory, version); } @Override protected void onCreate() { } @Override protected void onUpgrade(int oldVersion, int newVersion) { } @Override public void getDefaultValues(Class<? extends OrmEntity> entityClass, ArrayList<String> columns, ArrayList<ContentValues> valueList) { } } 


GetDefaultValues рд╡рд┐рдзрд┐ рдирд┐рд░реНрдорд┐рдд рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдореЗрдВ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдбреЗрдЯрд╛ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред рдЗрд╕рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЕрднреА рддрдХ рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдирд╣реАрдВ рд╣реИ, рдФрд░ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдЕрдм рд╣рдореЗрдВ рд╣реЗрд▓реНрдкрд░ рдХреЛ рдкрдВрдЬреАрдХреГрдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдпрд╣ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЙрддреНрддрд░рд╛рдзрд┐рдХрд╛рд░реА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
 public class MyApp extends Application { @Override public void onCreate() { super.onCreate(); try { OrmFactory.SetHelper(DataBaseHelper.class, getApplicationContext()); } catch (Exception e) { e.printStackTrace(); } } @Override public void onTerminate() { OrmFactory.ReleaseHelper(); super.onTerminate(); } } 


рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдбреЗрдЯрд╛рдмреЗрд╕ рдирд╛рдо рд▓реЗрдмрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реЗ рдмрдирддрд╛ рд╣реИ, рдФрд░ рд╕рдВрд╕реНрдХрд░рдг 1 рд╣реЛрдЧрд╛ред рдЗрд╕реЗ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдкреНрд░рдХрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬреЛрдбрд╝реЗрдВ:
 <meta-data android:name="UO_DB_NAME" android:value="Cars" /> <meta-data android:name="UO_DB_VERSION" android:value="1" /> 

рдЯреЗрдмрд▓ рдирд┐рд░реНрдорд╛рдг

рдЯреЗрдмрд▓реНрд╕ onCreate рдореЗрдердб рдореЗрдВ рдмрдирд╛рдП рдЧрдП рд╣реИрдВ, рдФрд░ рдЕрдкрдбреЗрдЯ onUpdate рдореЗрдердб рдореЗрдВ рд╣реИ, рд╣рд╛рд▓рд╛рдБрдХрд┐, рдСрд░рдо рдореЗрдВ рдЕрдкрдбреЗрдЯ рдЕрднреА рддрдХ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИред
рдФрд░ рдЗрд╕рд▓рд┐рдП, рдЖрд╡рд╢реНрдпрдХ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░реЗрдВ:
 protected void onCreate() { try { OrmUtils.CreateTable(CarType.class); OrmUtils.CreateTable(Car.class); OrmUtils.CreateTable(Wheel.class); OrmUtils.CreateTable(Truck.class); } catch (Exception e) { e.printStackTrace(); } } 

рдФрд░ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде CarType рддрд╛рд▓рд┐рдХрд╛ рднрд░реЗрдВ:
 public void getDefaultValues(Class<? extends OrmEntity> entityClass, ArrayList<String> columns, ArrayList<ContentValues> valueList) { ContentValues values; if (entityClass.equals(CarType.class)) { values = new ContentValues(); values.put(columns.get(0), "Passenger"); valueList.add(values); values = new ContentValues(); values.put(columns.get(0), "Truck"); valueList.add(values); } } 

рдЬреИрд╕рд╛ рдХрд┐ рдкрд╣рд▓реЗ рд╣реА рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, getDefaultValues тАЛтАЛрдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд▓рдВрдЧрдбрд╝рд╛ рд╣реИред

рд╕рд░рд▓ рдЪрдпрди

рдЪреВрдБрдХрд┐ рд╣рдордиреЗ рдкрд╣рд▓реЗ рд╣реА CarType рддрд╛рд▓рд┐рдХрд╛ рдХреЛ рдбреЗрдЯрд╛ рд╕реЗ рднрд░ рджрд┐рдпрд╛ рд╣реИ, рдореЗрд░рд╛ рд╕реБрдЭрд╛рд╡ рд╣реИ рдХрд┐ рдЖрдк рдкрд╣рд▓реЗ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рд▓рд╛рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ, рдФрд░ рдлрд┐рд░ рдЙрджрд╛рд╣рд░рдг рдмрдирд╛рдПрдБ рдФрд░ рдХрд╣рд╛рдБ рд╕реЗ рд▓рд╛рдПрдБ ред
рдЪрд▓реЛ " рдХрд╛рд░ " рдкреНрд░рдХрд╛рд░ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдмрдирд╛рддреЗ рд╣реИрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╕рднреА рдкреНрд░рдХрд╛рд░реЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдЪреВрдВрдХрд┐ рд╕рднреА рд╕рдВрд╕реНрдерд╛рдПрдВ рдЬреЛ orm рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреА рд╣реИрдВ , рдЙрдиреНрд╣реЗрдВ OrmEntity рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рд╣рдо рдЗрд╕рдХреЗ рд╕реНрдерд┐рд░ getAllEntities рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред рд╕реБрдВрджрд░рддрд╛ рдХреЗ рд▓рд┐рдП, рд╣рдо рдЗрд╕реЗ CarType рдХреНрд▓рд╛рд╕ рдореЗрдВ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ :
 public static List<CarType> getAllCarTypes(){ try { return OrmEntity.getAllEntities(CarType.class); } catch (Exception e) { e.printStackTrace(); } return null; } 

рдЗрдХрд╛рдИ рдирд┐рд░реНрдорд╛рдг

рдХрд╛рд░ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдмрдирд╛рдПрдБ:
  Car car = new Car(); car.setType(CarType. getAllCarTypes().get(0)); car.setEnginePower(116); car.setDoorsCount(4); Wheel whell = new Whell(); whell.setCar(car); whell.setManufacturer("Michrelli"); car.addWheel(whell); 

рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ whell.setCar рдЕрдВрджрд░ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдмреЗрд╣рддрд░ рд╣реИ, рдЬреИрд╕реЗ whell.setCar (рдпрд╣) , рдХреЗ рдЕрдВрджрд░ рдЦреАрдВрдЪреЗрдВ , рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕реЗ рдпрд╣рд╛рдБ рд╕реНрдкрд╖реНрдЯрддрд╛ рдХреЗ рд▓рд┐рдП рджреВрдВрдЧрд╛ред
рдФрд░ рдХреЗрд╡рд▓ рдкрд░рд┐рд╡рд░реНрддрди рд╡рд┐рдзрд┐ рдХреЛ рдЦреАрдВрдЪреЗрдВ:
  car.alter(); 

рдЖрдЗрдП рдЙрджрд╛рд╣рд░рдг рдХреЛ рдереЛрдбрд╝рд╛ рдмрджрд▓реЗрдВ:
  car.setEnginePower(120); car.getWheels().get(0).setManufacturer("Pirlin"); 


рдФрд░ рдлрд┐рд░, рд╣рдо рд╕рд┐рд░реНрдл рдкрд░рд┐рд╡рд░реНрддрди рдХрд╣рддреЗ рд╣реИрдВ:
  car.alter(); 

рдЕрдм " рдЯреНрд░рдХ " рдмрдирд╛рдПрдВ:

  Truck truck = new Truck(); truck.setType(CarType.getAllCarTypes().get(1)); truck.setEnginePower(220); truck.setDoorsCount(2); Wheel whell = new Whell(); whell.setCar(truck); whell.setManufacturer("Michrelli"); truck.addWheel(whell); truck.setTipper(true); truck.alter(); 

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЪрд░ рдХрд╛ рдкреНрд░рдХрд╛рд░ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИ, рд╣рдо рдЗрд╕реЗ рдХрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдШреЛрд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдореБрдЦреНрдп рдЪреАрдЬ рдЬреЛ рдЗрд╕рдореЗрдВ рдирд┐рд╣рд┐рдд рд╣реИред

рдирдореВрдирд╛

рд╣рдо рдХрд╛рд░ рдореЗрдВ рджреЛ рддрд░реАрдХреЗ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВ:
 public static List<Car> getAllCars() { try { return OrmEntity.getAllEntities(CarType.class, true); } catch (Exception e) { e.printStackTrace(); } return null; } public static List<Car> getCarsWithoutTrucks() { try { return OrmEntity.getAllEntities(CarType.class); } catch (Exception e) { e.printStackTrace(); } return null; } 

рдЕрдВрддрд░ рдХреЗрд╡рд▓ GetAllEntities рдХреЗ рд▓рд┐рдП рдХреЙрд▓ рдореЗрдВ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ getAllCars рджреЛ рд░рд┐рдХреЙрд░реНрдб рд▓реМрдЯрд╛рдПрдЧрд╛ , рдФрд░ getCarsWithoutTrucks рдХреЗрд╡рд▓ рдПрдХ: рджреВрд╕рд░рд╛ рдкреИрд░рд╛рдореАрдЯрд░ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдЪрд╛рдЗрд▓реНрдб рдЯреЗрдмрд▓ рд╕реЗ рдЬреБрдбрд╝реЗ рд░рд┐рдХреЙрд░реНрдб рдХрд╛ рдЪрдпрди рдХрд░рдирд╛ рд╣реИ, рдпрд╛ рдХреЗрд╡рд▓ рдЖрддреНрдордирд┐рд░реНрднрд░ рд╣реИред
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрд░ рдзреНрдпрд╛рди рджреЗрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ: рдорд╛рди рд▓реЗрдВ рдХрд┐ рд╣рдо рджреВрд╕рд░реЗ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдпрд╛рддреНрд░реА рдмрдирд╛рддреЗ рд╣реИрдВред рдЬрдм, CarType рд╡рд░реНрдЧ рдХреЛ CashedList рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ , рддреЛ рджреЛрдиреЛрдВ рдХрд╛рд░ рдЗрдВрд╕реНрдЯреЗрдВрд╕реЗрд╕ рдПрдХ рд╣реА CarType рдЙрджрд╛рд╣рд░рдг рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░реЗрдВрдЧреЗред

рдХрд╣рд╛рдВ рд╕реЗ рд▓рд╛рдПрдВ

рдЦреИрд░, рдФрд░ рд╕рдмрд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк!
OrmEntity рдореЗрдВ рдПрдХ рд╕реНрдерд┐рд░ рдЬрд╣рд╛рдБ рд╡рд┐рдзрд┐ рд╣реИ рдЬреЛ рдПрдХ рдЗрдХрд╛рдИ рд╡рд░реНрдЧ рдХреЛ рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд▓реЗ рдЬрд╛рддреА рд╣реИ рд╕реБрдВрджрд░рддрд╛ рдХреЗ рд▓рд┐рдП, рдЗрд╕реЗ рдХрд╛рд░ рдореЗрдВ рдкреБрдирдГ рдмрдирд╛рдПрдВ:
  public static OrmWhere Where(){ return Where(Car.class); } 

рдФрд░ 120 hp рдХреА рд╢рдХреНрддрд┐ рд╡рд╛рд▓реА рдХрд╛рд░реЛрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ:

  List<Car> cars = Car.Where().Equals("engine_power", 120).Select(); 

рдпрд╛ 120 hp рд╡рд╛рд▓реА рдХрд╛рд░реЗрдВ рдФрд░ рдЬрд┐рд╕рдХреЗ рдЪрд╛рд░ рджрд░рд╡рд╛рдЬреЗ рд╣реИрдВ:

  List<Car> cars = Car.Where().Equels(тАЬengine_powerтАЭ, 120).And().Equals("doors_count", 4).Select(); 

рдпрд╛ рдЙрди рдХрд╛рд░реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдЬрд┐рдирдХреЗ рдкрд╛рд╕ рдПрдХ Pirlin рдкрд╣рд┐рдпрд╛ рд╣реИ:

  Car car = Car.Where().FindChild(Wheel.class, new OrmWhere(Wheel.class).Equals("manufacturer", "Pirlin")).SelectFirst(); 

рдЪрд╛рдЗрд▓реНрдб рдЯреЗрдмрд▓ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд┐рдП рдЬрд╛рдиреЗ рдХреЗ рд╕рд╛рде рдЪрдпрди рдЕрднреА рддрдХ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдУрдЖрд░рдПрдо рдЗрд╕рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдФрд░ рдСрд░реНрдорд╡реЙрдпрд░ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд▓рд┐рдлрд╝реНрдЯрдлрд┐рд▓реНрдб рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд╕рд╛рде рдПрдХ рдФрд░ рдЪрдпрди рд╡рд┐рдзрд┐ рдЬреЛрдбрд╝рдирд╛ рд╣реИ )ред

рдирд┐рд╖реНрдХрд░реНрд╖


рдпрд╣ рд▓рдЧрднрдЧ рд╕рднреА рдореЗрд░реА рдУрдЯ рд╕рдХреНрд╖рдо рд╣реИред рдЕрдм, рд╕рдВрд╕реНрдХрд░рдг рд╕рдВрдЦреНрдпрд╛ рдЬреЛ рдореИрдВ рдЙрд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реВрдВрдЧрд╛ рд╡рд╣ 0.1 рд╣реИ ред рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╣реА рдХрд╣рд╛ рдерд╛, рдпрд╣ рдЙрд╕ рд╕рдордп рд╕рдм рдХреБрдЫ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдореЗрд░реЗ рдЖрд╡реЗрджрди рдХреА рдЬрд░реВрд░рдд рд╣реИ, рдФрд░ рдЗрд╕рд▓рд┐рдП, рдЗрд╕ рддрд░рд╣ рдХреЗ trifles, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, OrmWhere рдореЗрдВ рдХрдо рдпрд╛ рдорд╣рд╛рди рдЕрднреА рддрдХ рд▓рд╛рдЧреВ рдирд╣реАрдВ рд╣реИрдВред рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдпрд╛ рд╣рдЯрд╛рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХреА рдЧрдИ рд╣реИ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЖрдк рдПрдХ рд╣реА CreateTable рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдирдП рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ)ред рдмрд╛рдПрдВ рдФрд░ рджрд╛рдПрдВ рдЬреНрд╡рд╛рдЗрди рдЯреЗрдмрд▓ рдХреЗ рдХрд╛рд░рдг, рдореБрдЭреЗ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде рдХреНрд╡реЗрд░реА рдХреЙрд▓ рдХреЛ рдЫреЛрдбрд╝рдирд╛ рдкрдбрд╝рд╛ рдФрд░ SQLiteDatabase рд╕реЗ рд░реЙрд╡рд┐рдХреНрд╡реИрдХ рдХреЛ рдЦреАрдВрдЪрдирд╛ рдкрдбрд╝рд╛ , рд╕рд╛рде рд╣реА рдХреИрд╢реНрдб рд╕реВрдЪрд┐рдпреЛрдВ рдХреА рд╕рднреА рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдХреЛ O (nk) рд╕реЗ рдмрдврд╝рд╛рдиреЗ рдХреА рд▓рд╛рдЧрдд (рдЬрд╣рд╛рдВ n рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рд╕рднреА рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╣реИ, рдФрд░ k - рдкрд╣рд▓реЗ рд╕реЗ рдЪрдпрдирд┐рдд рд░рд┐рдХреЙрд░реНрдбреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛) рд╕реЗ (n) ред рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╕рдорд░реНрдерд┐рдд рдкреНрд░рдХрд╛рд░ рд╣реИрдВ: Int , Long , Double , Date , String , Drawable рдФрд░ Document ред
рд╢рд╛рдпрдж рдореИрдВ рдХреБрдЫ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рдирд╛ рднреВрд▓ рдЧрдпрд╛, рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рднреА рдорд╛рдорд▓реЗ рдореЗрдВ рдореБрдЭреЗ рдХрд┐рд╕реА рднреА рдкреНрд░рд╢реНрди рдХреЗ рд▓рд┐рдП рдЦреБрд╢реА рд╣реЛрдЧреА рдФрд░ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдЙрдХреЛрд╕реНрдо рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рд╕реБрдЭрд╛рд╡ред

Source: https://habr.com/ru/post/In187526/


All Articles