Chicago Android

training and development community

mobile development community services: start-up incubation, education and job postings

Latest Activity

Uki Dominque Lucas commented on Todor Krecu's status
"Pretty cool!"
yesterday
Uki Dominque Lucas posted a discussion

Chicago Android / GTUG meeting May 2012

 Agenda: Joe Nedumgottil: What you can do in Android that you can't in iOS: making unique, compelling apps that users love!sponsor presentationJessica Austin: Building Robots with the Sparkfun IOIOsponsor presentationSilviu Chiricescu: Effortless Interfaces for Appified TVRegister free:http://chigtug201205.eventbrite.com/See More
yesterday
Todor Krecu posted a status
"Does anyone have this yet: Android PC on a stick for $74 http://phandroid.com/2012/05/18/get-an-android-pc-on-a-stick-for-74/"
Friday
Yulia Tsiaputa shared their discussion on Facebook
May 10
Yulia Tsiaputa shared their discussion on Twitter
May 10
Yulia Tsiaputa posted a discussion

Samsung Smart App Challenge 2012

Once more Samsung invites all mobile developers to take part in Samsung Smart App Challenge 2012 and collect a total of $4.08 million in prizes. The contest starts May 7th, and its goal is to expand the ecosystem for GALAXY Tab and GALAXY Note.Samsung Smart App Challenge 2012 consists of two categories - “Samsung Apps Super Apps” and „Best S Pen App". The first category will determine the 30 most downloaded games and 30 most downloaded applications (non-game). The second category's 20 winners…See More
May 10
Fred Grott posted a status
"New Android tips at GrottWorkShop: http://shareme.github.com"
May 10
Fred Grott posted a status
May 7

Notes

Team Members

Created by Uki Dominque Lucas Mar 2, 2010 at 11:07pm. Last updated by Uki Dominque Lucas Apr 6, 2011.

Chicago Android Event Sponsorship Levels

Created by Uki Dominque Lucas Jul 7, 2010 at 12:59pm. Last updated by Uki Dominque Lucas Jul 8, 2010.

Chicago Android Workshops

Created by Uki Dominque Lucas May 21, 2010 at 2:25pm. Last updated by Uki Dominque Lucas Jun 28, 2010.

Portfolio

Created by Uki Dominque Lucas Mar 7, 2010 at 10:17am. Last updated by Uki Dominque Lucas Mar 23, 2010.

About us

Created by Uki Dominque Lucas Feb 21, 2010 at 9:06pm. Last updated by Uki Dominque Lucas Mar 2, 2010.

 

Android News

The Google/Motorola Deal is Done. What Now? - InformationWeek


ReadWriteWeb

The Google/Motorola Deal is Done. What Now?
InformationWeek
The conventional wisdom at the announcement of the deal was that the purchase of the Motorola patent portfolio would help protect Google's Android from legal assault. Very little was said, then or now, about what would happen to the people at MMI, ...
What Google's Acquisition of Motorola Means for Android
First test for Googlarola: ICS updates
Google Completes Purchase of Motorola Mobility
 -

Feeling Lazy? Let Android and Arduino Stir Your Pots Instead - PCWorld (blog)


Feeling Lazy? Let Android and Arduino Stir Your Pots Instead
PCWorld (blog)
If you have an Android phone or tablet though, Ben Heck's latest hack gives you an assistant to help save your meal. This hack focuses on an app, which uses Bluetooth to control a pot-stirring gadget. The laser-cut wooden hardware consists of an ...

Do Android Security Apps Kill Your Batteries? - PC Magazine


Do Android Security Apps Kill Your Batteries?
PC Magazine
By Neil J. Rubenking All too many users of Android and other mobile devices reject security apps because "they run down my battery too fast." But do they really? At a recent meeting of the AMTSO (Anti-Malware Testing Standards Organization), ...

Android Central

Sony Walkman Z Series review

Sony Walkman Z

Remember MP3 players? You know, those small electronic devices that old people used to keep their music on? They didn't make phone calls. They didn't play Angry Birds. If they're before your time, you’re not alone: after reaching the height of their popularity with Apple’s iPod, digital music players saw a sharp decline in sales, due in large part to the meteoric rise of smartphones. As phones became more and more capable of becoming your sole device, the need for MP3 players quickly faded away. Why carry around an extra device when you’ve got your entire music collection, Spotify, Rdio, Pandora, and even FM Radio right on your Android phone?

