2016-08-03 5 views
0

こんにちは私はJavaを使い慣れていないので何かをしようとしています。インテントを使用して静的コンストラクタに引数を渡す

public static void main(String[] args) throws IOException { 
    access(); 
    key(args[0], args[1]); 
} 

と私は、次のような主な活動における私のアンドロイドインタフェースのUIからキーの値を渡すしようとしています:私は、次のようなコンストラクタを持って

private void enter(String keycode) { 
    String[] args = {"keycode", "pin"}; 
    Intent myIntent = new Intent(MainActivity.this, MainActivity.main()); 
    myIntent.putExtra ("keycode", "pin"); //Optional parameters 
    startActivity(myIntent); 
} 

しかし、私はエラーを取得していますつまり、型main(String [])はeclipseの引数()には適用されません。 キーコードはonclickリスナーからのもので、ピンを静的に宣言しました。 keyとpinはmainのarg [0]とarg [1]の値であると考えられます。私はそれを実行していないか、何か必要なのは、クリックリスナー構造の "入力"からメイン静的メソッドを呼び出す正しい構文です。 ありがとうございます。したがって、一般的には、メインメソッドには2つのパラメータがあります。 access(); //すべてのパラメータは静的に定義されています key(arg [0]、arg [1]); 私は、インテントを使用してこれらのargsを渡す必要があります。同じクラスのすべて。私の無知があれば、それは残念です。 インタフェースのBTWエミュレータが正常に動作します。ちょうどその部分(main [strings [] args)にアクセスする必要があります。

答えて

3

1)静的コンストラクタはありません。全体の概念は矛盾です。

2)Androidは主な機能を使用していません。

3)これは、とにかくアクティビティを開始する方法ではありません。 Intentのコンストラクタの2番目のパラメータは、関数呼び出しではなくクラスです。関数ポインタが存在しないため正式なjavaではありません。

あなたがやっていることはとても混乱しています。私はそれをどう修正するかも分かりません。あなたは、アクティビティとアンドロイドアプリの動作についてアンドロイドのチュートリアルで最初からやり直す必要があります。

+0

私はこのコンセプトに慣れていないと言っていて、私は読書の公正な分担をしています。私は言葉を混乱させるかもしれませんが、私はmain()メソッドが静的であることを意味していました。私は上に投稿しました。メソッドmain(string [] args)にアクセスして残りのプログラムを入力しようとしています。すべての高度な概念を忘れることができます。コードのメインブロックに引数を渡し、その中の関数を呼び出して自分のアクティビティを開始する方法を教えてください。 – OlaB

+0

Androidではmainを使用しません。まったく。これはデスクトップアプリのJavaコンセプトです。書籍/チュートリアルから実際にやり直す必要があります。間違っていることを説明するには間違っています。 –

+0

また、最大のもの - これはあなたがそれをタグ付けしたようなjavascriptではなく、そのjavaです。 2つの完全に無関係な言語。 –

0

私は私の問題の解決策を見つけることができました。まず、 "itent"を使って私の活動を開始するという考えは、私が主な活動に機能的なスレッドとしてインポートした別のクラスを呼び出そうとしたときに起こりました。私は本当に私がコールしようとしていたスクリプトを組み合わせる必要はありませんでした。 私は、私がする必要があった静的メソッドを呼び出す方法について簡単な質問をしました。 私はそれはそれは私の質問に関連するだけで、キーコードのためのonclickリスナーのボタンを設定し、静的にピンを定義した後、次の行(抜粋)を使用することでした解決方法:

private void enter(String keycode) { 
try { 
String[] arguments = new String[] { keycode, pin}; 
MainActivity.main(arguments); 

それがあったことを、私のエミュレータとアクティビティは正常に動作します。そして、アンドロイドは主な機能を使うことができました。 初心者でも簡単に不安を感じるすべての専門家には、どこかから始める必要があると思っていました。思ったことだけでなく、 。忍耐は人々に学ぶのを助ける。

関連する問題