ボタンの簡単なクリック

ごく最近、私はWindows Phone 7の開発からAndroidのプログラミングに切り替えたいという私の願いを表明した投稿を書きました。 残念ながら、外部の状況によってはこのプロセスが遅くなり、調査が希望どおりに速くなりません。 それにもかかわらず、欲求は衰えていません。まもなく、Androidにより多くの時間を費やすことができるようになります。

今日は、ボタンクリックの処理など、ごく普通のことについてお話したいと思います。 この記事は初心者を対象としており、明らかなことについて話しますが、1泊かかりました。



小さな余談



Googleが検索クエリを通じてAndroid向けのプログラミングを学びたいと思っていたとき、GoogleはAndroidのマニュアルがあるロシア語サイトのリストを取得しようとしました。 原則として、英語のドキュメントは私を怖がらせませんが、プログラミング機能をすぐに理解したかったです。 しかし、最初は豊富な新しい用語と概念が、オリジナルのドキュメントを読むことでそのような理解を妨げる可能性があります。 私は正直に約20の異なるリンクを開き、結果は私を失望させました。 ほぼすべての場所で、ガイドとして提供された記事は2つだけでした。必要なソフトウェアのインストールと、developer.android.comの公式WebサイトからのHello、Worldの記事の翻訳です。 誰もが1つのソースから友好的にコピーし、Habrからいくつかの記事を追加したようです。 初心者向けの良いリソースを教えてくれたら嬉しいです。理想的には、Androidに出会う前にプログラミングにまったく慣れていない人のために記事を書くべきです。

ボタンに移動します。 アプリケーションをロードした直後にTextViewに表示される従来のHello、Worldを書いた後、もっと機能的なものを試してみたいと思いました。 要素をxml-fileに配置する基本原則を扱ったので、私はHello、Worldをより身近な方法で書き直すことにしました。 EditTextテキストボックスとButtonボタンをフォームに追加し、クリックの処理方法についてドキュメントを検索し始めました。 ドキュメント(およびHabréの記事)では、次の長い構成が使用されました。

 // Create an anonymous implementation of OnClickListener private OnClickListener mCorkyListener = new OnClickListener() { public void onClick(View v) { // do something when the button is clicked } }; protected void onCreate(Bundle savedValues) { ... // Capture our button from layout Button button = (Button)findViewById(R.id.corky); // Register the onClick listener with the implementation above button.setOnClickListener(mCorkyListener); ... }
      
      











遅い時間に影響を受けたか、一般的な疲労がありましたが、私の頭はこのデザインを思い出すことを拒否しました。 おそらく、Java開発者にとってこれは簡単な標準手順ですが、私にとってはそうではありません。

そして、ここで、Habréの例を読み直すと、Android 2.xでは他のデザインを使用することが可能であると言われた1つのコメントに思いがけず遭遇しました。 いい人ありがとう! 彼の発言は私を救った。 すべてをはるかにシンプルにすることができます。

main.xmlファイルを開き、 <Button>タグを探します。 さらに1行追加します。



 <Button android:layout_height="wrap_content" android:id="@+id/butHello" android:layout_width="wrap_content" android:text="" android:onClick="butHello_Click"></Button>
      
      











したがって、ボタン(クリック)のonClickイベントを定義し、イベントハンドラを記述するだけです。 HelloWorld.javaファイルを開き、onCreateイベントの直後に書き込みます。



 public void butHello_Click(View v){ edtext.setText(", "); }
      
      











butHello_Clickメソッドの名前は、ボタンのandroid:onClick属性で設定した行と一致する必要があり、テキストView vの括弧も追加することに注意してください。 中括弧で、ボタンがクリックされたときに実行されるコードを記述します。 テキストフィールドにテキストを表示する必要があるので、単にsetTextメソッドを使用して目的のテキストを割り当てます。



HelloWorld.javaの完全なコードは次のようになります。



 package com.example.helloworld; import android.app.Activity; import android.os.Bundle; import android.widget.EditText; import android.view.View; public class HelloWorld extends Activity { private EditText edtext; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); edtext = (EditText)findViewById(R.id.editText1); } public void butHello_Click(View v){ edtext.setText(", "); } }
      
      











そのような開口部の後、山が私の肩から落ちました。 第一に、そのようなコードは私にとってよりシンプルで理解しやすいように見えます。 次に、Windows Phone 7のコードとほとんど同じです。ボタンのXAMLコードを比較します。

<Button Content="Button" Height="71" Width="160"

Name="butHello"

Click="butHello_Click"/>









ボタンクリック



将来のこのようなアプローチは、異なるプラットフォームへのプログラムの移植を簡素化するのに役立ちます。 残念ながら、何らかの理由で、この種のボタンクリック処理は例ではまれです。 理由はわかりませんが、GoogleがこのメソッドをAndroidの新しいバージョンに追加した場合、もっと積極的に使用する必要があると思います。

結論として、Androidの開発分野での最初の経験-developer.alexanderklimov.ru/androidを投稿するページを表示ます。 そして、私は私の要求を思い出します-Android開発の基礎に関する初心者向けの良いロシア語のリソースを教えてください。



All Articles