But don’t call digital music players dead just yet. Enter the Sony Walkman Z, a revitalized Walkman that Sony is calling the “ultimate portable media player.” It’s powered by Android and it’s got a heck of a set of specs, but where does this device fall into your daily life? And is its $249 starting price tag justified? Despite its delightful music experience, it’s hard to recommend dropping so much money on a device that is so limited, especially when tablets start at around the same price. If you’re holding onto your dumbphone, though, and are constantly within wi-fi coverage, the Walkman Z is a nice option for housing your music collection.

read more



Wallpaper Wednesday - Lego Darth Vader, Ubuntu, Cherry Blossom Path

Darth Vader

Ubuntu   Cherry Blossom

Tired of that boring wallpaper you currently are sporting on your wonderful Android device? Spend hours looking for something new to use only to come up empty? Some great creations have hit our Android Central Wallpaper Gallery lately, and we are back showcasing them for you to see.

If you don't see what you want in the gallery, and happen to find it somewhere else, do us a favor will ya? Spread the love to the rest of the Android Central Community and upload it, it's simple and takes only a minute. Be sure to log in before uploading so we know who they came from, and we can give you the proper credit when we show them off!

 



Deal of the Day: Mobi Products Skin Case for Samsung Galaxy Note

Deal of the Day The May 23 ShopAndroid.com Deal of the Day is the Mobi Products Skin Case for Samsung Galaxy Note. Made of highly durable material that feels great when gripped, this sleek looking case features anti-slip properties that give your device more grip on all types of surfaces. Plus, this case has cut-outs for all of your Galaxy Note features! Comes in black, blue, red, and purple.

The Mobi Skin Case is available for just $4.95 today only, 75% off the standard price.  Pick yours up today while supplies last!

Chicago Android Google Group

Is there a beginner android app developer class?

I need to recommend a beginner android app developer class to a peer.
Does anyone know of a good one in the Chicago area?
Thanks!
Linda

wtb: phone thats better than my g1

I need something better than my G1. Anyone have something old they
want to throw my way? I am on T-mob, rather not switch.

WindyCityGo: April 5-6, 2012

Registration for WindyCityGo ([link]) is now open.
This 2-day, Chicago-based conference is focused on iOS, Android, and
Windows Phone development. Early bird registration (save $100) ends on
3/13/2011. Visit [link] for details.

Re: Why patents suck.

Apple fired the first shot in this Mutual Assured Destruction war. I say
let them burn for while. I hate software patents as much as the next person
but it's hard to feel bad for Apple. Perhaps at the end of it all the world
will come to its senses.

Android Blog

Using DialogFragments

[This post is by David Chandler, Android Developer Advocate — Tim Bray]

Honeycomb introduced Fragments to support reusing portions of UI and logic across multiple activities in an app. In parallel, the showDialog / dismissDialog methods in Activity are being deprecated in favor of DialogFragments.

In this post, I’ll show how to use DialogFragments with the v4 support library (for backward compatibility on pre-Honeycomb devices) to show a simple edit dialog and return a result to the calling Activity using an interface. For design guidelines around Dialogs, see the Android Design site.

The Layout

Here’s the layout for the dialog in a file named fragment_edit_name.xml.

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:id="@+id/edit_name"    android:layout_width="wrap_content" android:layout_height="wrap_content"
    android:layout_gravity="center" android:orientation="vertical"  >

    <TextView
        android:id="@+id/lbl_your_name" android:text="Your name" 
        android:layout_width="wrap_content" android:layout_height="wrap_content" />
      
    <EditText
        android:id="@+id/txt_your_name"
        android:layout_width="match_parent"  android:layout_height="wrap_content" 
        android:inputType=”text”
        android:imeOptions="actionDone" />
</LinearLayout>

Note the use of two optional attributes. In conjunction with android:inputType=”text”, android:imeOptions=”actionDone” configures the soft keyboard to show a Done key in place of the Enter key.

The Dialog Code

The dialog extends DialogFragment, and since we want backward compatibility, we’ll import it from the v4 support library. (To add the support library to an Eclipse project, right-click on the project and choose Android Tools | Add Support Library...).

import android.support.v4.app.DialogFragment;// ...
public class EditNameDialog extends DialogFragment {

    private EditText mEditText;

    public EditNameDialog() {
        // Empty constructor required for DialogFragment
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fragment_edit_name, container);
        mEditText = (EditText) view.findViewById(R.id.txt_your_name);
        getDialog().setTitle("Hello");

        return view;
    }
}

The dialog extends DialogFragment and includes the required empty constructor. Fragments implement the onCreateView() method to actually load the view using the provided LayoutInflater.

