MySQL を使用して Android アプリケーションを開発しています。ログインと登録のナビゲーションを実行するselector.javaというクラスを使用しています。
セレクター.java
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
public class Selector extends AppCompatActivity
{
public static PreConfig preConfig;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
preConfig = new PreConfig(this);
if(preConfig.readLoginStatus())
{
Intent i = new Intent(this,sample.class);
startActivity(i);
}
else
{
Intent intentList = new
Intent(this,MainDrawer.class);
startActivity(intentList);
}
}
}
上記のシナリオでは、MainDrawer.class に直接リダイレクトされますが、ログインが成功したら MainDrawer.class に移動する必要があります。
上記のコードを次のように変更すると、ログインが成功した後に MainDrawer が表示されません
if(preConfig.readLoginStatus())
{
Intent i = new Intent(this,sample.class);
startActivity(i);
}
else
{
Intent i = new Intent(this,LoginActivity.class);
startActivity(i);
}
}
MainDrawer.java
import android.content.Intent;
import android.os.Bundle;
import android.support.design.widget.NavigationView;
import android.support.v4.view.GravityCompat;
import android.support.v4.widget.DrawerLayout;
import android.support.v7.app.ActionBarDrawerToggle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.Menu;
import android.view.MenuItem;
public class MainDrawer extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener {
String user;
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main_drw);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
this,drawer,toolbar,R.string.navigation_drawer_open,R.string.navigation_drawer_close);
drawer.setDrawerListener(toggle);
toggle.syncState();
NavigationView navigationView = (NavigationView)
findViewById(R.id.nav_view);
navigationView.setNavigationItemSelectedListener(this);
}
@Override
public void onBackPressed(){
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
if(drawer.isDrawerOpen(GravityCompat.START)){
drawer.closeDrawer(GravityCompat.START);
}
else{
super.onBackPressed();
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.nav_drawer, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item)
{
int id = item.getItemId();
if(id == R.id.action_settings ){
return true;
}
return super.onOptionsItemSelected(item);
}
@Override
public boolean onNavigationItemSelected(MenuItem item){
DrawerLayout drawer = (DrawerLayout)
findViewById(R.id.drawer_layout);
drawer.closeDrawer(GravityCompat.START);
return true;
}
}
サンプル.java
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import com.google.android.gms.common.ConnectionResult;
import com.google.android.gms.common.GoogleApiAvailability;
import com.google.firebase.iid.FirebaseInstanceId;
public class sample extends AppCompatActivity {
public String printMyFCMToken()
{
Log.e("FCM Token=",""+ FirebaseInstanceId.getInstance().getToken());
return FirebaseInstanceId.getInstance().getToken();
}
}
ログインに成功したら、 MainDrawer に移動したいと思います。どうすればそれを達成できますか?