einige Fragen: Datum, ActionBarSherlock und Package Name

  • Antworten:8
Imagine Box
  • Forum-Beiträge: 346

31.03.2013, 19:55:59 via Website

Hallo zusammen,

Ich habe einige Fragen, nämlich folgende:


1. Ich möchte gerne das Datum beim Start der App erfragen. Wenn dieses Beispielsweise der 24.12. ist, soll ein spezieller Bildschirm geöffnet werden. Sozusagen eine kleine Überraschung für den Anwender :) Wie kann ich das am besten machen?

2. Ich habe vor einiger Zeit den ActionBarSherlock installiert. Klappt auch alles inzwischen super, aber wie kann ich so einen Button erstellen, der einen wieder ins Hauptmenü zurückbringt? Ich bin im Internet immer wieder über
1getSupportActionBar().setHomeButtonEnabled(true);
gestolpert aber wirklich weitergeholfen hat es mir leider nicht :( Er wird zwar angezeigt doch er hat keine Funktion.

3. Ich würde gerne mit dem ActionBarSherlock Buttons oben einfügen, die jedoch nicht auf allen Screens angezeigt werden. Beispielsweise ein Teilenbutton nur auf Seite xy. Geht das, und wenn ja, wie?

4. Wie bekomme ich den App namen in der ActionBar weg bzw. etwas kleiner? Auf Dauer ist das relativ nervig.

5. Wenn ich den Packet namen ändern will (über das Android Manifest) kommt der Fehler, dass das R. immer rot unterstrichen wird. Wie kann ich den Packagenamen korrekt ändern? EDIT: hat sich geklärt, es gibt eine extra Funktion in Eclipse, etwas versteckt: Rechtsklick auf das Projekt, anschließend "android tools" auswählen und danach "rename application package".

Ich weiß, das sind viele Fragen auf einmal aber ich komme einfach nicht weiter. Googeln half auch nicht. Falls ich was übersehen habe, bitte ich um Verzeihung!

Wäre echt super, wenn mir jemand helfen könnte!

— geändert am 01.04.2013, 12:06:10

Antworten
Imagine Box
  • Forum-Beiträge: 346

02.04.2013, 16:06:03 via Website

Hat wirklich keiner eine Idee?

Antworten
impjor
  • Forum-Beiträge: 1.793

02.04.2013, 16:56:47 via Website

Pushen wird hier nicht gerne gesehen.
Zu deiner 1. Frage: Da hasst du anscheinend bei Google tatsächlich etwas übersehen>_>
Schau mal hier: http://stackoverflow.com/questions/5369682/android-get-current-time-and-date

Gruß

Liebe Grüße impjor.

Für ein gutes Miteinander: Unsere Regeln
Apps für jeden Einsatzzweck
Stellt eure App vor!

Imagine Box

Antworten
Imagine Box
  • Forum-Beiträge: 346

02.04.2013, 17:06:09 via Website

Irgendwie funktioniert das nicht so recht... Bei mir sieht das jetzt so aus:
1@Override
2 protected void onCreate(Bundle savedInstanceState) {
3 super.onCreate(savedInstanceState);
4 Calendar c = Calendar.getInstance();
5 int seconds = c.get(Calendar.MONTH);
6 if (seconds == 0x00000003) {
7 setContentView(R.layout.ueber);
8 }
9 setContentView(R.layout.activity_main);
10 AppRater.app_launched(this);
11 // und soweiter...
12
13 }

Ja, ich weiß das pushen nicht so toll ist, aber ich komme leider seit Tagen nicht mehr weiter :(

— geändert am 02.04.2013, 17:14:21

Antworten
impjor
  • Forum-Beiträge: 1.793

02.04.2013, 17:12:12 via Website

1if (seconds == 0x00000003) {
2 setContentView(R.layout.ueber);
3 }
4setContentView(R.layout.activity_main);
Wie hast du dir das gedacht? Du setzt manchmal das Layout ueber, aber danach immer das Layout main. Du musst if-else einsetzen.

Gruß

Liebe Grüße impjor.

Für ein gutes Miteinander: Unsere Regeln
Apps für jeden Einsatzzweck
Stellt eure App vor!

Imagine Box

Antworten
Imagine Box
  • Forum-Beiträge: 346

02.04.2013, 17:17:07 via Website

So ein dummer Fehler... Danke, funktioniert jetzt :)

Antworten
JOnas S
  • Forum-Beiträge: 2.256

02.04.2013, 17:20:42 via Website

Henrik S.
Irgendwie funktioniert das nicht so recht... Bei mir sieht das jetzt so aus:


Ja, ich weiß das pushen nicht so toll ist, aber ich komme leider seit Tagen nicht mehr weiter :(

1@Override
2 protected void onCreate(Bundle savedInstanceState) {
3 super.onCreate(savedInstanceState);
4 setContentView(R.layout.activity_zwei);
5 setContentView(R.layout.activity_main);
6 super.onCreate(savedInstanceState);
7 Calendar c = Calendar.getInstance();
8 int seconds = c.get(Calendar.MONTH);
9 if (seconds == 0x00000003) {
10 // das schreibt man so:
11 Intent i = new Intent(this,activity_name.class);
12 startActivity(i);
13
14 }
15
16 // AppRater.app_launched(this);
17 // Wofür ist das ?
18
19 }
man schreibt das normalerweise über ein intent

zu frage 2 - 4 http://www.vogella.com/articles/AndroidActionBar/article.html
der hat sehr gute Tutorials

— geändert am 02.04.2013, 17:22:55

gruß Jonas ||Galaxy S with cm10.1 4.2.1|| gegen überlange Zitate

Imagine Box

Antworten
Imagine Box
  • Forum-Beiträge: 346

02.04.2013, 17:37:18 via Website

1AppRater.app_launched(this);
Nach diesem Code geht´s ja noch weiter. Danke für den Link, die Tutorials sind wirklich sehr verständlich!

Antworten
Imagine Box
  • Forum-Beiträge: 346

03.04.2013, 18:24:30 via Website

Leider klappt die Geschichte mit dem ActionBarSherlock und dem Home Button noch nicht :( Ich habe schon folgende Varianten ausprobiert:
1import java.util.Calendar;
2import com.actionbarsherlock.app.ActionBar;
3import com.actionbarsherlock.app.SherlockActivity;
4import de.powergames.bmidroid.R;
5import android.content.Intent;
6import android.os.Bundle;
7import android.view.KeyEvent;
8import com.actionbarsherlock.view.Menu;
9import com.actionbarsherlock.view.MenuItem;
10import android.view.View;
11import android.widget.EditText;
12import android.widget.ImageView;
13import android.widget.TextView;
14import android.widget.Toast;
15
16public class MainActivity extends SherlockActivity {
17
18boolean mainisopen = true;
19
20
21 @Override
22 protected void onCreate(Bundle savedInstanceState) {
23 super.onCreate(savedInstanceState);
24 // Hier kommt die Kalendergeschichte
25 AppRater.app_launched(this);
26 ActionBar bar = getSupportActionBar();
27 bar.setSubtitle("");
28 bar.setTitle("");
29 getSupportActionBar().setDisplayHomeAsUpEnabled(true);
30 getSupportActionBar().setHomeButtonEnabled(true);
31 //getSupportActionBar().setDisplayHomeAsUpEnabled(true);
32 getSupportActionBar().setHomeButtonEnabled(true); //dieser Home Button hat leider keine Funktion
33 }
34
35
36 @Override
37 public boolean onCreateOptionsMenu(Menu menu) {
38 menu.add(0, 1, 0,"back")
39 .setIcon(R.drawable.ic_launcher)
40 .setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_WITH_TEXT);
41 return true;
42 }
43
44 @Override
45 public boolean onOptionsItemSelected(MenuItem item) {
46
47 if (item.getItemId() == 1) {
48 setContentView(R.layout.activity_main);
49 }
50 if (item.toString().equals("About")) {
51 setContentView(R.layout.ueber);
52 mainisopen = false;
53 }
54 if (item.toString().equals("Hilfe")) {
55 setContentView(R.layout.hilfe);
56 mainisopen = false;
57 Toast.makeText(getApplicationContext(), R.string.hilfe_toast, Toast.LENGTH_LONG).show();
58 mainisopen = false;
59
60 }
61 return true;
62 }
und
1import java.util.Calendar;
2import com.actionbarsherlock.app.ActionBar;
3import com.actionbarsherlock.app.SherlockActivity;
4import de.powergames.bmidroid.R;
5import android.content.Intent;
6import android.os.Bundle;
7import android.view.KeyEvent;
8import com.actionbarsherlock.view.Menu;
9import com.actionbarsherlock.view.MenuItem;
10import android.view.View;
11import android.widget.EditText;
12import android.widget.ImageView;
13import android.widget.TextView;
14import android.widget.Toast;
15
16public class MainActivity extends SherlockActivity {
17
18boolean mainisopen = true;
19
20
21 @Override
22 protected void onCreate(Bundle savedInstanceState) {
23 super.onCreate(savedInstanceState);
24 // Hier kommt die Kalendergeschichte
25 }
26 AppRater.app_launched(this);
27 ActionBar bar = getSupportActionBar();
28 bar.setSubtitle("");
29 bar.setTitle("");
30 getSupportActionBar().setDisplayHomeAsUpEnabled(true);
31 getSupportActionBar().setHomeButtonEnabled(true);
32 //getSupportActionBar().setDisplayHomeAsUpEnabled(true);
33 getSupportActionBar().setHomeButtonEnabled(true);
34 }
35
36
37 @Override
38 public boolean onCreateOptionsMenu(Menu menu) {
39 menu.add(0, 1, 0,"back")
40 .setIcon(R.drawable.ic_launcher)
41 .setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_WITH_TEXT);
42 return true;
43 }
44
45 @Override
46 public boolean onOptionsItemSelected(MenuItem item) {
47 // If home icon is clicked return to main Activity
48case android.R.id.home:
49 Intent intent = new Intent(this, OverviewActivity.class);
50 intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
51 startActivity(intent);
52 break;
53 if (item.getItemId() == 1) {
54 setContentView(R.layout.activity_main);
55 }
56 if (item.toString().equals("About")) {
57 setContentView(R.layout.ueber);
58 mainisopen = false;
59 }
60 if (item.toString().equals("Hilfe")) {
61 setContentView(R.layout.hilfe);
62 mainisopen = false;
63 Toast.makeText(getApplicationContext(), R.string.hilfe_toast, Toast.LENGTH_LONG).show();
64 mainisopen = false;
65
66 }
67 return true;

Und einiges mehr...
Ich habe bereits einen Button erstellt, welcher den Nutzer wieder zurück ins Hauptmenü bringt. Das funktioniert auch soweit, aber der richtige Home Button links hat noch keine Funktion.
Weiß jemand was ich da tun kann?

— geändert am 03.04.2013, 20:50:04

Antworten