Showing the Dialog

Now we need some code in our Activity to show the dialog. Here is a simple example that immediately shows the EditNameDialog to enter the user’s name. On completion, it shows a Toast with the entered text.

import android.support.v4.app.FragmentActivity;import android.support.v4.app.FragmentManager;// ...

public class FragmentDialogDemo extends FragmentActivity implements EditNameDialogListener {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        showEditDialog();
    }

    private void showEditDialog() {
        FragmentManager fm = getSupportFragmentManager();
        EditNameDialog editNameDialog = new EditNameDialog();
        editNameDialog.show(fm, "fragment_edit_name");
    }

    @Override
    public void onFinishEditDialog(String inputText) {
        Toast.makeText(this, "Hi, " + inputText, Toast.LENGTH_SHORT).show();
    }
}

There are a few things to notice here. First, because we’re using the support library for backward compatibility with the Fragment API, our Activity extends FragmentActivity from the support library. Because we’re using the support library, we call getSupportFragmentManager() instead of getFragmentManager().

After loading the initial view, the activity immediately shows the EditNameDialog by calling its show() method. This allows the DialogFragment to ensure that what is happening with the Dialog and Fragment states remains consistent. By default, the back button will dismiss the dialog without any additional code.

Using the Dialog

Next, let’s enhance EditNameDialog so it can return a result string to the Activity.

import android.support.v4.app.DialogFragment;// ...public class EditNameDialog extends DialogFragment implements OnEditorActionListener {

    public interface EditNameDialogListener {
        void onFinishEditDialog(String inputText);
    }

    private EditText mEditText;

    public EditNameDialog() {
        // Empty constructor required for DialogFragment
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fragment_edit_name, container);
        mEditText = (EditText) view.findViewById(R.id.txt_your_name);
        getDialog().setTitle("Hello");

        // Show soft keyboard automatically
        mEditText.requestFocus();
        getDialog().getWindow().setSoftInputMode(
                LayoutParams.SOFT_INPUT_STATE_VISIBLE);
        mEditText.setOnEditorActionListener(this);

        return view;
    }

    @Override
    public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
        if (EditorInfo.IME_ACTION_DONE == actionId) {
            // Return input text to activity
            EditNameDialogListener activity = (EditNameDialogListener) getActivity();
            activity.onFinishEditDialog(mEditText.getText().toString());
            this.dismiss();
            return true;
        }
        return false;
    }
}

For user convenience, we programmatically focus on the EditText with mEditText.requestFocus(). Alternatively, we could have used the <requestFocus/> tag in the layout XML to do this; however, in some cases it’s preferable to request focus programmatically. For example, an OnFocusChangeListener added in the Fragment’s onCreateView() method won’t get called if you request focus in the layout XML.

If the user focuses on an EditText, the soft keyboard will automatically appear. In order to force this to happen with our programmatic focus, we call getDialog().getWindow().setSoftInputMode(). Note that many Window operations you might have done previously in a Dialog can still be done in a DialogFragment, but you have to call getDialog().getWindow() instead of just getWindow(). The resulting dialog is shown on both a handset and tablet (not to scale):

The onEditorAction() method handles the callback when the user presses the Done key. It gets invoked because we’ve set an OnEditorActionListener on the EditText. It calls back to the Activity to send the entered text. To do this, EditNameDialog declares an interface EditNameDialogListener that is implemented by the Activity. This enables the dialog to be reused by many Activities. To invoke the callback method onFinishEditDialog(), it obtains a reference to the Activity which launched the dialog by calling getActivity(), which all Fragments provide, and then casts it to the interface type. In MVC architecture, this is a common pattern for allowing a view to communicate with a controller.

We can dismiss the dialog one of two ways. Here we are calling dismiss() within the Dialog class itself. It could also be called from the Activity like the show() method.

Hopefully this sheds some more light on Fragments as they relate to Dialogs. You can find the sample code in this blog post on Google Code.

References for learning more about Fragments:

Android C2DM — Client Login key expiration

[This post is by Francesco Nerieri, engineering team lead for C2DM — Tim Bray]

In the upcoming weeks, some of the older Client Login authentication keys will expire. If you generated the token you’re currently using to authenticate with the C2DM servers before October 2011, it will stop working.

