MainActivity에서 입력을 가져 와서 해당 문자열을 AsyncTask에있는 URL에 배치하여 AsyncTask에 문자열을 전달해야합니다. 두 가지 활동이 있는데, 하나는 MainActivity이고 다른 하나는 fetchData 활동입니다. 내 MainActivity 코드 :mainactivity에서 AsyncTask를 확장하는 활동으로 edittext를 사용하여 문자열 가져 오기
public class MainActivity extends AppCompatActivity {
Button click;
EditText text;
public static TextView data;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
click = (Button) findViewById(R.id.button);
data = (TextView) findViewById(R.id.fetcheddata);
text = (EditText) findViewById(R.id.editText);
String theText = text.getText().toString();
click.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {fetchData process = new fetchData();process.execute();}});}}
그리고 내 fetchData 활동 코드는 다음과 같이 진행됩니다
public class fetchData extends AsyncTask<Void,Void,Void> {
String data ="";
String dataParsed = "";
String singleParsed ="";
String uriString;
@Overrideprotected Void doInBackground(Void... voids) {
try {
URL url = new URL("http://fuelpriceindia.herokuapp.com/price?city=mumbai");
HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection();
InputStream inputStream = httpURLConnection.getInputStream();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
String line = "";
while(line != null){
line = bufferedReader.readLine();
data = data + line;}
JSONObject JO = new JSONObject(data);
}}
catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (JSONException e) {
e.printStackTrace();
}return null;}@Override protected void onPostExecute(Void aVoid){super.onPostExecute(aVoid);MainActivity.data.setText(this.dataParsed);}}`
내가 URL을 URL url = new URL("http://fuelpriceindia.herokuapp.com/price?city=mumbai");
도시에서 도시 이름을 얻을 수있는 문자열을 전달하려는 = 도시 이름이 있어요 편집 텍스트에서.
가능한 중복을 변환해야합니다 [와 AsyncTasks에서 변수를 전달하는 방법?] (https://stackoverflow.com/questions/9900834/how-to-pass-variables-in-and-out-asynctasks) – nomag