Показаны сообщения с ярлыком Разработка приложений для ОС Android. Показать все сообщения
Показаны сообщения с ярлыком Разработка приложений для ОС Android. Показать все сообщения

Разработка приложений для ОС Android

37. Разработка приложений для ОС Android. Публикация приложения в Google Play

1) Зарегистрироваться на https://play.google.com/apps/publish/
2) В консоли нажимаем Добавить приложение
3) Добавляем данные для Google Play
4) Добавляем английский и русский варианты перевода
5) Делаем скриншоты через DDMS (кнопка Screen Capture)
6) Добавляем значок приложения 512x512 в формате PNG или JPEG
7) Отметить чекбокс "Без политики конфиденциальности"
8) Для того чтобы продавать приложение необходимо иметь аккаунт в Google Checkout
9) Просмотреть страницу приложения в Google Play можно по адресу https://play.google.com/store/apps/details?id=com.your.package.name

36. Разработка приложений для ОС Android. Создание APK файла

1) Убрать все логи.
2) В AndroidManifest.xml на вкладке Application поставить Debuggable в значение false
3) В AndroidManifest.xml на вкладке Manifest поставить версию:
  • Vesrion code - порядковое изменение (целое число)
  • Version name - то что обычно используется
4) Также в AndroidManifest.xml можно изменить:

    <uses-sdk
        android:minSdkVersion="5"
        android:targetSdkVersion="10" />

35. Разработка приложений для ОС Android. Настройки для виджета

1) Создаем новый класс Config с суперклассом Activity
2) Добавляем в манифест в контейнер application

        <activity android:name=".Config">
            <intent-filter >
                <action android:name="android.appwidget.action.APPWIDGET_CONFIGURE"/>
            </intent-filter>
        </activity>

34. Разработка приложений для ОС Android. Создание простого виджета

1) Добавим ImageButton и это будет виджет по нажатию на нему будет открыться сайт в браузере.
2) При создании виджетов можно использовать только FrameLayout, LinearLayout и RelativeLayout, также среди разрешенных компонентов есть только AnalogClock, Button, ImageButton, ChronometerImageView, ProgressBarTextView и ViewFlipper.

33. Разработка приложений для ОС Android. Использование карт в связке с GPS

1) Добавляем новое разрешение android.permission.ACCESS_FINE_LOCATION на использование GPS в AdroidManifest.xml

32. Разработка приложений для ОС Android. Карты Google Maps

1) Проверяем наличие нужного компонента в Android SDK Manager:


31. Разработка приложений для ОС Android. Просмотр списка контактов

Content providers - используются для передачи информации из одного приложения в другое.

1) Добавляем User Permission типа android.permission.READ_CONTACTS
2) В Main.java файле:

        Cursor people = getContentResolver().query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null);
        while (people.moveToNext()) {
            int index = people.getColumnIndex(PhoneLookup.DISPLAY_NAME);
            String name = people.getString(index);
            Log.d("ME", name);
        }

 

30. Разработка приложений для ОС Android. Подключение к сети Интернет

29. Разработка приложений для ОС Android. Использование SQLiteDatabase

1) Добавим код:

        SQLiteDatabase db = openOrCreateDatabase("MyDB", MODE_PRIVATE, null);
        db.execSQL("CREATE TABLE IF NOT EXISTS MyTable(Name VARCHAR, Number Int);");
        db.execSQL("INSERT INTO MyTable VALUES('Abbas', 22);");
        db.close();

2) В DDMS зайдем в FileExplorer и перейдем в data/data/com.example.sqlite/databases и обнаружим там MyDB
3) Получать данные можно следующим образом:

        SQLiteDatabase db = openOrCreateDatabase("MyDB", MODE_PRIVATE, null);
        // db.execSQL("CREATE TABLE IF NOT EXISTS MyTable(Name VARCHAR, Number Int);");
        // db.execSQL("INSERT INTO MyTable VALUES('Abbas', 22);");
        
        Cursor c = db.rawQuery("SELECT * FROM MyTable", null);
        c.moveToFirst();
        Log.d("ME", c.getString(c.getColumnIndex("Name")));
        
        db.close();

28. Разработка приложений для ОС Android. Использование опций

1) Добавляем кнопку Button
2) Создаем новый класс Preferences производный от PreferenceActivity

Как и любое другое activity добавляем его в AndroidManifest.xml

<activity android:name="Preferences"></activity>

27. Разработка приложений для ОС Android. SharedPreferences

1) Добавляем EditText
2) В Main.java добавляем код:

package com.example.data;

import android.os.Bundle;
import android.app.Activity;
import android.content.SharedPreferences;
import android.view.Menu;
import android.widget.EditText;

public class Main extends Activity {
    
    private EditText edit1;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        edit1 = (EditText) findViewById(R.id.editText1);
        SharedPreferences save = getSharedPreferences("SAVE", 0);
        edit1.setText(save.getString("text", ""));
    }
    
    @Override
    protected void onStop() {
        // TODO Auto-generated method stub
        super.onStop();
        SharedPreferences save = getSharedPreferences("SAVE", 0);
        SharedPreferences.Editor editor = save.edit();
        editor.putString("text", edit1.getText().toString());
        editor.commit();
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

}
 

26. Разработка приложений для ОС Android. Использование камеры

1) Добавим кнопку и ImageView на наш экран.
2) В Main.java добавить код:

