Поиск по этому блогу

Показаны сообщения с ярлыком Android. Показать все сообщения
Показаны сообщения с ярлыком Android. Показать все сообщения

пятница, 11 июля 2014 г.

Mac OS X Как открыть Android SDK manager

Для того, чтобы в Eclipse добавить в панель инструментов кнопки Android SDK и AVD необходимо нажать в меню Window > Customize perspective, после чего выбрать вкладку Command Groups Availability. Здесь необходимо поставить галочку  Android SDK and AVD Manager и нажать кнопку ОК

воскресенье, 29 июня 2014 г.

NYRBY - будь в курсе!

На днях поставил себе новое приложение – NYRBY. Ребята разработчики на странице приложения (ссылка - https://play.google.com/store/apps/details?id=com.nyrby&hl=ru) пишут, что оно умное. Решил проверить, кто умнее )

Завел себе аккаунт, добавил пару друзей.

 



Так вот, нирби за один день узнало, где я живу, и начала мне показывать новости от моих соседей!



Магия одним словом )
Посмотрим, что будет дальше. 

понедельник, 7 апреля 2014 г.

Android. How to create Key Hashes for Your Facebook Application

Для подключения Facebook логина к вашему Android приложению нам понадобится прежде всего создать само приложение на сайте для разработчиков
Там созданное приложение получит APP ID. Также нам понадобится файл ключа (файл *.keystore), которым будет подписываться само Android приложение и пароль к нему. На сайте https://developers.facebook.com/ там, где создадите ваше приложение, необходимо зайти в раздел Settings, нажать там кнопку Add Platform и добавить Android. Там необходимо будет ввести значение пакеджа вашего приложения и класса активити, из которого будет запускаться логин через Facebook. Так же там будет еще одно интересное поле - Key Hashes. Это поле для ввода хэш-ключей которые будут связывать ваше Android-приложение c Facebook. Далее я расскажу как сгенерировать эти ключи.


понедельник, 17 февраля 2014 г.

Android. Как закрыть приложение по кнопке назад





В классе LoginActivity.java


@Override
public void onBackPressed() {
  Intent intent = new Intent(LoginActivity.this, SplashScreenActivity.class);
  intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
  intent.putExtra("EXIT", true);
  startActivity(intent);
  finish();
}

В классе SplashScreenActivity.java


@Override
protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  ...  
  if( getIntent().getBooleanExtra("EXIT", false)){
    finish();
    return; // add this to prevent from doing unnecessary stuffs
  }
  ...
 
}

Мои приложения в Google Play Store

суббота, 8 февраля 2014 г.

Android. Как сделать приложение с обоями



Для создания приложения с обоями нам понадобятся прежде всего картинки. Заранее подготовленные картинки назовем и поместим в папки. В каждую папку будут помещены картинки для экранов с разным разрешением - от маленьких до самых больших.


Android. Подключаем библиотеку Support Library

Support Library – библиотека, позволяющая устройствам со старыми версиями Android использовать функции из новых версий. Но что делать, если мы хотим использовать в своем приложении элементы, которые поддерживаются только в новых версиях Android, то тогда нам необходимо использовать эту библиотеку. Библиотека содержит классы, которые являются аналогами классов из новых версий Android.


Для того чтобы загрузить библиотеку необходимо запустить Android SDK Manager


Библиотека будет загружена в папку [Android SDK]\extras\android\support\v4

Я работаю над проектами в Intellij Idea поэтому расскажу как подключить библиотеку в ней. Для того, чтобы добавить библиотеку в проект в корне проекта на одном уровне с папками src и res необходимо создать папку libs, если ее еще не существует. В папку libs необходимо скопировать библиотеку android-support-v4.jar. Для того, чтобы подключить библиотеку Support Library к проекту нужно нажать правой кнопкой по файлу android-support-v4.jar и в меню выбираем "Add as library...".


После добавления файла android-support-v4.jar как библиотеки, становятся доступными java классы из этой библиотеки.


Теперь мы можем импортировать в проект необходимые нам классы из библиотеки android-support-v4
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;

И использовать эти классы в проекте.
public class MainActivity extends FragmentActivity {
 
    ViewPager pager;
    PagerAdapter pagerAdapter;
 
...
 
}

Также вы можете почитать инструкцию с официального сайта. 

