Java Android-单击提交按钮后接收来自不同活动的错误消息
我有一个由6个屏幕组成的过程(用户在前5个屏幕上进行选择,第6个屏幕是摘要和“提交”按钮),当我测试这个屏幕序列时,一切正常,除非…除非我在开始这个序列之前访问我的“更新日期”活动 如果我从主活动访问“UpcomingDate”活动,然后通过按“UpcomingDate”活动中的后退按钮立即返回主活动。然后我开始前面提到的屏幕序列。当我进入摘要页面并单击“提交”按钮(调用saveDataInputs()函数)时,我收到一条错误消息,表示它来自6个活动之前访问过的“UpcomingDate”活动。它就像“saveDataInputs()”函数中的某个东西试图调用“UpcomingDate”活动来启动。我是否在活动生命周期中遗漏了什么 这是我的错误消息:Java Android-单击提交按钮后接收来自不同活动的错误消息,java,android,firebase,firebase-realtime-database,Java,Android,Firebase,Firebase Realtime Database,我有一个由6个屏幕组成的过程(用户在前5个屏幕上进行选择,第6个屏幕是摘要和“提交”按钮),当我测试这个屏幕序列时,一切正常,除非…除非我在开始这个序列之前访问我的“更新日期”活动 如果我从主活动访问“UpcomingDate”活动,然后通过按“UpcomingDate”活动中的后退按钮立即返回主活动。然后我开始前面提到的屏幕序列。当我进入摘要页面并单击“提交”按钮(调用saveDataInputs()函数)时,我收到一条错误消息,表示它来自6个活动之前访问过的“UpcomingDate”活动。
2018-11-05 20:00:54.544 17388-17388/com.example.jacob.datenight E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.jacob.datenight, PID: 17388
java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.lang.Object.toString()' on a null object reference
at com.example.jacob.datenight.UpcomingDateActivity$1.onDataChange(UpcomingDateActivity.java:78)
错误发生在我单击摘要活动上的Submit按钮后,该按钮会停止应用程序,因此不会将所有数据加载到数据库。当然,错误消息是NullPointerException,因为在UpComingDate活动中,我从firebase数据库中提取数据,但并非所有预期数据都在那里。所以这不是问题所在。我真的需要弄清楚,当我打算将它发送到主活动时,为什么它会发送到UpcomingDates活动
以下是我的总结活动中的代码:
public class SummaryLetsGoActivity extends AppCompatActivity implements com.example.jacob.datenight.MasterDrawerFragment.Callbacks {
private static final String TAG_MASTER_FRAGMENT = "TAG_MASTER_FRAGMENT";
private static final String TAG_DETAIL_FRAGMENT = "TAG_DETAIL_FRAGMENT";
private DrawerLayout drawerLayout;
private ActionBarDrawerToggle drawerToggle;
public String selectedDrivingOrUber;
public String selectedStartTime;
public String selectedEndTime;
public String selectedTimeHours;
public String selectedBudget;
public String budgetForYelp;
public String selectedPartySize;
public String selectedMood;
public String selectedActivities;
public String selectedDate;
public TextView drivingTextView;
public TextView budgetTextView;
public TextView startTimeTextView;
public TextView endTimeTextView;
public TextView totalHoursTextView;
public TextView partySizeTextView;
public TextView moodTextView;
public TextView activitiesTextView;
public TextView dateTextView;
public Button summaryNextBtn;
int randomInt1;
int randomInt2;
private UserProfile profile;
String userFirstName;
String userLastName;
String userPhoneNbr;
String userCommPref;
private DatabaseReference submissionsDatabaseRef;
private DatabaseReference profileDatabaseRef;
private FirebaseDatabase mFirebaseDatabase;
private FirebaseAuth mAuth;
private FirebaseAuth.AuthStateListener mAuthListener;
private String userId;
private String userEmail;
public String deviceRegistrationToken;
private ArrayList<YelpBusiness> yelpBusinessesArray = new ArrayList<>();
private ArrayList<YelpBusiness> yelpBusinessesArray2 = new ArrayList<>();
String apiKey;
String userLatitude;
String userLongitude;
FusedLocationProviderClient mFusedLocationClient;
String activitiesTerm = "";
String[][] selectedActivityXref = new String[7][2];
int numOfActivities = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_summary_lets_go);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
drawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
FirebaseApp.initializeApp(this);
deviceRegistrationToken = FirebaseInstanceId.getInstance().getToken();
apiKey = getString(R.string.yelp_api_key);
mAuth = FirebaseAuth.getInstance();
mFirebaseDatabase = FirebaseDatabase.getInstance();
final FirebaseUser USER = mAuth.getCurrentUser();
if (USER != null) {
userId = USER.getUid();
userEmail = USER.getEmail();
}
selectedDrivingOrUber = getIntent().getStringExtra("selectedDrivingOrUber");
selectedStartTime = getIntent().getStringExtra("selectedStartTime"); // This is used to bring the data from the previous activity into the summary
selectedEndTime = getIntent().getStringExtra("selectedEndTime");
selectedTimeHours = getIntent().getStringExtra("selectedTimeHours");
selectedBudget = getIntent().getStringExtra("selectedBudget");
if (selectedBudget.equals("Free")) {
budgetForYelp = "1";
} else if (selectedBudget.equals("Average")) {
budgetForYelp = "2";
} else if (selectedBudget.contains("Special")) {
budgetForYelp = "2, 3";
} else if (selectedBudget.contains("Splurge")) {
budgetForYelp = "3, 4";
}
selectedPartySize = getIntent().getStringExtra("selectedPartySize");
selectedMood = getIntent().getStringExtra("selectedMood");
selectedActivities = getIntent().getStringExtra("selectedActivities");
selectedDate = getIntent().getStringExtra("selectedDate");
if (savedInstanceState != null) {
selectedDrivingOrUber = savedInstanceState.get("selectedDrivingOrUber").toString();
selectedStartTime = savedInstanceState.get("selectedStartTime").toString();
selectedEndTime = savedInstanceState.get("selectedEndTime").toString();
selectedTimeHours = savedInstanceState.get("selectedTimeHours").toString();
selectedBudget = savedInstanceState.get("selectedBudget").toString();
if (selectedBudget.equals("Free")) {
budgetForYelp = "1";
} else if (selectedBudget.equals("Average")) {
budgetForYelp = "2";
} else if (selectedBudget.contains("Special")) {
budgetForYelp = "2, 3";
} else if (selectedBudget.contains("Splurge")) {
budgetForYelp = "3, 4";
}
selectedPartySize = savedInstanceState.get("selectedPartySize").toString();
selectedMood = savedInstanceState.get("selectedMood").toString();
selectedActivities = savedInstanceState.get("selectedActivities").toString();
selectedDate = savedInstanceState.get("selectedDate").toString();
}
drivingTextView = (TextView) findViewById(R.id.summaryDrivingTextView);
budgetTextView = (TextView) findViewById(R.id.summaryBudgetTextView);
startTimeTextView = (TextView) findViewById(R.id.summaryStartTimeTextView);
endTimeTextView = (TextView) findViewById(R.id.summaryEndTimeTextView);
totalHoursTextView = (TextView) findViewById(R.id.summaryTotalHoursTextView);
partySizeTextView = (TextView) findViewById(R.id.summaryPartySizeTextView);
moodTextView = (TextView) findViewById(R.id.summaryMoodTextView);
activitiesTextView = (TextView) findViewById(R.id.summaryActivitiesTextView);
dateTextView = (TextView) findViewById(R.id.summaryDateTextView);
summaryNextBtn = (Button) findViewById(R.id.summaryNextBtn);
selectedActivityXref[0][0] = "Dinner";
selectedActivityXref[0][1] = "Food";
selectedActivityXref[1][0] = "Movie";
selectedActivityXref[1][1] = "Movie";
selectedActivityXref[2][0] = "Drinks";
selectedActivityXref[2][1] = "Bars";
selectedActivityXref[3][0] = "Dance";
selectedActivityXref[3][1] = "Dance Clubs";
selectedActivityXref[4][0] = "Walk";
selectedActivityXref[4][1] = "Walking Trails";
selectedActivityXref[5][0] = "Workout";
selectedActivityXref[5][1] = "Gyms";
selectedActivityXref[6][0] = "Coffee";
selectedActivityXref[6][1] = "Coffee & Tea";
mFusedLocationClient = LocationServices.getFusedLocationProviderClient(this);
if (ActivityCompat.checkSelfPermission(this, android.Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, android.Manifest.permission.ACCESS_COARSE_LOCATION) == PackageManager.PERMISSION_GRANTED) {
mFusedLocationClient.getLastLocation()
.addOnSuccessListener(this, new OnSuccessListener<Location>() {
@Override
public void onSuccess(Location location) {
// Got last known location. In some rare situations this can be null.
if (location != null) {
// Logic to handle location object
userLatitude = Double.toString(location.getLatitude());
userLongitude = Double.toString(location.getLongitude());
numOfActivities = 1;
fetchYelpForOneActivity();
drivingTextView.setText(selectedDrivingOrUber);
budgetTextView.setText(selectedBudget);
startTimeTextView.setText(selectedStartTime);
endTimeTextView.setText(selectedEndTime);
totalHoursTextView.setText(selectedTimeHours);
partySizeTextView.setText(selectedPartySize);
moodTextView.setText(selectedMood);
activitiesTextView.setText(selectedActivities);
dateTextView.setText(selectedDate);
summaryNextBtn.setVisibility(View.VISIBLE);
}
}
});
}
if (drawerLayout != null) {
// setup drawer view
NavigationView navigationView = (NavigationView) findViewById(R.id.master_fragment_container);
navigationView.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
return true;
}
});
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setHomeButtonEnabled(true);
for (int i = 0; i < toolbar.getChildCount(); i++) {
if (toolbar.getChildAt(i) instanceof ImageButton) {
toolbar.getChildAt(i).setScaleX(1.5f);
toolbar.getChildAt(i).setScaleY(1.5f);
}
}
// insert detail fragment into detail container
com.example.jacob.datenight.DetailDrawerFragment detailFragment = com.example.jacob.datenight.DetailDrawerFragment.newInstance();
android.support.v4.app.FragmentManager fragmentManager = getSupportFragmentManager();
fragmentManager.beginTransaction()
.add(R.id.detail_fragment_container, detailFragment, TAG_DETAIL_FRAGMENT)
.commit();
com.example.jacob.datenight.MasterDrawerFragment masterFragment = com.example.jacob.datenight.MasterDrawerFragment.newInstance();
fragmentManager.beginTransaction()
.add(R.id.master_fragment_container, masterFragment, TAG_MASTER_FRAGMENT)
.commit();
setupDrawer();
}
summaryNextBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
if (saveDataInputs()) {
//Removed code here during testing
Intent i = new Intent(SummaryLetsGoActivity.this, MainActivity.class);
startActivity(i);
}
}
});
submissionsDatabaseRef = mFirebaseDatabase.getReference("date_night_submissions/" + userId);
profileDatabaseRef = mFirebaseDatabase.getReference("user_profile/" + userId);
ValueEventListener databaseListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
profile = new UserProfile(Objects.requireNonNull(dataSnapshot.child("address").getValue()).toString(), Objects.requireNonNull(dataSnapshot.child("city").getValue()).toString(), Objects.requireNonNull(dataSnapshot.child("country").getValue()).toString(),
Objects.requireNonNull(dataSnapshot.child("date_of_birth").getValue()).toString(), Objects.requireNonNull(dataSnapshot.child("device_registration_token").getValue()).toString(), Objects.requireNonNull(dataSnapshot.child("email_address").getValue()).toString(), Objects.requireNonNull(dataSnapshot.child("fname").getValue()).toString(), Objects.requireNonNull(dataSnapshot.child("lname").getValue()).toString(),
Objects.requireNonNull(dataSnapshot.child("gender").getValue()).toString(), Objects.requireNonNull(dataSnapshot.child("phone_nbr").getValue()).toString(), Objects.requireNonNull(dataSnapshot.child("photo_url").getValue()).toString(), Objects.requireNonNull(dataSnapshot.child("state").getValue()).toString(), Objects.requireNonNull(dataSnapshot.child("user_name").getValue()).toString(),
Objects.requireNonNull(dataSnapshot.child("zip_cd").getValue()).toString(), Objects.requireNonNull(dataSnapshot.child("communication_preference").getValue()).toString());
userFirstName = profile.getfName();
userLastName = profile.getlName();
userPhoneNbr = profile.getPhoneNbr();
userCommPref = profile.getCommunicationPref();
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
};
profileDatabaseRef.addValueEventListener(databaseListener);
}
@Override
public void onMasterItemClicked(int masterItemId) {
com.example.jacob.datenight.DetailDrawerFragment detailFragment = (com.example.jacob.datenight.DetailDrawerFragment) getSupportFragmentManager()
.findFragmentByTag(TAG_DETAIL_FRAGMENT);
detailFragment.onMasterItemClicked(masterItemId);
if (drawerLayout != null) {
drawerLayout.closeDrawers();
}
}
private void setupDrawer() {
drawerToggle = new ActionBarDrawerToggle(this, drawerLayout,
R.string.drawer_open, R.string.drawer_close) {
public void onDrawerOpened(View drawerView) {
super.onDrawerOpened(drawerView);
//getSupportActionBar().setTitle(activityTitle);
invalidateOptionsMenu(); // creates call to onPrepareOptionsMenu()
}
public void onDrawerClosed(View view) {
super.onDrawerClosed(view);
//getSupportActionBar().setTitle(activityTitle);
invalidateOptionsMenu(); // creates call to onPrepareOptionsMenu()
}
};
drawerToggle.setDrawerIndicatorEnabled(true);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (drawerToggle.onOptionsItemSelected(item)) {
return true;
}
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_bar_profile_img) {
Toast.makeText(SummaryLetsGoActivity.this, "Action clicked", Toast.LENGTH_LONG).show();
return true;
}
return super.onOptionsItemSelected(item);
}
@Override
protected void onPostCreate(Bundle savedInstanceState) {
super.onPostCreate(savedInstanceState);
drawerToggle.syncState();
}
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
drawerToggle.onConfigurationChanged(newConfig);
}
private void fetchYelpForOneActivity() {
for (int i = 0; i < selectedActivityXref.length; i++) {
if (selectedActivities.equals("Surprise")) {
int x = new Random().nextInt(selectedActivityXref.length);
if (x > 7) {
x -= 3;
}
activitiesTerm = selectedActivityXref[x][1];
} else if (selectedActivities.equals(selectedActivityXref[i][0])) {
activitiesTerm = selectedActivityXref[i][1];
}
}
new FetchYelp(userLatitude, userLongitude, apiKey, budgetForYelp, activitiesTerm, new FetchYelp.OnFetchFinishedListener() {
@Override
public void onFetchFinished(ArrayList<YelpBusiness> result) {
if (result.size() > 0) {
yelpBusinessesArray.addAll(result);
ProgressBar spinner = findViewById(R.id.loading_yelp_progress);
TextView details = findViewById(R.id.loading_results_txtview);
RelativeLayout loadingRL = findViewById(R.id.loading_relative_layout);
spinner.setVisibility(View.GONE);
details.setVisibility(View.GONE);
loadingRL.setVisibility(View.GONE);
}
}
}).execute();
}
public boolean saveDataInputs() {
Calendar calendar = Calendar.getInstance();
int year = calendar.get(Calendar.YEAR);
int monthInt = calendar.get(Calendar.MONTH) + 1;
int dayInt = calendar.get(Calendar.DAY_OF_MONTH);
int hourInt = calendar.get(Calendar.HOUR_OF_DAY);
int minuteInt = calendar.get(Calendar.MINUTE);
int second = calendar.get(Calendar.SECOND);
String monthString = String.format(Locale.getDefault(), "%02d", monthInt);
String dayString = String.format(Locale.getDefault(), "%02d", dayInt);
String hourString = String.format(Locale.getDefault(), "%02d", hourInt);
String minuteString = String.format(Locale.getDefault(), "%02d", minuteInt);
String timeStamp = year + "" + monthString + "" + dayString + ":" + hourString + ":" + minuteString + ":" + second;
submissionsDatabaseRef.child(timeStamp).child("email_address").setValue(userEmail);
submissionsDatabaseRef.child(timeStamp).child("device_registration_token").setValue(deviceRegistrationToken);
submissionsDatabaseRef.child(timeStamp).child("selected_driving_or_uber").setValue(selectedDrivingOrUber);
submissionsDatabaseRef.child(timeStamp).child("selected_mood").setValue(selectedMood);
submissionsDatabaseRef.child(timeStamp).child("selected_activities").setValue(selectedActivities);
submissionsDatabaseRef.child(timeStamp).child("selected_budget").setValue(selectedBudget);
submissionsDatabaseRef.child(timeStamp).child("selected_party_size").setValue(selectedPartySize);
submissionsDatabaseRef.child(timeStamp).child("selected_date").setValue(selectedDate);
submissionsDatabaseRef.child(timeStamp).child("selected_start_time").setValue(selectedStartTime);
submissionsDatabaseRef.child(timeStamp).child("selected_end_time").setValue(selectedEndTime);
submissionsDatabaseRef.child(timeStamp).child("selected_time_hours").setValue(selectedTimeHours);
submissionsDatabaseRef.child(timeStamp).child("screen_sequence").setValue("LetsGo");
submissionsDatabaseRef.child(timeStamp).child("submission_timestamp").setValue(timeStamp);
if (numOfActivities == 1) {
if (yelpBusinessesArray.size() > 0) {
if(yelpBusinessesArray.size()==1){
randomInt1 = 0;
loadFirstArrayValues(timeStamp, randomInt1);
loadBlankSecondArrayValues(timeStamp);
} else {
randomInt1 = new Random().nextInt(yelpBusinessesArray.size() - 1);
if(randomInt1 <= yelpBusinessesArray.size()){
loadFirstArrayValues(timeStamp, randomInt1);
loadBlankSecondArrayValues(timeStamp);
} else
{
randomInt1 = yelpBusinessesArray.size();
loadFirstArrayValues(timeStamp, randomInt1);
loadBlankSecondArrayValues(timeStamp);
}
}
} else {
loadBlankFirstArrayValues(timeStamp);
loadBlankSecondArrayValues(timeStamp);
}
}
return true;
}
private void loadFirstArrayValues(String timeStamp, int array1randomInt){
submissionsDatabaseRef.child(timeStamp).child("chosen_activity_location1_name").setValue(yelpBusinessesArray.get(array1randomInt).getBusinessName());
submissionsDatabaseRef.child(timeStamp).child("chosen_activity_location1_rating").setValue(yelpBusinessesArray.get(array1randomInt).getBusinessRating());
submissionsDatabaseRef.child(timeStamp).child("chosen_activity_location1_term").setValue(yelpBusinessesArray.get(array1randomInt).getYelpBusinessTermValue());
submissionsDatabaseRef.child(timeStamp).child("chosen_activity_location1_address1").setValue(yelpBusinessesArray.get(array1randomInt).getBusinessAddress1());
submissionsDatabaseRef.child(timeStamp).child("chosen_activity_location1_address2").setValue(yelpBusinessesArray.get(array1randomInt).getBusinessAddress2());
submissionsDatabaseRef.child(timeStamp).child("chosen_activity_location1_zipCd").setValue(yelpBusinessesArray.get(array1randomInt).getBusinessZipCode());
submissionsDatabaseRef.child(timeStamp).child("chosen_activity_location1_city").setValue(yelpBusinessesArray.get(array1randomInt).getBusinessCity());
submissionsDatabaseRef.child(timeStamp).child("chosen_activity_location1_state").setValue(yelpBusinessesArray.get(array1randomInt).getBusinessState());
submissionsDatabaseRef.child(timeStamp).child("chosen_activity_location1_country").setValue(yelpBusinessesArray.get(array1randomInt).getBusinessCountry());
submissionsDatabaseRef.child(timeStamp).child("chosen_activity_location1_cross_streets").setValue(yelpBusinessesArray.get(array1randomInt).getBusinessCrossStreets());
submissionsDatabaseRef.child(timeStamp).child("chosen_activity_location1_avg_price").setValue(yelpBusinessesArray.get(array1randomInt).getAvgPrice());
submissionsDatabaseRef.child(timeStamp).child("chosen_activity_location1_open_time").setValue("NULL");
submissionsDatabaseRef.child(timeStamp).child("chosen_activity_location1_close_time").setValue("NULL");
submissionsDatabaseRef.child(timeStamp).child("chosen_activity_location1_latitude").setValue(yelpBusinessesArray.get(array1randomInt).getBusinesslatitude());
submissionsDatabaseRef.child(timeStamp).child("chosen_activity_location1_longitude").setValue(yelpBusinessesArray.get(array1randomInt).getBusinesslongitude());
submissionsDatabaseRef.child(timeStamp).child("chosen_activity_location1_distance").setValue(yelpBusinessesArray.get(array1randomInt).getBusinessDistance());
submissionsDatabaseRef.child(timeStamp).child("chosen_activity_location1_review_count").setValue(yelpBusinessesArray.get(array1randomInt).getReviewCount());
submissionsDatabaseRef.child(timeStamp).child("chosen_activity_location1_is_closed").setValue(yelpBusinessesArray.get(array1randomInt).getIsClosed());
if (yelpBusinessesArray.get(array1randomInt).getBusinessCrossStreets() != null) {
submissionsDatabaseRef.child(timeStamp).child("chosen_activity_location1_cross_streets").setValue(yelpBusinessesArray.get(array1randomInt).getBusinessCrossStreets());
} else {
submissionsDatabaseRef.child(timeStamp).child("chosen_activity_location1_cross_streets").setValue("NULL");
}
}
private void loadBlankFirstArrayValues(String timeStamp){
submissionsDatabaseRef.child(timeStamp).child("chosen_activity_location1_name").setValue("No Results");
submissionsDatabaseRef.child(timeStamp).child("chosen_activity_location1_rating").setValue(0.0);
submissionsDatabaseRef.child(timeStamp).child("chosen_activity_location1_term").setValue("No Results");
submissionsDatabaseRef.child(timeStamp).child("chosen_activity_location1_address1").setValue("No Results");
submissionsDatabaseRef.child(timeStamp).child("chosen_activity_location1_address2").setValue("No Results");
submissionsDatabaseRef.child(timeStamp).child("chosen_activity_location1_zipCd").setValue("No Results");
submissionsDatabaseRef.child(timeStamp).child("chosen_activity_location1_city").setValue("No Results");
submissionsDatabaseRef.child(timeStamp).child("chosen_activity_location1_state").setValue("No Results");
submissionsDatabaseRef.child(timeStamp).child("chosen_activity_location1_country").setValue("No Results");
submissionsDatabaseRef.child(timeStamp).child("chosen_activity_location1_cross_streets").setValue("No Results");
submissionsDatabaseRef.child(timeStamp).child("chosen_activity_location1_avg_price").setValue("No Results");
submissionsDatabaseRef.child(timeStamp).child("chosen_activity_location1_open_time").setValue("No Results");
submissionsDatabaseRef.child(timeStamp).child("chosen_activity_location1_close_time").setValue("No Results");
submissionsDatabaseRef.child(timeStamp).child("chosen_activity_location1_latitude").setValue(0.0);
submissionsDatabaseRef.child(timeStamp).child("chosen_activity_location1_longitude").setValue(0.0);
submissionsDatabaseRef.child(timeStamp).child("chosen_activity_location1_distance").setValue(0.0);
submissionsDatabaseRef.child(timeStamp).child("chosen_activity_location1_review_count").setValue(0);
submissionsDatabaseRef.child(timeStamp).child("chosen_activity_location1_is_closed").setValue("No Results");
submissionsDatabaseRef.child(timeStamp).child("chosen_activity_location1_cross_streets").setValue("No Results");
}
private void loadBlankSecondArrayValues(String timeStamp){
submissionsDatabaseRef.child(timeStamp).child("chosen_activity_location2_name").setValue("No Results");
submissionsDatabaseRef.child(timeStamp).child("chosen_activity_location2_rating").setValue(0.0);
submissionsDatabaseRef.child(timeStamp).child("chosen_activity_location2_term").setValue("No Results");
submissionsDatabaseRef.child(timeStamp).child("chosen_activity_location2_address1").setValue("No Results");
submissionsDatabaseRef.child(timeStamp).child("chosen_activity_location2_address2").setValue("No Results");
submissionsDatabaseRef.child(timeStamp).child("chosen_activity_location2_zipCd").setValue("No Results");
submissionsDatabaseRef.child(timeStamp).child("chosen_activity_location2_city").setValue("No Results");
submissionsDatabaseRef.child(timeStamp).child("chosen_activity_location2_state").setValue("No Results");
submissionsDatabaseRef.child(timeStamp).child("chosen_activity_location2_country").setValue("No Results");
submissionsDatabaseRef.child(timeStamp).child("chosen_activity_location2_cross_streets").setValue("No Results");
submissionsDatabaseRef.child(timeStamp).child("chosen_activity_location2_avg_price").setValue("No Results");
submissionsDatabaseRef.child(timeStamp).child("chosen_activity_location2_open_time").setValue("NULL");
submissionsDatabaseRef.child(timeStamp).child("chosen_activity_location2_close_time").setValue("NULL");
submissionsDatabaseRef.child(timeStamp).child("chosen_activity_location2_latitude").setValue(0.0);
submissionsDatabaseRef.child(timeStamp).child("chosen_activity_location2_longitude").setValue(0.0);
submissionsDatabaseRef.child(timeStamp).child("chosen_activity_location2_distance").setValue(0.0);
submissionsDatabaseRef.child(timeStamp).child("chosen_activity_location2_review_count").setValue(0);
submissionsDatabaseRef.child(timeStamp).child("chosen_activity_location2_is_closed").setValue("No Results");
}
}
公共类SummaryLetsGoActivity扩展AppCompatActivity实现com.example.jacob.datenight.MasterDrawerFragment.Callbacks{
私有静态最终字符串TAG\u MASTER\u FRAGMENT=“TAG\u MASTER\u FRAGMENT”;
私有静态最终字符串TAG\u DETAIL\u FRAGMENT=“TAG\u DETAIL\u FRAGMENT”;
私人抽屉布局;
私人诉讼律师事务所;
公共字符串selectedDrivingRuber;
公共字符串selectedStartTime;
公共字符串selectedEndTime;
公共字符串selectedTimeHours;
公共字符串选择预算;
公共字符串budgetForYelp;
公共字符串selectedPartySize;
公共字符串selectedMood;
公共字符串选择活动;
公共字符串selectedDate;
公共文本视图驱动文本视图;
公共文本视图预算文本视图;
公共文本视图startTimeTextView;
公共文本视图endTimeTextView;
公共文本视图总小时文本视图;
公共文本视图PartySetextView;
公共文本视图moodTextView;
公共文本视图活动文本视图;
公共文本视图日期文本视图;
公共按钮汇总表下一个TBTN;
int randomInt1;
int randomInt2;
私有用户配置文件;
字符串userFirstName;
字符串userLastName;
字符串userPhoneNbr;
字符串userCommPref;
私有数据库参考提交表DatabaseRef;
私有数据库引用profileDatabaseRef;
私有FirebaseDatabase mFirebaseDatabase;
私人消防队;
私有FirebaseAuth.AuthStateListener mAuthListener;
私有字符串用户标识;
私人字符串用户电子邮件;
公共字符串设备注册;
private ArrayList yelpbusinessarray=new ArrayList();
private ArrayList yelpbusinessarray2=new ArrayList();
字符串键;
字符串用户纬度;
字符串经度;
FusedLocationProviderClient mFusedLocationClient;
字符串activitiesTerm=“”;
字符串[]选择了Activityxref=新字符串[7][2];
int numOfActivities=0;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u summary\u lets\u go);
Toolbar Toolbar=(Toolbar)findViewById(R.id.Toolbar);
抽屉布局=(抽屉布局)findViewById(R.id.抽屉布局);
FirebaseApp.initializeApp(本);
deviceRegistrationToken=FirebaseInstanceId.getInstance().getToken();
apiKey=getString(R.string.yelp\u api\u key);
mAuth=FirebaseAuth.getInstance();
mFirebaseDatabase=FirebaseDatabase.getInstance();
最终FirebaseUser=mAuth.getCurrentUser();
如果(用户!=null){
userId=USER.getUid();
userEmail=USER.getEmail();
}
selectedDrivingRuber=getIntent().getStringExtra(“selectedDrivingRuber”);
selectedStartTime=getIntent().getStringExtra(“selectedStartTime”);//用于将上一个活动中的数据带入摘要
selectedEndTime=getIntent().getStringExtra(“selectedEndTime”);
selectedTimeHours=getIntent().getStringExtra(“selectedTimeHours”);
selectedBudget=getIntent().getStringExtra(“selectedBudget”);
if(selectedBudget.equals(“Free”)){
budgetForYelp=“1”;
}else if(selectedBudget.equals(“Average”)){
budgetForYelp=“2”;
}else if(selectedBudget.contains(“特殊”)){
budgetForYelp=“2,3”;
}else if(selectedBudget.contains(“挥霍”)){
budgetForYelp=“3,4”;
}
selectedPartySize=getIntent().getStringExtra(“selectedPartySize”);
selectedMood=getIntent().getStringExtra(“selectedMood”);
selectedActivities=getIntent().getStringExtra(“selectedActivities”);
selectedDate=getIntent().getStringExtra(“selectedDate”);
如果(savedInstanceState!=null){
SelectedDrivingRuber=savedInstanceState.get(“SelectedDrivingRuber”).toString();
selectedStartTime=savedInstanceState.get(“selectedStartTime”).toString();
selectedEndTime=savedInstanceState.get(“selectedEndTime”).toString();
selectedTimeHours=savedInstanceState.get(“selectedTimeHours”).toString();
selectedBudget=savedInstanceState.get(“selectedBudget”).toString();
if(selectedBudget.equals(“Free”)){
budgetForYelp=“1”;
}else if(selectedBudget.equals(“Average”)){
budgetForYelp=“2”;
}else if(selectedBudget.contains(“特殊”)){
budgetForYelp=“2,3”;
}else if(selectedBudget.contains(“挥霍”)){
budgetForYelp=“3,4”;
}
selectedPartySize=savedInstanceSt
submissionsDatabaseRef = mFirebaseDatabase.getReference("date_night_submissions/" + userId);
ValueEventListener databaseListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {