jueves, 10 de diciembre de 2015
ZENAPPS
viernes, 20 de noviembre de 2015
Quienes somos
ZENAPPS WE DEVELOP YOUR IDEAS
WHO WE ARE
We are a team of professionals in information Technologies, experts in IT systems, Focused on generating business and technology solutions. We provide technology solutions and also offer consultancy in JAVA, B2B, FileNet, ECM, BPM, SOA, WEB PAGES. We are all graduates of the career of computing, mathematics and physics at the Faculty of Sciences (UNAM). Somos un equipo de profesionales en servicios de la información, expertos en sistemas IT, y enfocados en generar soluciones empresariales y tecnológicas. Proveemos de soluciones tecnológicas y también ofrecemos consultoría en JAVA, B2B, FileNet, ECM, BPM, SOA, WEB PAGES. Todos somos egresados de la carrera de computación, Matemáticas y Física de la Facultad de Ciencias (UNAM).
ZENCONSULTORA
ALL RIGHTS RESERVED
Contacts us, and leave a comment.
ALL RIGHTS RESERVED
Contacts us, and leave a comment.
lunes, 16 de noviembre de 2015
ANDROID DEPLOY CORRECTO USANDO ECLIPSE MARS, SDK CODIGO FUENTE PARA UNA LISTA DE CONTACTOS
PRIMERO CONFIGURAMOS ECLIPSE CON EL SDK DE ANDROID
LA ALICACION ES ADRESS BOOK
LO PRIMERO QUE TENEMOS QUE HACER ES BAJAR Y CONFIGURAR EL ECLIPSE
HAY QUE BAJARSE TODO EL DEVELOPER SUITE
POSTERIORMENTE PODRAS ABRIR EL AVD
LA CONFIGURACION CORRECTA ES
LAS LIBRERIAS INSTALADAS SON
EJECUTAR COMO ANDROID APLICATION:
LA APLICACION EN ACCION
NEXUS EMULATOR
LA ALICACION ES ADRESS BOOK
LO PRIMERO QUE TENEMOS QUE HACER ES BAJAR Y CONFIGURAR EL ECLIPSE
YO BAJE LA ULTIMA VERSION QUE ES MARS
DESPUES HAY QUE BAJAR EL SDK DE ANDROID
Para bajar el Android SDK:
DESPUES VAS A ECLIPSE-> WINDOW->INSTALL NEW PROGRAM->
PONES LA SIGUIENTE LIGA
HAY QUE BAJARSE TODO EL DEVELOPER SUITE
POSTERIORMENTE PODRAS ABRIR EL AVD
LA CONFIGURACION CORRECTA ES
LAS LIBRERIAS INSTALADAS SON
EJECUTAR COMO ANDROID APLICATION:
LA APLICACION EN ACCION
NEXUS EMULATOR
PARTE DEL CODIGO FUENTE
package com.deitel.addressbook;
import android.app.Activity;
import android.app.ListFragment;
import android.database.Cursor;
import android.os.AsyncTask;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.CursorAdapter;
import android.widget.ListView;
import android.widget.SimpleCursorAdapter;
public class ContactListFragment extends ListFragment
{
// callback methods implemented by MainActivity
public interface ContactListFragmentListener
{
// called when user selects a contact
public void onContactSelected(long rowID);
// called when user decides to add a contact
public void onAddContact();
}
private ContactListFragmentListener listener;
private ListView contactListView; // the ListActivity's ListView
private CursorAdapter contactAdapter; // adapter for ListView
// set ContactListFragmentListener when fragment attached
@Override
public void onAttach(Activity activity)
{
super.onAttach(activity);
listener = (ContactListFragmentListener) activity;
}
// remove ContactListFragmentListener when Fragment detached
@Override
public void onDetach()
{
super.onDetach();
listener = null;
}
// called after View is created
@Override
public void onViewCreated(View view, Bundle savedInstanceState)
{
super.onViewCreated(view, savedInstanceState);
setRetainInstance(true); // save fragment across config changes
setHasOptionsMenu(true); // this fragment has menu items to display
// set text to display when there are no contacts
setEmptyText(getResources().getString(R.string.no_contacts));
// get ListView reference and configure ListView
contactListView = getListView();
contactListView.setOnItemClickListener(viewContactListener);
contactListView.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
// map each contact's name to a TextView in the ListView layout
String[] from = new String[] { "name" };
int[] to = new int[] { android.R.id.text1 };
contactAdapter = new SimpleCursorAdapter(getActivity(),
android.R.layout.simple_list_item_1, null, from, to, 0);
setListAdapter(contactAdapter); // set adapter that supplies data
}
// responds to the user touching a contact's name in the ListView
OnItemClickListener viewContactListener = new OnItemClickListener()
{
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id)
{
listener.onContactSelected(id); // pass selection to MainActivity
}
}; // end viewContactListener
// when fragment resumes, use a GetContactsTask to load contacts
@Override
public void onResume()
{
super.onResume();
new GetContactsTask().execute((Object[]) null);
}
// performs database query outside GUI thread
private class GetContactsTask extends AsyncTask<Object, Object, Cursor>
{
DatabaseConnector databaseConnector =
new DatabaseConnector(getActivity());
// open database and return Cursor for all contacts
@Override
protected Cursor doInBackground(Object... params)
{
databaseConnector.open();
return databaseConnector.getAllContacts();
}
// use the Cursor returned from the doInBackground method
@Override
protected void onPostExecute(Cursor result)
{
contactAdapter.changeCursor(result); // set the adapter's Cursor
databaseConnector.close();
}
} // end class GetContactsTask
// when fragment stops, close Cursor and remove from contactAdapter
@Override
public void onStop()
{
Cursor cursor = contactAdapter.getCursor(); // get current Cursor
contactAdapter.changeCursor(null); // adapter now has no Cursor
if (cursor != null)
cursor.close(); // release the Cursor's resources
super.onStop();
}
// display this fragment's menu items
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater)
{
super.onCreateOptionsMenu(menu, inflater);
inflater.inflate(R.menu.fragment_contact_list_menu, menu);
}
// handle choice from options menu
@Override
public boolean onOptionsItemSelected(MenuItem item)
{
switch (item.getItemId())
{
case R.id.action_add:
listener.onAddContact();
return true;
}
return super.onOptionsItemSelected(item); // call super's method
}
// update data set
public void updateContactList()
{
new GetContactsTask().execute((Object[]) null);
}
} // end class ContactListFragment
/**************************************************************************
* (C) Copyright 1992-2014 by Deitel & Associates, Inc. and *
* Pearson Education, Inc. All Rights Reserved. *
* *
* DISCLAIMER: The authors and publisher of this book have used their *
* best efforts in preparing the book. These efforts include the *
* development, research, and testing of the theories and programs *
* to determine their effectiveness. The authors and publisher make *
* no warranty of any kind, expressed or implied, with regard to these *
* programs or to the documentation contained in these books. The authors *
* and publisher shall not be liable in any event for incidental or *
* consequential damages in connection with, or arising out of, the *
* furnishing, performance, or use of these programs. *
**************************************************************************/
domingo, 15 de noviembre de 2015
miércoles, 28 de octubre de 2015
Learning Android Application Programming
Learning Android
Application Programming
A new book on programming Android applications
Table of Contents
http://www.androiddevbook.com/book.html
1. An Introduction to Android Development
- Understanding the Android Difference
- Building Native Applications
- Understanding the History of Android
- Using the Android User Interface
- Understanding Android Applications
- Introducing Google Play
2. Kicking the Tires: Setting Up Your Development Environment
- Installing the Java JDK and JRE on Windows◦ Understanding Java Versions◦ Installing the Eclipse IDE on Windows◦ Installing Eclipse◦ Configuring the Java JRE in Eclipse◦ Getting Familiar with Eclipse◦ Installing the Android SDK on Windows◦ Installing the Android Developer Tools Plug-in on Windows◦ Installing and Using Java on a Mac◦ Downloading and Installing the JDK on a Mac◦ Downloading and Installing the Eclipse IDE on a Mac◦ Downloading and Installing the Android SDK on a Mac◦ Installing the Android Developer Tools Plug-in on a Mac
3. Putting On the Training Wheels: Creating Your First Android Application
- Creating an Android Application◦ Running Your Android Project◦ Creating an Android Virtual Device◦ Running an Application on the AVD◦ Best Practices for Using an Android Virtual Device◦ Installing an Android Application on an Actual Device◦ Working with Lint in an Android Project◦ Understanding the Android Project Files◦ Understanding the Layout XML Files◦ Understanding the Resource XML File◦ Using IDs in XML Files and Their Effect on Generated Files◦ Understanding the Activity File◦ Understanding the Activity Lifecycle◦ Getting Access to the TextView Within the Activity◦ Using Logging in Your Application◦ Understanding the Android Manifest File
4. Going for Your First Ride: Creating an Android User Interface
- Refactoring Your Code◦ Implementing Strict Mode◦ Creating a Simple User Interface◦ Using Linear Layouts◦ Creating Button Event Handlers◦ Updating the Timer Display◦ Displaying a Running Timer◦ Understanding the Activity Lifecycle◦ Exploring the Android Activity Lifecycle◦ Fixing Activity Lifecycle Issues◦ Making an Android Device Vibrate◦ Saving User Preferences
- Creating a New Activity◦ Showing a New Activity◦ Saving an Application’s State◦ Using Shared Preferences
5. Customizing Your Bike: Improving Android Application Usability
- Refactoring Your Code◦ Improving the Setting Activity◦ Showing Toast Pop-Ups◦ Returning from the Settings Activity with a Back Button◦ Action Bars and Menus◦ Creating a Menu◦ Creating an Action Bar◦ Going Home◦ Using Notifications◦ Creating a Notification◦ Showing or Replacing a New Notification◦ Showing Notifications at Regular Intervals◦ Creating a Database
- Creating a Data Model◦ Creating a Database and Its Tables◦ Checking Table Creation◦ Creating Relationships Between Tables
- Creating a Routes ListView
6. Pimping Your Bike: Styling an Android Application
- Refactoring Your Application◦ Understanding Screen Differences◦ Understanding Screen Sizes and Densities◦ Knowing the Devices Out There◦ Making Your Application Resolution Independent◦ Using Configuration Qualifiers◦ Creating Launcher Icons◦ Creating Notification Icons◦ Making Apps Look Good on Different Screen Sizes◦ Using Resource Dimensions◦ Changing Text Size in Java◦ Changing the Layout for Landscape Mode◦ Changing the Layout for Tablets◦ Creating a Side-by-Side View◦ Using Styles and Themes◦ Enabling Night Mode◦ Changing Themes◦ Detecting Light Levels◦ Dealing with Erratic Sensor Values
7. Are We There Yet? Making Your Application Location Aware
- Refactoring Your Code◦ Finding the Device’s Location◦ Testing GPS in a Virtual Device◦ How Accurate Is the GPS Location?◦ Improving the User Experience When Using GPS Location◦ Displaying Google Maps◦ Dealing with Inaccurate Location Data◦ Storing GPS Data◦ Inserting, Updating, and Deleting Data◦ Updating the Model◦ Using the Database in Your Application◦ Displaying GPS Data◦ Working with List Activities◦ Displaying GPS Data in Google Maps
8. Inviting Friends for a Ride: Social Network Integration
- Refactoring Your Code◦ Integrating Photos into an Android Application◦ Taking a Photograph◦ Checking Whether You Can Take a Photograph◦ Displaying a Photograph in Your Application◦ Getting Results from Activities
- Sharing Content with Friends
- Displaying a Chooser◦ Sharing Text and Photos
9. Tuning Your Bike: Optimizing Performance, Memory, and Power
- Refactoring Your Code◦ Running Your Application as a Service◦ Handling Orientation Changes◦ Creating a Service◦ Improving Battery Life◦ Determining Power Usage◦ Reacting to Power Levels◦ Checking the Battery Regularly◦ Speeding Up Databases◦ Speeding Up Databases with Indexes◦ Speeding Up Databases with Asynchronous Tasks
10. Taking Off the Training Wheels: Testing Your Application
- Testing with JUnit◦ Creating a New Test Application◦ Increasing Test Coverage◦ Speeding Up Your Tests◦ Making Testing Easier by Refactoring◦ Testing with Android JUnit Extensions◦ Testing Android Activities◦ Creating a Mock Application◦ Testing an Activity Lifecycle◦ Testing an Activity Further◦ Testing by Interacting with the UI◦ Testing Services◦ Using Monkey Testing◦ Running Tests Automatically◦ Running Tests from the Command Line◦ Installing Jenkins◦ Using Version Control with Git◦ Overview of Git Bash Commands◦ Using Jenkins◦ Testing on a Wide Range of Devices
11. Touring France: Optimizing for Various Devices and Countries
- Refactoring Your Code◦ Going International◦ Supporting Various Languages◦ Starting with a Rough Machine Translation◦ Improving the Translation with Help from Users◦ Adding More Languages◦ Accommodating Various Dialects◦ Adding Language Region Codes◦ Dealing with Word Variations: Route, Path, Trail, and Track◦ Handling Various Language Formats◦ Supporting Right-to-Left layouts◦ Dealing with Variations in Dates, Numbers, and Currencies◦ Enabling Backward Compatibility◦ Using the Android Support Library◦ Android Version Checking◦ Building for Various Screen Sizes◦ Using Fragments
12. Selling Your Bike: Using Google Play and the Amazon Appstore
- Building Your Media Strategy◦ Using Google Play◦ Implementing Google Licensing◦ Employing Advertising in Your Application◦ Using the Amazon Appstore
Suscribirse a:
Entradas (Atom)