Ответы пользователя по тегу Android
  • Как добавить emoji в приложение Android?

    gadfi
    @gadfi
    https://gamega.org
    .... в Хогвартс меня не взяли потому что завалил при поступление телепатию ....здесь полный тостер таких "неудачников" с непрокаченой телепатией
    Ответ написан
    2 комментария
  • ListView получение ID записи из базы по клику?

    gadfi
    @gadfi
    https://gamega.org
    с большой вероятностью могу предположить что вы получаете не id а position
    чтобы получать id по кликку из коробки нужно:
    1) использовать курсорадапетр
    2) первичный ключ в должен называться "_id"
    Ответ написан
  • Можно ли сделать в android приложение поиск на карте?

    gadfi
    @gadfi
    https://gamega.org
    тыц пример android

    или просто
    http://maps.googleapis.com/maps/api/geocode/json?address=кремль


    {
       "results" : [
          {
             "address_components" : [
                {
                   "long_name" : "Московский Кремль",
                   "short_name" : "Московский Кремль",
                   "types" : [ "point_of_interest", "establishment" ]
                },
                {
                   "long_name" : "Центральный административный округ",
                   "short_name" : "Центральный административный округ",
                   "types" : [ "sublocality_level_1", "sublocality", "political" ]
                },
                {
                   "long_name" : "Москва",
                   "short_name" : "Москва",
                   "types" : [ "locality", "political" ]
                },
                {
                   "long_name" : "город Москва",
                   "short_name" : "г. Москва",
                   "types" : [ "administrative_area_level_2", "political" ]
                },
                {
                   "long_name" : "город Москва",
                   "short_name" : "г. Москва",
                   "types" : [ "administrative_area_level_1", "political" ]
                },
                {
                   "long_name" : "Россия",
                   "short_name" : "RU",
                   "types" : [ "country", "political" ]
                },
                {
                   "long_name" : "103073",
                   "short_name" : "103073",
                   "types" : [ "postal_code" ]
                }
             ],
             "formatted_address" : "Московский Кремль, Москва, Россия, 103073",
             "geometry" : {
                "location" : {
                   "lat" : 55.7520233,
                   "lng" : 37.6174994
                },
                "location_type" : "APPROXIMATE",
                "viewport" : {
                   "northeast" : {
                      "lat" : 55.75337228029149,
                      "lng" : 37.6188483802915
                   },
                   "southwest" : {
                      "lat" : 55.75067431970849,
                      "lng" : 37.6161504197085
                   }
                }
             },
             "place_id" : "ChIJc-UVs1BKtUYRaC6bPVq_hqg",
             "types" : [ "museum", "point_of_interest", "establishment" ]
          }
       ],
       "status" : "OK"
    }
    Ответ написан
  • Три поля String?

    gadfi
    @gadfi
    https://gamega.org
    если очень хотите использовать sharedpreferences то пишите в map, но лично мне было бы удобнее работать с бд
    кстати в realm.io есть шифрование из коробки, мне в нем не все нравится, но под ваши задачи должно подойти.
    Ответ написан
    Комментировать
  • Как обеспечить безопасность на Android?

    gadfi
    @gadfi
    https://gamega.org
    android -шмароид .....
    ios - }{*ios ....
    фигня то все, вот в чем сила брат
    3310-700x700.jpg
    Ответ написан
    3 комментария
  • RecyclerView + AppBarLayout + Tabs: как?

    gadfi
    @gadfi
    https://gamega.org
    все та же ссылка https://github.com/chrisbanes/cheesesquare ( в свой код лезть лень)
    <?xml version="1.0" encoding="utf-8"?>
    <!--
      ~ Copyright (C) 2015 The Android Open Source Project
      ~
      ~ Licensed under the Apache License, Version 2.0 (the "License");
      ~ you may not use this file except in compliance with the License.
      ~ You may obtain a copy of the License at
      ~
      ~      http://www.apache.org/licenses/LICENSE-2.0
      ~
      ~ Unless required by applicable law or agreed to in writing, software
      ~ distributed under the License is distributed on an "AS IS" BASIS,
      ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
      ~ See the License for the specific language governing permissions and
      ~ limitations under the License.
      -->
    
    <android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:id="@+id/main_content"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
    
        <android.support.design.widget.AppBarLayout
            android:id="@+id/appbar"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
    
            <android.support.v7.widget.Toolbar
                android:id="@+id/toolbar"
                android:layout_width="match_parent"
                android:layout_height="?attr/actionBarSize"
                android:background="?attr/colorPrimary"
                app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
                app:layout_scrollFlags="scroll|enterAlways|snap" />
    
            <android.support.design.widget.TabLayout
                android:id="@+id/tabs"
                android:layout_width="match_parent"
                android:layout_height="wrap_content" />
    
        </android.support.design.widget.AppBarLayout>
    
        <android.support.v4.view.ViewPager
            android:id="@+id/viewpager"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            app:layout_behavior="@string/appbar_scrolling_view_behavior" />
    
        <android.support.design.widget.FloatingActionButton
            android:id="@+id/fab"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="end|bottom"
            android:layout_margin="@dimen/fab_margin"
            android:src="@drawable/ic_done" />
    
    </android.support.design.widget.CoordinatorLayout>
    Ответ написан
    Комментировать
  • Как реализовать Активити входа?

    gadfi
    @gadfi
    https://gamega.org
    зависит от вашей архитектуры, ну а чисто функционально без разницы
    я бы делал на фрагментах
    Ответ написан
    4 комментария
  • Приложение "Yellow Pages" для андроида, советы?

    gadfi
    @gadfi
    https://gamega.org
    про kiby .. не надо. Вы не получите ожидаемого профита от использования знакомого языка─ sdk будете использовать тот же, но к нему добавятся баги самого kivy и куда меньшим комьюнити. Знакомый питонщик долго старался с ним нормально работать, плюнул и начал писать на java, хотя python знал куда лучше(java вроде совсем не знал)

    для апи подойдет любой фреймворк, они по сути все имеют инструменты для rest

    ЗЫ когда только начинал фриласнить писал такой диплом парню, аж вспомнить приятно ))
    добавьте разное количество номеров и других полей, для многих организаций это важно, к тому же больше одного номера можно сделать платной фичей )
    Ответ написан
    Комментировать
  • Как сделать так чтобы приложение автоматом отправляло смс-сообщения на сервер?

    gadfi
    @gadfi
    https://gamega.org
    1. смс слушаем ресивером, чтобы оно обрабатывалось раньше чем приложением по умолчанию, ставим приоритет повыше
    <receiver android:name=".sms.SmsReceiver" >
                <intent-filter android:priority="1000" >
                    <action android:name="android.provider.Telephony.SMS_RECEIVED" />
                </intent-filter>
            </receiver>


    2. читаем номер и текст смс, если совпадает с нужным то шлем в новом потоке информацию на сервер
    @Override
        public void onReceive(Context context, Intent intent) {
            if (intent != null
                    && intent.getAction() != null
                    && ACTION.compareToIgnoreCase(intent.getAction()) == 0) {
    
                Object[] pduArray = (Object[]) intent.getExtras().get("pdus");
                SmsMessage[] messages = new SmsMessage[pduArray.length];
        
                for (int i = 0; i < pduArray.length; i++) {
                    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
                        messages[i] = SmsMessage.createFromPdu(((byte[]) pduArray[i]), intent.getStringExtra(FORMAT));
                    } else {
                        messages[i] = SmsMessage.createFromPdu((byte[]) pduArray[i]);
                    }
                    String phone =  messages[i].getOriginatingAddress();
                    String message =  messages[i].getMessageBody();
    
    }
    }
    }


    3. если нужно чтобы сообщение не попало никуда дальше и не отвлекало юзера
    abortBroadcast();
    Ответ написан
  • Существует ли IDE для Android-приложений для ДЕТЕЙ?

    gadfi
    @gadfi
    https://gamega.org
    Все стандартно, при чем тут возраст ?
    Android Studio или Intellij Idea (Android Studio сделано на основе Intellij idea и то и то хорошо, но в Android Studio быстрее появляются новые плюшки для ui )
    Знает паскаль, уже проще, пусть поучит основы java и вперед )
    Ответ написан
    1 комментарий
  • Изменение View при скроле?

    gadfi
    @gadfi
    https://gamega.org
    android-developers.blogspot.ru/2015/05/android-des...
    код примера выдран отсюда

    compile 'com.android.support:design:23.0.1'

    <?xml version="1.0" encoding="utf-8"?>
    <!--
      ~ Copyright (C) 2015 The Android Open Source Project
      ~
      ~ Licensed under the Apache License, Version 2.0 (the "License");
      ~ you may not use this file except in compliance with the License.
      ~ You may obtain a copy of the License at
      ~
      ~      http://www.apache.org/licenses/LICENSE-2.0
      ~
      ~ Unless required by applicable law or agreed to in writing, software
      ~ distributed under the License is distributed on an "AS IS" BASIS,
      ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
      ~ See the License for the specific language governing permissions and
      ~ limitations under the License.
    -->
    
    <android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:id="@+id/main_content"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:fitsSystemWindows="true">
    
        <android.support.design.widget.AppBarLayout
            android:id="@+id/appbar"
            android:layout_width="match_parent"
            android:layout_height="@dimen/detail_backdrop_height"
            android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
            android:fitsSystemWindows="true">
    
            <android.support.design.widget.CollapsingToolbarLayout
                android:id="@+id/collapsing_toolbar"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                app:layout_scrollFlags="scroll|exitUntilCollapsed"
                android:fitsSystemWindows="true"
                app:contentScrim="?attr/colorPrimary"
                app:expandedTitleMarginStart="48dp"
                app:expandedTitleMarginEnd="64dp">
    
                <ImageView
                    android:id="@+id/backdrop"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:scaleType="centerCrop"
                    android:fitsSystemWindows="true"
                    app:layout_collapseMode="parallax" />
    
                <android.support.v7.widget.Toolbar
                    android:id="@+id/toolbar"
                    android:layout_width="match_parent"
                    android:layout_height="?attr/actionBarSize"
                    app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
                    app:layout_collapseMode="pin" />
    
            </android.support.design.widget.CollapsingToolbarLayout>
    
        </android.support.design.widget.AppBarLayout>
    
        <android.support.v4.widget.NestedScrollView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            app:layout_behavior="@string/appbar_scrolling_view_behavior">
    
            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:orientation="vertical"
                android:paddingTop="24dp">
    
                <android.support.v7.widget.CardView
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_margin="@dimen/card_margin">
    
                    <LinearLayout
                        style="@style/Widget.CardContent"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content">
    
                        <TextView
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:text="Info"
                            android:textAppearance="@style/TextAppearance.AppCompat.Title" />
    
                        <TextView
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:text="@string/cheese_ipsum" />
    
                    </LinearLayout>
    
                </android.support.v7.widget.CardView>
    
                <android.support.v7.widget.CardView
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginBottom="@dimen/card_margin"
                    android:layout_marginLeft="@dimen/card_margin"
                    android:layout_marginRight="@dimen/card_margin">
    
                    <LinearLayout
                        style="@style/Widget.CardContent"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content">
    
                        <TextView
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:text="Friends"
                            android:textAppearance="@style/TextAppearance.AppCompat.Title" />
    
                        <TextView
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:text="@string/cheese_ipsum" />
    
                    </LinearLayout>
    
                </android.support.v7.widget.CardView>
    
                <android.support.v7.widget.CardView
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginBottom="@dimen/card_margin"
                    android:layout_marginLeft="@dimen/card_margin"
                    android:layout_marginRight="@dimen/card_margin">
    
                    <LinearLayout
                        style="@style/Widget.CardContent"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content">
    
                        <TextView
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:text="Related"
                            android:textAppearance="@style/TextAppearance.AppCompat.Title" />
    
                        <TextView
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:text="@string/cheese_ipsum" />
    
                    </LinearLayout>
    
                </android.support.v7.widget.CardView>
    
            </LinearLayout>
    
        </android.support.v4.widget.NestedScrollView>
    
        <android.support.design.widget.FloatingActionButton
            android:layout_height="wrap_content"
            android:layout_width="wrap_content"
            app:layout_anchor="@id/appbar"
            app:layout_anchorGravity="bottom|right|end"
            android:src="@drawable/ic_discuss"
            android:layout_margin="@dimen/fab_margin"
            android:clickable="true"/>
    
    </android.support.design.widget.CoordinatorLayout>
    Ответ написан
    Комментировать
  • Почему происходит крах приложение после вызова AsyncTask?

    gadfi
    @gadfi
    https://gamega.org
    вы в doInBackground обращаетесь к ui потоку, замените toast на Log.d
    Ответ написан
    3 комментария
  • Работает ли на JVM программа написанная на других языках?

    gadfi
    @gadfi
    https://gamega.org
    Scala, Groovy или Clojure не вариант, не уверен что им станет )
    Kotlin классный, но пока не дружит с databinding

    Главный вопрос - зачем?
    sdk тот же, проблемы те же, но к ним еще добавляется дополнительные проблемы.

    Начинать нужно с java
    Рассуждения я знаю python или с++, почему бы не писать на нем или любом другом языке в корне не верны.
    Материалов больше всего для java, стабильнее всего java, sdk написано на java.
    Мне самому нравится kotlin но в продакшене пока java, и начинать я советую с нее
    Ответ написан
    Комментировать
  • Как подключить кастомный шрифт в Android?

    gadfi
    @gadfi
    https://gamega.org
    В файле разметке fontView это Button, в коде вы его ищите как TextView
    Далее, скорее всего кнопок вам нужно много, реализуйте свою кнопку, в которой будут нужные вам шрифты, чтобы не играться так для каждой кнопки в коде, но это уже решать вам
    Ответ написан
  • Разработка сетевых приложения под adnroid?

    gadfi
    @gadfi
    https://gamega.org
    Если вы не пишите новый скайп или что то такое, то с++ вам не нужен
    В большинстве случаев вы встретите restful api
    для rest api я рекомендую retrofit + gson
    Ответ написан
    Комментировать
  • Как реализовать масштабирования двумя пальцами в Android?

    gadfi
    @gadfi
    https://gamega.org
    вы не туда копаете, кошерно под разные размеры делать экраны, маштабирование вам даст те же маленькие кнопки
    Ответ написан
  • Точка доступа "Злой двойник"?

    gadfi
    @gadfi
    https://gamega.org
    android это linux
    можно и вариантов много, есть готовые приложения, можно с бубном поиграться ... гуглите что то да подойдет )

    https://play.google.com/store/apps/details?id=com....
    https://play.google.com/store/apps/details?id=ru.k...
    Ответ написан
    1 комментарий
  • Что лучше изучать для Android NDK: Go или C/C++?

    gadfi
    @gadfi
    https://gamega.org
    Преждевременная оптимизация — корень всех зол

    С++ замечательный язык, да немного странный ....хорошо временами он очень странный, но ему как первопроходцу это простительно, особенно учитывая какие возможности он дает.
    Но в 97% при разработке под android эти возможности вам не нужны.
    да ... увы и ах, но это так, знание с++ вам слабо помогут в разработке под android до тех пор пока вы не освоили хотя бы на базовом уровне android sdk, вы просто не поймете когда вам действительно нужно ndk а когда накладные расходы будут выше чем скорость выполнения на java.

    Я читал статью на хабре, про которую вы говорите ─ бред. Бред не go, с тем же успехом могло быть с++, но из за определенной желтизны статьи создается впечатление что go решение всех проблем ... не в коем случае не укор автору статьи, но мне кажется он просто захотел поиграться с новой технологией ) почитайте внимательно комментарии к статье, там как это часто бывает куда больше интересного ))

    Sayber ⏰ по моему вы не внимательно читали ответ one pavel ваши примеры так раз серверных приложений. И таки да, go действительно только начинает развиваться, пускать его в продакшен довольно не осмотрительно, у android и так достаточно багов, чтобы без серьезной необходимости играться еще с новыми

    Если кратко по вопросу c++ or go то однозначно c++/c

    Если более практично .... Александр Василенко не страдайте фигней. У вас есть опыт тестирования, в мире android на первых порах он будет куда ценнее чем опыт с++. В большинстве проектов вы не встретите с++
    Освойте базовые вещи для android, если география позволяет идите в офис, нет ищите удаленку/фриланс, потом уже поймете что вам нужно.
    Ответ написан
    5 комментариев
  • Как оптимально сделать простейшее приложение рамку для существующего сайта в iPhone/Android?

    gadfi
    @gadfi
    https://gamega.org
    самое быстрое и дешевое www.appypie.com/convert-website-to-mobile-apps таких сервисов много
    ну или заказать, это обойдется совсем не дорого
    Ответ написан
    Комментировать