2016-05-02 3 views
0

Я пытаюсь передать строку с данными, которые вытаскивают из базы данных, и я хочу эхо-сигнал в тело прокрутки. Я могу заставить укусить эхо в программе, я просто не знаю, как втягивать ее в разные действия. This is the home screen of my App I am trying to build. Это мой файл MainActivity.xml и здесь MainActivity.java код, который:Передача строки через Android Studios

package com.example.it5.foothillers; 

import android.content.Intent; 
import android.os.AsyncTask; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.Button; 
import android.widget.TextView; 

import java.io.BufferedReader; 
import java.io.IOException; 
import java.io.InputStream; 
import java.io.InputStreamReader; 
import java.net.HttpURLConnection; 
import java.net.MalformedURLException; 
import java.net.URL; 

public class MainActivity extends AppCompatActivity implements  View.OnClickListener 
{ 

Button button; 
Button button2; 
Button button3; 

public TextView textViewData2; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
     button = (Button)findViewById(R.id.button); 
     button.setOnClickListener(this); 



     textViewData2 = (TextView)findViewById(R.id.textViewData2); 

     button2 = (Button)findViewById(R.id.button2); 
     button2.setOnClickListener(this); 

     button3 = (Button)findViewById(R.id.button3); 
     button3.setOnClickListener(this); 

} 




private void buttonClick() { 

    startActivity(new Intent("it5.foothillers.news")); 

} 
private void button2Click() { 

    startActivity(new Intent("it5.foothillers.sports")); 
} 
private void button3Click() { 
    startActivity(new Intent("it5.foothillers.events")); 
} 

@Override 
public void onClick(View v) { 

    switch (v.getId()){ 
     case R.id.button: 
      new newsTask().execute("https://wordpress.org/plugins/about/readme.txt" + 
        ""); 
      buttonClick(); 
      break; 
     case R.id.button2: 
      button2Click(); 
      break; 
     case R.id.button3: 
      button3Click(); 
      break; 

    } 

} 




public static void callBackDataFromAsyncTask(String result) { 
} 


private class newsTask extends AsyncTask<String, String, String>{ 


    @Override 
    protected String doInBackground(String... params) { 

     HttpURLConnection connection = null; 
     BufferedReader reader = null; 
     try { 
      URL url = new URL(params[0]); 

      connection = (HttpURLConnection) url.openConnection(); 
      connection.connect(); 

      InputStream stream = connection.getInputStream(); 

      reader = new BufferedReader(new InputStreamReader(stream)); 

      StringBuffer buffer = new StringBuffer(); 

      String line =""; 

      while ((line = reader.readLine())!= null) { 
       buffer.append(line); 
      } 
      String s = buffer.toString(); 
      System.out.println(s); 
      return s; 

      // return buffer.toString(); 

     } 

     catch (MalformedURLException e) { 
      e.printStackTrace(); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } finally { 
      if(connection != null) 
       connection.disconnect(); 
      connection.disconnect(); 
      try { 
       if(reader != null){ 
        reader.close(); 
       } 
       reader.close(); 
      } catch (IOException e) { 
       e.printStackTrace(); 
      } 
     } 

     return null; 
    } 





} 
// end of private class 

}

Это отголоски строка «s», который весь текст по этой ссылке: http://www.komediagroup.com/clients.txt

содержание моих новостей (content_news.xml) заключается в следующем:

<?xml version="1.0" encoding="utf-8"?> 

<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_margin="@dimen/text_margin" 
    android:text="@string/large_text" /> 

и мой news.java файл:

package com.example.it5.foothillers; 

import android.os.Bundle; 
import android.support.design.widget.FloatingActionButton; 
import android.support.design.widget.Snackbar; 
import android.support.v7.app.ActionBar; 
import android.support.v7.app.AppCompatActivity; 
import android.support.v7.widget.Toolbar; 
import android.view.View; 

public class news extends AppCompatActivity { 


@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_news); 
    ActionBar toolbar = getSupportActionBar(); 

} 

}

Это требует большой текстовой строки в strings.xml

Когда Я нажимаю на «Новости», он открывается, и моя цель это для того, чтобы отображать текст из базы данных вместо «Test Test Test» вытащил из моего strings.xml, который этот блок кода:

<resources> 
<string name="app_name">Foothillers</string> 

<string name="title_activity_scrolling">ScrollingActivity</string> 

<string name="large_text"> 

Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test 


</string> 


<string name="action_settings">Settings</string> 

<string name="title_activity_news">News</string> 

<string name="title_activity_events">Events</string> 

Я хотел заменить «Test Test Test "с данными по ссылке из komediagroup

ответ

0

См. this page on Intents на Android Developers.

Что вы хотите сделать, это передать дополнительную строку в вызываемую активность. Вы делаете это, вызывая метод Intent#putExtra(String name, String value) перед вызовом startActivity.

Затем в вызванном действии выберите намерение, которое было использовано для его вызова getIntent(), и получите дополнительную строку с помощью Intent#getStringExta(String name).

+0

Могу ли я увидеть пример использования этого? –

+0

@NateChong http://stackoverflow.com/a/5265952/1529586 – KevinOrr

Смежные вопросы