В последнем моем приложении с обоями я подключал эту библиотеку


Get it on Google Play


четверг, 6 февраля 2014 г.

Android. Flexible RelativeLayout with ViewPager and Button

В том случае, когда нужно чтобы кнопка находилась внизу под компонентом и все это прекрасно растягивалось и не наезжало друг на друга при изменениях размеров экрана я использую следующую верстку. Берем RelativeLayout в качестве корневого в активити. Добавляем в него компонент, который будет растягиваться и ему задаем свойства
android:layout_above="@+id/setWlpBtn" //компонент будет над кнопкой
android:layout_marginBottom="10dip" //от компонента будет отступ в 10px

Для кнопки, которая будет под компонентом указываем следующее свойство
android:layout_alignParentBottom="true" //кнопка будет внизу активити

Layout полностью
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
 
    <android.support.v4.view.ViewPager
            android:id="@+id/viewPager"
            android:layout_height="wrap_content"
            android:layout_width="wrap_content"
            android:layout_above="@+id/setWlpBtn"
            android:layout_marginBottom="10dip">
    </android.support.v4.view.ViewPager>
 
    <Button
            android:id="@+id/setWlpBtn"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="@string/set_wlp_button_title"
            android:layout_alignParentBottom="true"
            android:layout_marginBottom="50dp"
            />
 
</RelativeLayout>


В последнем моем приложении с обоями я использовал подобную разметку


Get it on Google Play


воскресенье, 2 февраля 2014 г.

Android. Добавляем splash-screen к нашему приложению

Создание экрана загрузки (Splash Screen) для Android-приложения при помощи таймера. 


1. Для создания экрана загрузки (Splash Screen Activity) создадим класс SplashScreenActivity.java

2. Откроем наш AndroidManifest.xml файл и убедимся, что splash screen activity является стартовой активити проекта.

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="pro.newapp.MarkXWallpapers"
          android:versionCode="1"
          android:versionName="1.0">
    <uses-sdk android:minSdkVersion="8"/>
    <application android:label="@string/app_name" 
        android:icon="@drawable/icon_markx">
        <activity android:name="MainActivity"
                  android:label="@string/app_name"
                  android:configChanges="orientation"
                  android:screenOrientation="portrait">
        </activity>
        <activity android:name=".SplashScreenActivity"
                  android:configChanges="orientation"
                  android:screenOrientation="portrait">
        <intent-filter>
            <action android:name="android.intent.action.MAIN"/>
            <category android:name="android.intent.category.LAUNCHER"/>
        </intent-filter>
        </activity>
    </application>
</manifest>

3. Создадим layout-файл для заставки (для splash screen) в папке res/layout. Я назвал этот файл splash_screen.xml. В мое заставке содержится изображение из приложения и логотип нашей компании, а также адрес сайта.

<?xml version="1.0" encoding="utf-8"?>
 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:orientation="vertical"
              android:layout_width="match_parent"
              android:layout_height="match_parent">
 
    <ImageView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:src="@drawable/new_app_logo"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="50dp"/>
 
    <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/markx_logo"
            android:layout_centerInParent="true"
            android:layout_weight="1"/>
 
    <TextView android:layout_width="match_parent"
              android:layout_height="wrap_content"
              android:gravity="center_horizontal"
              android:text="@string/new_app_site"
              android:textSize="22dp"
              android:layout_marginBottom="20dp"
              android:height="50dp"/>
 
</LinearLayout>

4. Добавим следующий код в класс SplashScreenActivity.java. В этом фрагменте кода используется handler, который будет ждать в течении заданного времени и по истечению таймера будет запускаться главная активити проекта.

public class SplashScreenActivity extends Activity {
 
    private static int SPLASH_SCREEN_TIMEOUT = 2500;
 
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
 
        setContentView(R.layout.splash_screen);
 
        new Handler().postDelayed(new Runnable() {
            @Override
            public void run() {
                Intent intent = new Intent(SplashScreenActivity.this, MainActivity.class);
                startActivity(intent);
                finish();
            }
        }, SPLASH_SCREEN_TIMEOUT);
    }
 
    @Override
    public void onConfigurationChanged(Configuration newConfig) {
        super.onConfigurationChanged(newConfig);
        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
    }
 
}

Как это работает в настоящем приложении вы можете посмотреть тут



суббота, 1 февраля 2014 г.

