So I'm trying to get my app to take text from a string file on the internet and display that. But it keeps crashing without giving me errors, so I don't know where the problem is occurring.
Here's a copy of my current code (no errors being shown by my ide)
package cara.app;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.entity.BufferedHttpEntity;
import org.apache.http.impl.client.DefaultHttpClient;
import android.os.Build;
import android.os.Bundle;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.res.Resources;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class MainActivity extends Activity {
int itemNumber = 1;
@SuppressLint("NewApi")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final Resources res = getResources();
final Button exit = (Button) findViewById(R.id.ExitBtn);
exit.setText("Close");
exit.setHeight(100);
exit.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
finish();
System.exit(0);
}
});
final Button button = (Button) findViewById(R.id.HomeBtn);
button.setText("" + res.getString(R.string.News) + "\n\n" + res.getString(R.string.Story_Title_1) + "\n\n" + res.getString(R.string.Story_Title_2) + "\n\n" + res.getString(R.string.Story_Title_3) + "\n\n" + res.getString(R.string.Story_Title_4) + "\n\n" + res.getString(R.string.Story_Title_5));
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
try {
OpenNews1();
} catch (ClientProtocolException e) {
OpenNews();
e.printStackTrace();
} catch (IOException e) {
OpenNews();
e.printStackTrace();
}
}
});
// Make sure we're running on Honeycomb or higher to use ActionBar APIs
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
// Show the Up button in the action bar.
getActionBar().setDisplayHomeAsUpEnabled(true);
}
}
public void selfDestruct(View view) {
// Boom
}
@SuppressLint("NewApi")
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
public void OpenNews()
{
setContentView(R.layout.activity_open_news);
final Resources res = getResources();
final Button next = (Button) findViewById(R.id.NextBtn);
final Button close = (Button) findViewById(R.id.CloseBtn);
final Button back = (Button) findViewById(R.id.BackBtn);
// Create the text view
final TextView textView = (TextView) findViewById(R.id.textView);
textView.setTextSize(22);
textView.setText(res.getString(R.string.Story_Title_1));
final TextView textView1 = (TextView) findViewById(R.id.textView1);
textView1.setTextSize(20);
textView1.setText(res.getString(R.string.Story_1));
next.setText("Next");
next.setHeight(100);
next.setWidth(500);
close.setText("Close");
close.setHeight(100);
close.setWidth(1000);
back.setText("Back");
back.setHeight(100);
back.setWidth(500);
close.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
finish();
System.exit(0);
}
});
next.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
if(itemNumber == 1){
textView.setText(res.getString(R.string.Story_Title_2));
textView1.setText(res.getString(R.string.Story_2));
itemNumber = 2;
}
else if(itemNumber == 2){
textView.setText(res.getString(R.string.Story_Title_3));
textView1.setText(res.getString(R.string.Story_3));
itemNumber = 3;
}
else if(itemNumber == 3){
textView.setText(res.getString(R.string.Story_Title_4));
textView1.setText(res.getString(R.string.Story_4));
itemNumber = 4;
}
else if(itemNumber == 4){
textView.setText(res.getString(R.string.Story_Title_5));
textView1.setText(res.getString(R.string.Story_5));
itemNumber = 5;
}
else if(itemNumber == 5){
textView.setText(res.getString(R.string.Story_Title_1));
textView1.setText(res.getString(R.string.Story_1));
itemNumber = 1;
}
}
});
back.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
if(itemNumber == 1){
textView.setText(res.getString(R.string.Story_Title_5));
textView1.setText(res.getString(R.string.Story_5));
itemNumber = 5;
}
else if(itemNumber == 2){
textView.setText(res.getString(R.string.Story_Title_1));
textView1.setText(res.getString(R.string.Story_1));
itemNumber = 1;
}
else if(itemNumber == 3){
textView.setText(res.getString(R.string.Story_Title_2));
textView1.setText(res.getString(R.string.Story_2));
itemNumber = 2;
}
else if(itemNumber == 4){
textView.setText(res.getString(R.string.Story_Title_3));
textView1.setText(res.getString(R.string.Story_3));
itemNumber = 3;
}
else if(itemNumber == 5){
textView.setText(res.getString(R.string.Story_Title_4));
textView1.setText(res.getString(R.string.Story_4));
itemNumber = 4;
}
}
});
}
public void OpenNews1() throws ClientProtocolException, IOException
{
setContentView(R.layout.activity_open_news);
final Resources res = getResources();
final Button next = (Button) findViewById(R.id.NextBtn);
final Button close = (Button) findViewById(R.id.CloseBtn);
final Button back = (Button) findViewById(R.id.BackBtn);
DefaultHttpClient httpclient = new DefaultHttpClient();
// Create the text view
final TextView textView = (TextView) findViewById(R.id.textView);
textView.setTextSize(22);
textView.setText(res.getString(R.string.Story_Title_1));
final TextView textView1 = (TextView) findViewById(R.id.textView1);
textView1.setTextSize(20);
HttpGet httppost = new HttpGet("http://www.akiorourke.com/cara.nl/text.txt");
HttpResponse response = httpclient.execute(httppost);
HttpEntity ht = response.getEntity();
BufferedHttpEntity buf = new BufferedHttpEntity(ht);
InputStream is = buf.getContent();
BufferedReader r = new BufferedReader(new InputStreamReader(is));
StringBuilder total = new StringBuilder();
String line;
while ((line = r.readLine()) != null) {
total.append(line + "\n");
}
textView1.setText(total);
next.setText("Next");
next.setHeight(100);
next.setWidth(500);
close.setText("Close");
close.setHeight(100);
close.setWidth(1000);
back.setText("Back");
back.setHeight(100);
back.setWidth(500);
close.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
finish();
System.exit(0);
}
});
next.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
if(itemNumber == 1){
textView.setText(res.getString(R.string.Story_Title_2));
textView1.setText(res.getString(R.string.Story_2));
itemNumber = 2;
}
else if(itemNumber == 2){
textView.setText(res.getString(R.string.Story_Title_3));
textView1.setText(res.getString(R.string.Story_3));
itemNumber = 3;
}
else if(itemNumber == 3){
textView.setText(res.getString(R.string.Story_Title_4));
textView1.setText(res.getString(R.string.Story_4));
itemNumber = 4;
}
else if(itemNumber == 4){
textView.setText(res.getString(R.string.Story_Title_5));
textView1.setText(res.getString(R.string.Story_5));
itemNumber = 5;
}
else if(itemNumber == 5){
textView.setText(res.getString(R.string.Story_Title_1));
textView1.setText(res.getString(R.string.Story_1));
itemNumber = 1;
}
}
});
back.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
if(itemNumber == 1){
textView.setText(res.getString(R.string.Story_Title_5));
textView1.setText(res.getString(R.string.Story_5));
itemNumber = 5;
}
else if(itemNumber == 2){
textView.setText(res.getString(R.string.Story_Title_1));
textView1.setText(res.getString(R.string.Story_1));
itemNumber = 1;
}
else if(itemNumber == 3){
textView.setText(res.getString(R.string.Story_Title_2));
textView1.setText(res.getString(R.string.Story_2));
itemNumber = 2;
}
else if(itemNumber == 4){
textView.setText(res.getString(R.string.Story_Title_3));
textView1.setText(res.getString(R.string.Story_3));
itemNumber = 3;
}
else if(itemNumber == 5){
textView.setText(res.getString(R.string.Story_Title_4));
textView1.setText(res.getString(R.string.Story_4));
itemNumber = 4;
}
}
});}}