为什么我的闪屏很长

时间:2016-06-03 13:20:26

标签: android splash-screen

我试图在我的应用上实现启动画面。加载启动画面后,我有两个问题。 如果用户已连接,则启动活动。如果没有,则启动另一个。

但是,通过我的实现,当用户连接时,启动画面很长(8或9秒),但我不知道为什么。

这是我的第一个检查用户是否已连接的类,它是否加载了一些共享首选项?那也许就是这样呢?

public class AnnaActivity extends AppCompatActivity {

    public PrefManager pref;
    private AllRequest req;
    private static final String REQUEST_TAG = "MainActivity";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        this.pref = new PrefManager(getApplicationContext());
        boolean isco = pref.getIsConnect();

        if (isco) {

            Log.e("SPLASH", "IsConnected");
            Intent loginActivity = new Intent(this, NavigationDrawerActivity.class);
            startActivity(loginActivity);
            finish();

        } else {
            Log.e("SPLASH", "launch login activity");
            Intent loginActivity = new Intent(this, MainActivity.class);
            startActivity(loginActivity);
            finish();

        }
    }
}

这是我的泼水画

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@color/colorPrimaryDark"/>
    <item android:bottom="8dp"
        android:top="8dp"
        android:left="8dp"
        android:right="8dp">
        <bitmap android:gravity="center"
            android:src="@mipmap/ic_launcher"
            android:antialias="true"/>
    </item>
</layer-list>

我的splach风格

<style name="SplashTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="android:windowBackground">@drawable/splash_drawable</item>
</style>

(编辑帖子)导航抽屉活动

public class NavigationDrawerActivity extends AppCompatActivity
        implements NavigationView.OnNavigationItemSelectedListener,    Response.Listener, Response.ErrorListener{

    public TextView TextViewEmailAddress;
    public TextView TextViewLogin;
    private PrefManager pref;
    private AllRequest req;
    public RequestQueue mQueue;
    private static final String REQUEST_TAG = "LogOutActivity";

    private String address;
    private String login;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_navigation_drawer);
        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);

    //        FloatingActionButton fab = (FloatingActionButton)   findViewById(R.id.fab);
    //        fab.setOnClickListener(new View.OnClickListener() {
    //            @Override
    //            public void onClick(View view) {
    //                Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
    //                        .setAction("Action", null).show();
    //            }
    //        });

        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);

        View header = navigationView.getHeaderView(0);

        this.TextViewEmailAddress = (TextView)header.findViewById(R.id.textView_drawer_mail);
        this.TextViewLogin = (TextView)header.findViewById(R.id.textView_drawer_login);

        this.pref = new PrefManager(getApplicationContext());
        this.req = new AllRequest(getApplicationContext());
        this.mQueue = CustomVolleyRequestQueue.getInstance(this.getApplicationContext())
                .getRequestQueue();

        address = this.pref.getEmail();
        login = this.pref.getLogin();

        this.TextViewEmailAddress.setText(address);
        this.TextViewLogin.setText(getText(R.string.text_view_login_drawer) + " " + login);

    }

    @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) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.navigation_drawer, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();

        //noinspection SimplifiableIfStatement
        if (id == R.id.action_settings) {
            return true;
        }

        return super.onOptionsItemSelected(item);
    }

    @SuppressWarnings("StatementWithEmptyBody")
    @Override
    public boolean onNavigationItemSelected(MenuItem item) {
        // Handle navigation view item clicks here.
        int id = item.getItemId();

        if (id == R.id.nav_mon_compte) {
            Intent intent = new Intent(NavigationDrawerActivity.this, MyAccountActivity.class);
            startActivity(intent);
        } else if (id == R.id.nav_deconnection) {
            deconnexion();
        }

        DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
        drawer.closeDrawer(GravityCompat.START);
        return true;
    }

    private void deconnexion(){
        LayoutInflater factory = LayoutInflater.from(this);
        final View alertDialogView = factory.inflate(R.layout.alertdialog_logout, null);
        final AlertDialog.Builder adb = new AlertDialog.Builder(this);

        adb.setView(alertDialogView);
        adb.setTitle(R.string.alertDialod_logout_Title);
        adb.setPositiveButton((R.string.alertDialog_logout_PositiveBtnName), new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {

                String accessToken = pref.getAccessToken();
                req.revokeTokenRequest(REQUEST_TAG, accessToken, NavigationDrawerActivity.this, NavigationDrawerActivity.this);
                pref.logout();
                Intent intent = new Intent(NavigationDrawerActivity.this, MainActivity.class);
                startActivity(intent);

            }
        });

        adb.setNegativeButton((R.string.alertDialog_logout_NegativeBtnName), new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                dialog.cancel();
            }
        });

        adb.show();
    }

    @Override
    public void onErrorResponse(VolleyError error) {
        Log.e("errrrrrror :(", "it's not working");
    }

    @Override
    public void onResponse(Object response) {
        Log.e("pololololo","it's working :D");
    }
}

0 个答案:

没有答案