1

この質問はおそらく以前に何度も尋ねられたことを理解していますが、私のニーズを満たす例が見つかりません. 私は以前に StackOverflow について数回質問したことがありますが、ここで助けを求める前に、「本を読みに行く」または「調査を行う」ように頼む男性が時折います。ええと、私はそれを行いましたが、十分な情報が見つかりませんでした.そのため、あなたがそのような人の一人である場合は、どこを掘り下げるかがわかるように、リソースを教えていただければ幸いです.

とにかく、デバイスの帯域幅、リンク速度、およびその他の属性を計算するアプリケーションをようやく書き終えました。帯域幅は 5 秒ごとに更新され、リンク速度とデータ接続は 1 秒ごとに更新されます。現在、情報は画面に表示されています。

デバイスの接続を監視する別のコンピューター (コマンド センター) を含む、より計画的なプロジェクトを作成しようとしています。これを行うには、デバイスはこれらの値をテキスト ファイルに保存する必要があります。コマンドセンター。この質問は簡単です。テキスト ファイルにデータを書き込むにはどうすればよいですか。Javaでこれを行う方法を知っています。FileOutputStream を使用するか、FileWriter + PrintWriter を組み合わせて同様の効果を得ることができます。ただし、Android でディレクトリがどのように機能するかはわかりません。また、Android でファイルに書き込む際に注意すべき点があるかどうかもわかりません。次のようなことを述べる必要があることに気付きました。

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

マニフェストで。他にすべきことはありますか?また、私のニーズのために、出力に効果的に書き込む方法を誰かが推奨できますか? かなり簡単に見えるので、FileOutputStream は行くべき道ですか? タブで分割するなど、特定の方法でデータをトークン化する必要がありますか? 私はプログラミングが初めてで、まだ学習中ですが、役立つ読み物のいくつかの助けや推奨事項をいただければ幸いです。

おそらく頼りになる読書であるこのウェブサイトは、現在ダウンしています。誰かが私にいくつかの例のスニペットを提供できれば、それは大歓迎です。

4

2 に答える 2

1

Android ディレクトリは PC ディレクトリと同様に機能しますが、唯一の例外は、内部または外部ストレージなど、異なる「ルート」ディレクトリを持つことができることです。ややこしいことに、一部の携帯電話には SD カードが内蔵されているため、SD カードへの書き込みが外部 SD カードではない場合があります。テキスト ファイルを作成するときは、柔軟性を持たせたいと思うでしょう。ユーザーが SD カード (外部ストレージ) を持っていない場合は、ゲーム プランを変更する必要があります。SD カードの検出の詳細については、このSO 投稿を参照してください。

テキストファイルの実際の書き込みに関しては、かなり簡単です:

編集:getExternalFilesDir(null)アプリの絶対外部パスを取得するために使用する必要があります。Contextこれを呼び出す (またはオブジェクトにアクセスする) には、アクティビティの内部にいる必要があります。

   File file = new File(getExternalFilesDir(null), "stats.txt");
   try
   {
      BufferedWriter buf = new BufferedWriter(new FileWriter(file)); 
      buf.append(text);
      buf.newLine();
      buf.close();
   }
   catch (IOException e)
   {
      // TODO Auto-generated catch block
      e.printStackTrace();
   }

Android でファイル I/O を行う方法は多数ありますが、これはその 1 つにすぎません。 この問題について詳しく説明している別のブログ投稿を次に示します。

データを保存するには、次の 2 つのいずれかを行います。

まず、次のように、データを CSV (コンマ区切り値) 文字列として保存できます。

12,345,6,789

次に、それを解析すると、最初の数値が帯域幅、2 番目の数値が速度などであることがわかります。区切り文字として空白を使用するのはあまり好きではないので、タブよりも区切り文字にコンマを使用したいと思います。

次に、次のようにキーと値のペアのセットアップを使用できます。

bandwidth=12
speed=34

=次に、解析コードで、文字を分割できます。最初の文字列はキーで、2 番目の文字列は値です。

于 2013-07-11T19:23:52.070 に答える