Выполнить команду и положить вывод в TextView? - PullRequest
0 голосов
/ 20 июня 2011

По сути, я пишу приложение и пытаюсь создать файл cat. У меня есть очень простой пользовательский интерфейс, который состоит из кнопки и TextView. Когда я нажимаю на эту кнопку, я хочу выполнить команду и отобразить вывод на экране (я считаю, TextView - лучший способ сделать это?). Я знаю, как заставить его отображать заданный текст, но мне нужно, чтобы он отображал текст на том, что я запускаю cat. Заранее спасибо!

Редактировать: код ...

package com.android.test;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;

public class Root3Activity extends Activity {
    /** Called when the activity is first created. */

  Button getVoltagesButton;
  TextView voltages;

  protected static final String get_voltages = "cat /sys/devices/system/cpu/cpu0/cpufreq/vdd_levels_havs";

  @Override
  public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.main);
      String currentVoltages = null;

      getVoltagesButton = (Button)findViewById(R.id.button1);
      getVoltagesButton.setOnClickListener(VoltageListener);
      voltages = (TextView)findViewById(R.id.textView1);

  }

  private OnClickListener VoltageListener = new OnClickListener()
  {
    public void onClick (View v) {
      try {
        Runtime.getRuntime().exec(get_voltages);
        //what goes here??
      } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
      }
    }
  };
}

Ответы [ 2 ]

0 голосов
/ 20 июня 2011
private static final String get_voltages = "/sys/devices/system/cpu/cpu0/cpufreq/vdd_levels_havs";

private final String getCurrentValue() throws IOException{
File yourFile = new File(get_voltages);
BufferedReader br = new BufferedReader(new FileReader(yourFile));
String line, vm = "";

while ((line = br.readLine()) != null) {
    vm = line;
    break;
}
return vm;
}

Это должно прочитать файл и в этом случае вернуть последнюю строку. Если файл содержит более одной строки, вы можете использовать StringBuilder sB. Тогда в цикле while вы можете просто использовать sb.append (line); Затем с возвратом установите его для вашего textview. Также я отправил вам личное сообщение на XDA о помощи в этом проекте, но по какой-то причине он не прошел Люблю тебя скрипты для HTC Evo Я помогу если смогу.

0 голосов
/ 20 июня 2011

Метод exec(), который вы используете для запуска cat, возвращает объект Process . У объекта Process есть метод с именем getInputStream () . Я думаю, что вы можете использовать это, чтобы получить входной поток, который вы можете использовать, чтобы получить стандартный вывод. Отсюда вы можете записать значения, считанные из входного потока, в текстовое представление.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...