public class Main extends Activity {
    ImageView image1;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);  
        Button but1 = (Button) findViewById(R.id.button1);
        image1 = (ImageView) findViewById(R.id.imageView1);
        but1.setOnClickListener(new OnClickListener() {
            
            @Override
            public void onClick(View arg0) {
                // TODO Auto-generated method stub
                Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
                startActivityForResult(intent, 0);
            }
        });
    }
    
    // этот метод будет использовать полученную по камере картинку и применять ее как содержимое ImageView
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        // TODO Auto-generated method stub
        super.onActivityResult(requestCode, resultCode, data);
        Bitmap bit1 = (Bitmap) data.getExtras().get("data");
        image1.setImageBitmap(bit1);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

}

3) Добавить в AndroidManifest.xml на вкладке Permissions соответствующее разрешение. 

25. Разработка приложений для ОС Android. Использование видео файлов

Добавим VideoView и растянем его на весь экран.
В код добавляем:

        VideoView vid1 = (VideoView) findViewById(R.id.videoView1);
        vid1.setVideoPath("/sdcard/1.mp4");
        // добавляем стандартные кнопки управления
        vid1.setMediaController(new MediaController(this));
        vid1.start();
        vid1.requestFocus(); // запрашиваем фокус для него

24. Разработка приложений для ОС Android. Использование аудио файлов

1) Создать папку /res/raw
2) Поместить в эту папку звуковой файл.
3) Создать кнопку.
4) В Main.java добавить код:

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        Button but1 = (Button) findViewById(R.id.button1);
        but1.setOnClickListener(new OnClickListener() {
            
            @Override
            public void onClick(View arg0) {
                // TODO Auto-generated method stub
                MediaPlayer mp1 = MediaPlayer.create(Main.this, R.raw.chimes);
                mp1.start();
            }
        });
    }

23. Разработка приложений для ОС Android. Уведомления

1) Добавляем в res/layout/main.xml кнопку.
2) В Main.java добавляем код:

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        Button but1 = (Button) findViewById(R.id.button1);
        but1.setOnClickListener(new OnClickListener() {
            
            @Override
            public void onClick(View arg0) {
                // TODO Auto-generated method stub
                // будем использовать системный сервис для отправки notification-сообщений
                NotificationManager not1 = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
                Notification notification = new Notification(
                        android.R.drawable.stat_notify_more // картинка для статусной панели по умолчанию из android
                        , "new notification!"
                        , System.currentTimeMillis() // чтобы отображать сообщение сразу же по нажатию
                        );
                Context context = Main.this;
                CharSequence tit1 = "title"; // заглавие текста
                CharSequence det1 = "details"; // содержимое
                Intent intent = new Intent(context, Main.class);
                PendingIntent pen1 = PendingIntent.getActivity(context, 0, intent, 0);
                notification.setLatestEventInfo(context, tit1, det1, pen1);
                not1.notify(0, notification); // вывод сообщения
            }
        });
    }

22. Разработка приложений для ОС Android. Собственные диалоговые окна Dialog

1) Создадим новый XML файл dialog.xml типа Layout.
2) Добавим ImageView и TextView. Поставим HorizontalOrientation. Поставим для ImageView свойство Padding в 20dp. Изменим размер текста для TextView (свойство TextSize) в 20sp, и добавим поля Margins: Top = 10dp, и Left = 10dp.
3) В res/layout/main.xml добавим кнопку.
4) В Main.java добавляем код:

        Button but3 = (Button) findViewById(R.id.button3);
        but3.setOnClickListener(new OnClickListener() {
            
            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                Dialog dia1 = new Dialog(Main.this); 
                dia1.setContentView(R.layout.dialog);
                dia1.setTitle("This is our dialog");
                dia1.show();
            }
        });

21. Разработка приложений для ОС Android. Окна с индикаторами загрузки или ожидания

1) Добавим кнопку в res/layout/main.xml
2) Добавим код в Main.java

        Button but2 = (Button) findViewById(R.id.button2);
        but2.setOnClickListener(new OnClickListener() {
            
            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                ProgressDialog prog1 = new ProgressDialog(Main.this);
                prog1.setProgressStyle(ProgressDialog.STYLE_SPINNER);
                prog1.setMessage("wait please");
                prog1.setIndeterminate(true); // выдать значек ожидания
                prog1.setCancelable(true);
                prog1.show();
            }
        });

20. Разработка приложений для ОС Android. Предупреждающие окна AlertDialog

1) Добавим кнопку в res/layout/main.xml
2) Добавим код в Main.java

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        Button but1 = (Button) findViewById(R.id.button1);
        but1.setOnClickListener(new OnClickListener() {
            
            @Override
            public void onClick(View arg0) {
                // TODO Auto-generated method stub
                AlertDialog.Builder bui1 = new AlertDialog.Builder(Main.this);
                bui1.setMessage("Do you want to quit?");
                bui1.setCancelable(false); // запрет возвращаться
                
                bui1.setPositiveButton("Yes", new DialogInterface.OnClickListener(  ) {
                    
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        // TODO Auto-generated method stub
                        Main.this.finish();
                    }
                });
                bui1.setNegativeButton("No", new DialogInterface.OnClickListener() {
                    
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        // TODO Auto-generated method stub
                        dialog.cancel();
                    }
                });
                AlertDialog ale1 = bui1.create();
                ale1.show();
            }
        });
    }

19. Разработка приложений для ОС Android. Кнопка ImageButton

ToggleButton представляет собой двухпозиционный тумблер вкл./выкл.

RadioButton позволяет выбирать один из нескольких вариантов.

CheckBox позволяет выбирать несколько вариантов.

ImageButton позволяет использовать картинку.