-1

私はアンドロイドの初心者です。Android モバイルで方向情報を提供する必要があるプロジェクトに取り組んでいます。そのため、Android 画面に方向メッセージを表示する必要があります。私は通常のJavaでコードを書いてコンパイルし、コマンドプロンプトで実行しました。コードで指定した print ステートメントの出力を確認できました。そこで、新しい Android プロジェクトを作成し、別のクラスを作成してそこにコードを貼り付けました。驚いたことに、エミュレーター画面に print ステートメントがありません。さらに、昨晩同じことをしようとすると、Eclipse のコンソール ウィンドウに print ステートメントが表示されました。しかし、私は今同じようには見えません。私の印刷ステートメントをエミュレーター画面に表示させる方法を教えてください。同時に、pls は、Eclipse のコンソール ウィンドウでこれらの print ステートメントを表示できた理由と、同じものを複製するにはどうすればよいか教えてください。エミュレータ画面に Hello World しか表示されません。

以下はコードの一部です:

`パッケージcom.example.visual;

import org.json.JSONObject;
import org.restlet.data.ChallengeScheme;
import org.restlet.ext.json.JsonRepresentation;
import org.restlet.resource.ClientResource;
import android.widget.Toast;
import android.app.Activity;

public class ItsClient4 extends Activity {

private final static String BASE_URL = "my website url";
private final static String SITE_ID = "67";// Your site ID here
private final static String STATION_MAC[] = {"mac1","mac2"};// The station's MAC address
private final static String NODES[] = {"mac3","mac4","mac5","mac6","mac7","mac8"};
private final static String USERNAME = "usrname";// Your username
private final static String PASSWORD = "pwd";// Your password
public static void main(String[] args) throws Exception {
// Set the request parameters
while(true){
double c[]=new double[6];
double d[]=new double[6];
String url[] =new String[2];
ClientResource itsClient[] = new ClientResource[2];
JsonRepresentation jsonRep[] = new JsonRepresentation[2];
for(int i=0;i<=0;i++){

url[i] = BASE_URL + "sites/" + SITE_ID + "/stations/"+ STATION_MAC[i] + "/";

itsClient[i] = new ClientResource(url[i]);
                 itsClient[i].setChallengeResponse(ChallengeScheme.HTTP_BASIC, USERNAME, PASSWORD);
// Retrieve and parse the JSON representation
jsonRep[i] = new JsonRepresentation(itsClient[i].get());
JSONObject jsonObj = jsonRep[i].getJsonObject();
// Output results

c[i]=jsonObj.getJSONObject("loc").getDouble("lat");
d[i]=jsonObj.getJSONObject("loc").getDouble("lng");

Toast.makeText(ItsClient4.this,"text",20000).show();
//Toast.makeText(ItsClient4.this, "Hello", Toast.LENGTH_LONG).show();
System.out.println(c[i] +" "+d[i]);
if(d[i]>78.142182){
System.out.println("near E8");
}
}


}
}
}

`

上記のコードを確認してください。Toast の使い方を教えてください。それでも「静的コンテキストではこれを使用できません」というエラーが表示されます。私のパッケージ「visual」の src ディレクトリには、com.example.visual に 2 つのサブディレクトリがあります。1 つは MainActivity.java で、もう 1 つは ItsClient4.java です。MainActivity.java は自動的に 1 つ作成されます。com.example.visual ディレクトリに新しい Class を追加して、ItsClient4.java を作成しました。上記のエラーを解決する方法を教えてください。

Main 関数内で Toast を使用できませんか?

4

4 に答える 4

1

私の印刷ステートメントをエミュレーター画面に表示させる方法を教えてください。

Toastエミュレーターでテキストを表示するために使用します。

お気に入り

Toast.makeText(this, "text", Toast.LENGH_LONG).show();

logcat次のように使用する必要があります

Log.v("app","text"); and see this in logcat

これは、デバッグにも適したオプションです。

于 2013-03-14T17:55:48.637 に答える
0

印刷には、トーストの例を使用できます。

Toast.makeText(MainActivity.this, "Hello", Toast.LENGTH_LONG).show();
于 2013-03-14T17:57:54.850 に答える
0

アンドロイドに関するフィードバックを得る方法はたくさんあります。

解決策1:

画面にフィードバックを表示するだけのアクティビティ。次のコードのように作成時に変更します。

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

    // Create a string with text
    String message = "the text you want to show";

    // here you can write / change your 'message' to 
    //         whatever you want to display on screen...

    // Create the text view
    TextView textView = new TextView(this);
    textView.setTextSize(40);

    // enable textView to scroll to for long text to be visible
    textView.setMovementMethod(new ScrollingMovementMethod()); 

    // add the text to the textview
    textView.setText(message); 

    // Set the text view as the activity layout
    setContentView(textView);
}

解決策2:

トーストメッセージは並べ替え期間中続き、画面の下部(デフォルト)にポップアップが表示されます。

Toast.makeText(context, text, duration).show();
  • コンテキスト: thisコードがActivityクラスにある場合
  • テキスト:通常は文字列
  • 期間: Toast.LENGTH_SHORTまたはToast.LENGTH_LONG

解決策3:

ログメッセージ。このコードはJavaコードに似ていSystem.out.println("a message");ますが、動作するのは一般的ではありません。代わりに、AndroidネイティブのLogクラスを使用します。

Log.v(TAG, "your message here" + and_some_other_variable);
  • TAG:ログを見つけやすくするための文字列で、フィルタリングに使用できます。

ログのデバッグについて詳しくは、こちらをご覧ください。

于 2013-03-14T18:30:37.743 に答える
0

TGMCiansが言うように、うまくToastいくでしょう。

代わりに LogCat に書き込みたい場合は、次を使用できます

Log.i(tag, message)

次に、[ウィンドウ] > [ビューの表示] > [その他] > [Android] > [LogCat] に移動して、Eclipse の LogCat でこれを表示できます。

于 2013-03-14T17:59:19.647 に答える