2016-11-23 9 views
0

Добрый день, все, что я использую андроид-студию, у меня есть неплохое представление о том, как использовать сахар ORM на данный момент, но есть одна вещь, которую я просто не могу найти или выяснить.Sugar ORM как добавить данные в строку в таблице

Итак, у меня есть активность с именем UserProfiles.java, в которой я спрашиваю у пользователя разные вещи, а затем я храню их в базе данных. Итак, на данный момент у меня есть около 20 записей/строк в базе данных. Однако проблема заключается в том, что когда я отправляю пользователя на следующую активность (UserPins.java), я прошу их установить некоторую дополнительную информацию сейчас, как я могу добавить эту информацию в ту же строку, что и данные с информацией о профилях пользователей?

//this is my UserProfiles.java 

    package com.chika.mia; 
    import android.content.Intent; 
    import android.os.Bundle; 
    import android.support.v7.app.AppCompatActivity; 
    import android.view.View; 
    import android.widget.Button; 
    import android.widget.EditText; 
    import android.widget.Toast; 
    import com.chika.mia.models.Mia; 


    public class UserProfile extends AppCompatActivity implements   View.OnClickListener { 
    private EditText Name, PhoneNumber, Email, Password, Address; 
    private Button SaveUser; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_user_profile); 
     Name = (EditText)findViewById(R.id.Name); 
     PhoneNumber = (EditText)findViewById(R.id.PhoneNumber); 
     Email = (EditText)findViewById(R.id.Email); 
     Password = (EditText)findViewById(R.id.Password); 
     Address = (EditText)findViewById(R.id.Address); 
     SaveUser = (Button)findViewById(R.id.SaveUser); 
     SaveUser.setOnClickListener(this); 
    } 

    @Override 
    public void onClick(View v) { 

     Mia m = new Mia(); 
     m.setName(register.g); 
     m.setPhoneNumber(Integer.parseInt(PhoneNumber.getText().toString())) ; 
     m.setEmail(register.i) ; 
     m.setPassword(register.h); 
     m.setAddress(Address.getText().toString()) ; 
     m.setLocation("MiaL"); 
     m.setWipePhone("MiaWP"); 
     m.setDispMessage("MiaDM"); 
     m.setAlarm("MIAA"); 
     m.setShutdown("MIASD"); 
     m.save(); 

     Toast.makeText(this, " " + m.getName(), Toast.LENGTH_LONG).show(); 
     Intent intent = new Intent(UserProfile.this, UserPins.class); 
     startActivity(intent); 
    } 
    } 

И это мой Userpins.java

package com.chika.mia; 

import android.content.Intent; 
import android.os.Bundle; 
import android.support.v7.app.AppCompatActivity; 
import android.view.View; 
import android.widget.EditText; 
import com.chika.mia.models.Mia; 
import com.orm.query.Condition; 
import com.orm.query.Select; 

public class UserPins extends AppCompatActivity implements  View.OnClickListener { 
private EditText  UserLocation,UserWipePhone,UserDisplayMsg,UserAlarm,UserShurdown; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_user_pins); 
    UserLocation = (EditText)findViewById(R.id.UserLocation); 
    UserWipePhone = (EditText)findViewById(R.id.UserWipePhone); 
    UserDisplayMsg = (EditText)findViewById(R.id.UserDisplayMsg); 
    UserAlarm = (EditText)findViewById(R.id.UserAlarm); 
    UserShurdown = (EditText)findViewById(R.id.UserShutdown); 
} 

@Override 
public void onClick(View v) { 


    Mia m = new Mia(); 
    Select.from(Mia.class).where(Condition.prop("Name").eq(register.i)).list(); 
    m.setLocation(UserLocation.getText().toString()); 
    m.setWipePhone(UserWipePhone.getText().toString()); 
    m.setDispMessage(UserDisplayMsg.getText().toString()); 
    m.setAlarm(UserAlarm.getText().toString()); 
    m.setShutdown(UserShurdown.getText().toString()); 
    m.update(); 
    Intent intent = new Intent(this,AppSettings.class); 
    startActivity(intent); 
} 
    } 

Что я с целью сделать что-то подобное, поэтому, для которых когда-либо пользователь входит в систему, скажем «Томь», у меня уже есть логин и регистрации страница отсортирована. Он будет проходить через базу данных и искать имя «Том» или отправить по электронной почте «[email protected]», а затем добавить информацию о пользователях в соответствующий столбец в этой таблице.

ответ

2

Когда вы создаете новую запись в Sugar ORM, вы получаете уникальный идентификатор обратно из save(). На вашей первой деятельности, получить идентификатор и передать его следующему деятельности:

long new_user_id = m.save(); 
... 
Intent intent = new Intent(UserProfile.this, UserPins.class); 
intent.putExtra("NEW_USER_ID", new_user); 
startActivity(intent); 

Тогда вы можете захватить его в новой деятельности с:

long new_user_id = getIntent().getLongExtra("NEW_USER_ID",0); 

Затем вы можете использовать идентификатор, чтобы получить запись:

Mia m = Mia.findById(Mia.class, new_user_id);