新しい応用知識整理-1-スタートページ

8295 ワード

一、AndroidManifest.xmlファイルで自分のアプリケーションを定義する起動activity
    android:name=".PagesForShow.Start_ad"
    android:label="@string/app_name"
    android:screenOrientation="portrait"
    android:theme="@style/android:Theme.Light.NoTitleBar" >
    
        android:name="android.intent.action.MAIN" />

        android:name="android.intent.category.LAUNCHER" />
    
のIntent filterは、このactivityを起動activityとして宣言します.
Intent filter:androidのactivity、service、receiverなどのアプリケーションコンポーネントは、Intent filterを使用してサポートされているアクションとデータを宣言できます.
Intent filterノードに追加できるラベルはaction、category、data、android:host、android:mimetype、android:path、android:port、android:schemeです.次のようになります.
1、actionはIntent filterごとに必要です.
2、categoryは、どの場合に宣言を実行すべきかを指定するactionです.独自のcategoryを指定したりandroidが提供する標準値を使用したりできます:ALTERNATIVE、SELECTED_ALTERNATIVE、
DEFAULT、HOME、LAUNCHER、BROWSABLEなど.
3、dataは、このコンポーネントが実行できるデータ型を指定します.
二、起動ページ機能の完成:広告ページとして同時にバックグラウンドの登録を完成する
私のスタートページのレイアウトファイルと簡単さは、広告としての画像です.
xmlns:android="http://schemas.android.com/apk/res/android"
                xmlns:tools="http://schemas.android.com/tools"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                tools:context="com.bignerdranch.android.mfailab.PagesForShow.Start_ad">


            android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/imageView2"
        android:background="@drawable/boot_page"
        android:layout_alignParentTop="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"/>

は、広告表示2秒でバックグラウンドログイン操作を同時に行うことを要求する(バックグラウンドログインはサービスによって完了し、後述する).方法:
String filename2="LoginDataStore";
String field2="Password";
final String flag2 = ForDataStoreAndRead.getSharePreString(Start_ad.this, filename2, field2);
if (!flag2.equals("0")){
    Intent i=new Intent (Start_ad.this, LongRunningService.class);
    startService(i);
}
    new Handler().postDelayed(new Runnable(){

        @Override
        public void run() {

            if (flag2.equals("0"))
            {//0.                0
                Intent intent=new Intent(Start_ad.this,LoginActivity.class);
                startActivity(intent);
            }
            else
            {
                Intent intent=new Intent(Start_ad.this,LoginSuccess.class);
                startActivity(intent);
            }
            finish();
        }

    }, SPLASH_DISPLAY_LENGHT);
}

保存したフィールドを読み込んで判断します.アプリケーションが初めて実行された場合(つまり、ユーザーがログインしたことがない場合)は、サービスを開始せず、広告が終了した後にログインインタフェースにジャンプします.
初めて実行されなければ、ユーザーはすでにログインしています(私たちのアプリケーションはユーザー名とパスワードを自動的に保存しています)、サービスを開いてバックグラウンドログインを行います.広告終了後、ログイン成功インタフェースに直接ジャンプします.