2017-02-11 3 views
-10

私はこのコードがとてもシンプルでなければならないことを知っています。しかし、私はそれをよく理解できませんでした。どのように私はアンドロイドで静的なvarを定義できますか?

public final static String EXTRA_MESSAGE = "com.example.myfirstapp.MESSAGE"; 

私はpublic final static String EXTRA_MESSAGEを知っています。

「com.example.myfirstapp.MESSAGE」とは何ですか?

コードはhereです。別のアクティビティに渡されただけで、いくつかのテキストです

+1

それはあなたが正常にあなたが求めているもの、それは完全に不明瞭になり、静的変数として定義されていることをリテラル文字列の値です。 – EJP

+0

EXTRA_MESSAGEが使用されていることを説明した場合、人々は問題を理解することが少なくなります。それへのリンクだけがSOの悪い習慣とみなされます。私はそれがインテントの識別子だと思うが、私はアンドロイドプログラミングに精通していない。 – Eelke

答えて

2

は....それは彼らがどのように別のアクティビティに余分なメッセージを送信することを示したいチュートリアルでは一例に過ぎ

です。

あなたがintent.putExtra(EXTRA_MESSAGE, message);に入れ、余分なメッセージでそれを行うことができますし、別の活動では、あなたがString message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE);

EXTRA_MESSAGEでそれをキャッチすることができ、ここであなたが望む結果を得るためにいくつかのラベルまたはキーです。

0

EXTRA_MESSAGEがそのようにstringとして宣言され、それが

public final static String EXTRA_MESSAGE = "any string or text here"; 
0

EXTRA_MESSAGEを渡すために使用さキーあるようなので、それはまた、可能性があり、文字列

を保持できる文字列型variableですインテントによる。たとえば

public final static String EXTRA_MESSAGE = "com.example.myfirstapp.MESSAGE"; 
    Intent i = new Intent(FirstScreen.this, SecondScreen.class); 
    String strName = null; 
    i.putExtra("EXTRA_MESSAGE", strName); 

    //Then, to retrieve the value try something like: 

    String newString; 
    if (savedInstanceState == null) { 
     Bundle extras = getIntent().getExtras(); 
    if(extras == null) { 
     newString= null; 
    } else { 
     newString= extras.getString("EXTRA_MESSAGE"); 
    } 
    } else { 
     newString= (String) savedInstanceState.getSerializable("EXTRA_MESSAGE"); 
    } 
関連する問題