Newer posts are loading.
You are at the newest post.
Click here to check if anything new just came in.

July 27 2013

schlingel

Android und Privatsphäre?

Der ganze Mist mit PRISM hat mich dazu getrieben mir Gedanken zu machen wie ich die Aktivitäten meines Handys tracken und auch kontrollieren kann, anstatt das es umgekehrt läuft.

Das Gute an Android ist, dass es ein Linux ist und dementsprechend - im gerooteten Zustand - tatsächlich soweit aufgebohrt werden kann um es zu verwenden.

Das tatsächliche Problem ist, den ganzen Komfort nicht zu verlieren den es mit sich bringt Apps für Cloud-Services zu nutzen.

Deshalb habe ich mir ein paar Dinge überlegt die ich im folgenden kurz skizzieren möchte:

  1. Handy rooten. (Check.)
  2. Klarerweise müssen die Gapps von meinem Handy verschwinden. Das hat allerdings weitreichende Konsequenzen: Kein Play Store, kein Maps, kein Gmail, kein Google-Anything. Was tun?
    • Handy mit Replicant neu aufsetzen.
    • Mail-App mit IMAP-Kompatibilität verwenden und Google Mail IMAPS aktivieren. Sie schnüffeln zwar noch in meinen Mails herum aber diesen Service kann ich leider nicht so einfach austauschen.
    • Eine OwnCloud auf einem Raspberry Pi aufsetzen. Das ersetzt erst mal Kalender, Sync, etc.
    • Eine IMAP-Relay aufbauen (gibt's das schon fix fertig?) das mir ermöglicht über meinen OwnCloud-Service indirekt auf Google Mails zuzugreifen. (kein Rückschluss auf aktuellen Standort via IP-Adresse)
    • Ersatz für mein geliebtes Maps finden :-(
  3. Vollkommen auf Apps die das Leben leichter machen möchte ich auch nicht verzichten. Also hilft nur ein technischer Gegenschlag. Meine Idee ist im Moment zu tracken zu welchen IPs sich welche App verbindet und gezielt bestimmte IPs in's Nirvana umleiten. Dazu werde ich wohl Droidwall ein wenig umbauen. Dazu werde ich es, ähnlich wie es netstats es macht, /proc/net/udp|tcp|raw auslesen und dann über die in Android vorhandene UID die Verbindung zu der jeweiligen App mappen. Das kann man sich dann schön anschauen und vielleicht mit einer Blacklist von Ghostery oder Android AdBlock abgleichen um Warnungen auszustossen.

Damit kriege ich zumindest halbwegs wieder das Gefühl die Daten auf dem Ding kontrollieren zu können. Und vor allem kann ich dann auch tracken was vom System wo hin geht.

Reposted bycoloredgrayscale coloredgrayscale

December 06 2012

Fist of Awesome – Rotwild verprügeln

In letzter Zeit schreibe ich viel zu viel über Pixelgraphikspiele aber das hält mich nicht auf schon wieder über einen Vertreter dieses Stils zu schreiben.

Das Spiel existiert noch nicht, allerdings geistert ein Alpha-Stadium-Video herum wo es auf einem Tablet gespielt wird.

Die Spielmechanik selbst ähnelt dem Streets of Rage Prinzip. Lustig am Sega aber ob das ganze mit zwei Buttons auch überzeugen kann? Ich habe es noch nicht getestet aber es sieht so putzig aus, dass ich darüber schreiben musste.

Ursprünglich per Kickstarter finanziert, wurde vor ein paar Tagen verkündet die angepeilten Plattformen von den mobilen auch auf die Desktop-Systeme Mac und Windows auszudehnen.

Ich bin skeptisch ob der sehr minimalistische Spielinhalt der echt nett gewordenen Grafik gerecht wird aber man darf gespannt bleiben.

Natürlich möchte ich euch das oben angesprochene Video nicht vorenthalten:

Reposted bygamervideogamesnaich

December 22 2011

schlingel

Android: Drawing slider onMeasure content size sensitive

	    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
	        int widthSpecMode = MeasureSpec.getMode(widthMeasureSpec);
	        int widthSpecSize =  MeasureSpec.getSize(widthMeasureSpec);

	        int heightSpecMode = MeasureSpec.getMode(heightMeasureSpec);
	        int heightSpecSize =  MeasureSpec.getSize(heightMeasureSpec);

	        if (widthSpecMode == MeasureSpec.UNSPECIFIED || heightSpecMode == MeasureSpec.UNSPECIFIED) {
	            throw new RuntimeException("SlidingDrawer cannot have UNSPECIFIED dimensions");
	        }

	        final View handle = getHandle();
	        final View content = getContent();
	        measureChild(handle, widthMeasureSpec, heightMeasureSpec);

	        if (vertical) {
	            int height = heightSpecSize - handle.getMeasuredHeight() - topOffset;
	            content.measure(widthMeasureSpec, MeasureSpec.makeMeasureSpec(height, heightSpecMode));
	            heightSpecSize = handle.getMeasuredHeight() + topOffset + content.getMeasuredHeight();
	            widthSpecSize = content.getMeasuredWidth();
	            if (handle.getMeasuredWidth() > widthSpecSize) widthSpecSize = handle.getMeasuredWidth();
	        }
	        else {
	            int width = widthSpecSize - handle.getMeasuredWidth() - topOffset;
	            getContent().measure(MeasureSpec.makeMeasureSpec(width, widthSpecMode), heightMeasureSpec);
	            widthSpecSize = handle.getMeasuredWidth() + topOffset + content.getMeasuredWidth();
	            heightSpecSize = content.getMeasuredHeight();
	            if (handle.getMeasuredHeight() > heightSpecSize) heightSpecSize = handle.getMeasuredHeight();
	        }

	        setMeasuredDimension(widthSpecSize, heightSpecSize);
	    }	
Reposted byurfin urfin

September 23 2011

schlingel

Checking soup notifications on the road

I just finished my little Android app. It's now in a status where I think people can start testing it. I didn't put it in the market yet because I think the testing is needed. So please help.

The app is build to check notifications on the road. So that's the only thing the app can do. You see who did a repost, reaction or something else and you see when he/she did it.

When you start the app for the first time it displays this message:

When you hit the OK-Button you're lead to the settings.

Then just enter your Soup Notification URL. If you don't know where to find it, just check the RSS symbol in the notification pop up on your soup:

Via the Back-Button you return to the notifications view which automatically starts fetching new notifications.

If you don't like the header bar at the top of the view you can disable it via the settings. Just hit the Menu-Button.

You can also disable the image loading. This feature is for people who have a limited data volume contract. If you disable the image fetching it looks like this:

If you want to try the app download the apk-File here or build it yourself.

If you find bugs please post them here.

PS: If you hit a list entry the browser starts with the soup entry of the reposter/reacter/random notificator.

PPS: Before I forget: I'm not a soup member. This is just a little inoffical hobby project.

Reposted byeveryonemondkroetecoloredgrayscalekoniprednildelphiN

June 05 2011

schlingel

Android Focusable?

Normalerweise sollte laut Android-Doku ein Control oder um im Android-Sprech zu bleiben eine View per folgenden XML-Attributen focusable gemacht werden können:
<ImageButton  
  // uninteressante Attribute    
  android:focusable="true" />

Doch so funktioniert das nicht. Jedenfalls nicht auf meinem HTC Wildfire. Jetzt bin ich folgenden Umweg der aber zur Lösung führt gefunden:

  • OnKeyListener hinzufügen
  • Im OnKeyListener schau ich nach ob Enter bzw. Next gedrückt wurde, falls ja probiere ich die Wunsch-View per requestFocus zu fokusieren. Schlägt das fehl probiere ich es mit requestFocusFromTouch und wenn das fehl schlägt lasse ich das System tun was es ansonsten getan hätte.

Der Code dazu sieht so aus:

txtBxTitle.setOnKeyListener(new View.OnKeyListener() {
  public boolean onKey(View v, int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_ENTER) {
      return (imgBtnMain.requestFocus() || imgBtnMain.requestFocusFromTouch());
    }
    return false;
  }
});  

So funktioniert das ganze auf einem HTC Wildfire mit Android 2.2.1 aber schön kommt mir das nicht vor. Warum funktioniert nicht der Weg aus der Doku mit den XML-Attributen und warum klapt requestFocus nicht?

May 02 2011

schlingel

Building Cross-Platform Apps Using jQuery Mobile

Ein Microsofti über JQuery Mobile. Nette Einführung ohne großes Trara um die Funktionalität.

Reposted bywebdeveloper webdeveloper

April 13 2011

schlingel

Mobile (Web) Development mit Ruby

Sehr Ruby lastige Entwicklung auf Basis von Webtechnologien für Mobile Phones.

March 01 2011

schlingel
Older posts are this way If this message doesn't go away, click anywhere on the page to continue loading posts.
Could not load more posts
Maybe Soup is currently being updated? I'll try again automatically in a few seconds...
Just a second, loading more posts...
You've reached the end.

Don't be the product, buy the product!

Schweinderl