Android. Как заблокировать автоповорот экрана

Перехват события разворота экрана


Для того, чтобы самому перехватывать событие, которое будет происходить при автоповороте экрана устройства необходимо в файле AndroidManifest.xml в соответствующей активити прописать следующий атрибут

android:configChanges="orientation">

Описание активити будет выглядеть так

<activity android:name="MainActivity"
          android:label="@string/app_name"
          android:configChanges="orientation">
</activity>

Теперь необходимо в файле java класса соответствующей активити переопределить метод

onConfigurationChanged

и в этом методе задать какую ориентацию экрана мы хотим

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

Метод будет выглядеть вот так

@Override
public void onConfigurationChanged(Configuration newConfig) {
  super.onConfigurationChanged(newConfig);
  setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}

Задаем ориентацию экрана при запуске приложения


Если вы хотите, чтобы активити всегда была в определенной ориентации, то необходимо в файле AndroidManifest.xml для соответствующей активити прописать атрибут

android:screenOrientation="portrait">

Вот так будет выглядеть описание активити

<activity android:name="MainActivity"
          android:label="@string/app_name"
          android:configChanges="orientation"
          android:screenOrientation="portrait">
</activity>

Как это работает в настоящем приложении вы можете посмотреть тут



среда, 25 декабря 2013 г.

Android. Получаем Google Account пользователя

Необходимо получить данные об аккаунте (или аккаунтах) пользователя Android устройства. Для этого необходимо использовать класс AccountManager.


1. Добавим необходимое разрешение в файл AndroidManifest.xml

<?xml version='1.0' encoding='utf-8'?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
  ..
  <uses-permission android:name="android.permission.GET_ACCOUNTS" />
</manifest>

2. Получаем аккаунты всех пользователей

AccountManager accountManager = (AccountManager)getSystemService(ACCOUNT_SERVICE);
Account[] accounts = manager.getAccounts();

3. Получаем только аккаунты, которые email

Pattern emailPattern = Patterns.EMAIL_ADDRESS;
AccountManager accountManager = (AccountManager)getSystemService(ACCOUNT_SERVICE);
Account accounts[] = accountManager.getAccounts();
for (Account account : accounts) {
  if (emailPattern.matcher(account.name).matches()) {
    String accountName = account.name;
    ...
  }
}

4. Получаем только гугловые аккаунты

AccountManager accountManager = (AccountManager) getSystemService(ACCOUNT_SERVICE);
Account accounts[] = accountManager.getAccountsByType("com.google");
Account account;
if (accounts.length > 0) {
  account = accounts[0];
} else {
  account = null;
}

воскресенье, 22 декабря 2013 г.

Ресурсы для изучения разработки под Android


Указаны в порядке полезности для меня при изучении.

1. Startandroid - полезные уроки от самого начала (для тех кто никогда не писал для Android)

http://startandroid.ru/ru/uroki/vse-uroki-spiskom.html

2. DevColibri - очень много полезных рецептов

 http://devcolibri.com/category/android/

3. Developer.Android - официальное руководство от Google

 http://developer.android.com/training/basics/firstapp/index.html

суббота, 2 ноября 2013 г.

Какие устройства получат Android 4.4

Android 4.4


31 октября 2013 года в Сан-Франциско корпорация Google представила свою новую мобильную операционную систему — долгожданную Android 4.4 KitKat. Также Google анонсировала смартфон Nexus 5 сделанный совместно с компанией LG. Новый Nexus 5 уже стал доступным для покупки через магазин Google Play. Теперь всех пользователей Android девайсов интересует один вопрос  - какие еще устройства получат обновление до Android 4.4. 





суббота, 12 октября 2013 г.

Как добавить рекламу AdMob в Android PhoneGap приложение

PhoneGap это инструмент, позволяющий разрабатывать приложения на JavaScript и конвертировать их в нативные приложения мобильных платформ (такие как Android и iOS). AdMob это платформа для подключения рекламных баннеров в ваше приложения за просмотры и клики по которым можно получать деньги. Здесь я расскажу, как подключить к Android PhoneGap приложению рекламу от Google AdMob. Для этого понадобится сделать следующее

1. Зарегистрироваться в AdMob и получить Publisher ID для подключения рекламного баннера.
2. Внести изменения в Android проект для отображения рекламного баннера