If the response from the C2DM servers contains an Update-Client-Auth header, you’ll need to replace the current token with the one included in the header.

  // Check for updated token header  String updatedAuthToken = conn.getHeaderField(UPDATE_CLIENT_AUTH);  if (updatedAuthToken != null && !authToken.equals(updatedAuthToken)) {
    log.info("Got updated auth token from datamessaging servers: " +
        updatedAuthToken);
    serverConfig.updateToken(updatedAuthToken);
  }

We suggest that you start using the Update-Client-Auth response header to update tokens regularly, as keys will expire periodically from now on. For example, have a look at the Chrome to Phone service hosted on code.google.com; this code takes care of authenticating via Client Login and then sending a message:

Alternatively, you can manually generate a new Client Login token now and replace the one currently in use. ClientLogin can be used with any application that can make an HTTPS POST request. The POST request should be structured as a form post with the default encoding application/x-www-form-urlencoded, like this:

POST /accounts/ClientLogin HTTP/1.0Content-type: application/x-www-form-urlencoded
accountType=GOOGLE&Email=johndoe@gmail.com&Passwd=north23AZ&service=ac2dm

If the POST succeeds, the response contains the authorization token, labeled "Auth", which is your new token. You could even do this from the command line:

curl -d \  "accountType=HOSTED_OR_GOOGLE&Email=johndoe@gmail.com&Passwd=north23AZ&service=ac2dm" \  https://www.google.com/accounts/ClientLogin | \
  grep Auth

If your request fails or if you are prompted for captchas, please read ClientLogin for Installed Applications. And of course, if you updated your code to use the Update-Client-Auth header after the keys had expired, then you will first need to manually generate a new token.

Have fun with C2DM!

New Seller Countries in Google Play

Over the past year we’ve been working to expand the list of countries and currencies from which Android developers can sell their products. Starting today, developers in Czech Republic, Israel, Poland, and Mexico can sell priced applications and in-app products on Google Play, using their local bank accounts for payments. Welcome developers!

If you develop Android apps in one of the new countries and want to get started selling them, visit play.google.com/apps/publish and set up a new Google Play developer account. Once you’ve uploaded your apps, you can price them in any available buyer currencies, publish, and then receive payouts and financial data in your local currency.

If you are based in Israel or Mexico and are currently selling apps through an AdSense merchant account, you will need to migrate your apps to a new Google Play developer account in your local currency. Watch for an email that provides complete information on the migration process and timeline.

Additionally, we encourage developers everywhere to visit the Developer Console as soon as possible to set prices for their products in the currencies of these new countries. Stay tuned for more announcements soon as we continue to roll out our new billing infrastructure to buyers and sellers throughout the world.

Join the discussion on
+Android Developers

Mind The Robot

MTR: Turning the page

Guys & Girls, all MTR readers – as you might have noticed, I haven’t been writing for MTR for a while already. So at this point, I would like to announce that I will no longer be able to write new articles for this blog any more. MTR has been a successful project for me. [...]

Su-Preme MPA: The first demo video of my first app!

Check out the first demo vid of Su-Preme MPA – my first Android app to be released on the market in few days! MPA is a sample based music production app that mimics the look and feel of a classic analog device that is widely popular among urban music producers. I’m proud to say that [...]

Android Hacks: Scan Android classpath

Why scan the classpath? There are various patterns that are often used in enterprise Java applications that require scanning of classpath and getting the list of all classes that are present in the application. For example, if you want to discover all classes with a certain annotation (such as @Component in Spring Framework) to process [...]

Chicago Android events

Chicago Android & Google Tech (GTUG) May 2012

When:
Tuesday, May 29, 2012 at 6:00 PM (CT)

Where:
1871.com co-working space
222 W. Merchandise Mart Plaza, 12th floor
Chicago, IL 60654

Hosted By:
ChicagoAndroid.com

 

Chicago Android

mobile platform think-tank and development team organized by Uki D. Lucas

 

Group of entrepreneurs and developers specializing in creating Android (as well as tablet, iPhone, Blackberry) applications.



Register for this event now at:
http://chigtug201205-rss.eventbrite.com

Event Details:

 Agenda:

 

  • What you can do in Android that you can't in iOS: making unique, compelling apps that users love! by Joe Nedumgottil
  • Building Robots with the Sparkfun IOIO by Jessica Austin
  • Effortless Interfaces for Appified TV by Silviu Chiricescu
  • Startup Weekend preparations by Adam Haun

Please make sure to become a member of ChicagoAndroid.com

 
 
 

Photos

Loading…
  • Add Photos
  • View All

Members

Events

Badge

Loading…

Groups

© 2012   Created by Uki Dominque Lucas.

Badges  |  Report an Issue  |  Terms of Service