Все технические форумы на одном сайте Удобный поиск информации с популярных форумов в одном месте
Вопрос: Проблема libgdx и Android Studio (?)

Здравствуйте, уважаемые.

Подскажите начинающему.

Есть проект, сгенерированный libgdx в Android Studio.
Десктоп этого проекта запускается и работает нормально.
Андроид-версия запускается с ошибкой. Ошибка есть как при запуске родного эмулятора Android Studio, так и Genymotion.

Ошибка (при запуске с Genymotion)

02-24 10:42:44.428 913-928/com.kilobolt.zombiebird.android E/EGL_genymotion﹕ [getAttribValue] Bad attribute idx
02-24 10:42:44.428 913-928/com.kilobolt.zombiebird.android E/EGL_genymotion﹕ tid 928: eglGetConfigAttrib(575): error 0x3004 (EGL_BAD_ATTRIBUTE)
02-24 10:42:44.428 913-928/com.kilobolt.zombiebird.android E/EGL_genymotion﹕ [getAttribValue] Bad attribute idx
02-24 10:42:44.428 913-928/com.kilobolt.zombiebird.android E/EGL_genymotion﹕ tid 928: eglGetConfigAttrib(575): error 0x3004 (EGL_BAD_ATTRIBUTE)

Ошибка при запуске с родного эмулятора аналогична.

Есть предположение, что не хватает библиотеки (или библиотек) для работы проекта с эмулятором.
Заранее спасибо за ответы. 

Это сообщение отредактировал(а) lihusha - 24.2.2015, 19:09
Ответ:
Здравствуйте, уважаемые.

Подскажите начинающему.

Есть проект, сгенерированный libgdx в Android Studio.
Десктоп этого проекта запускается и работает нормально.
Андроид-версия запускается с ошибкой. Ошибка есть как при запуске родного эмулятора Android Studio, так и Genymotion.

Ошибка (при запуске с Genymotion)

02-24 10:42:44.428 913-928/com.kilobolt.zombiebird.android E/EGL_genymotion﹕ [getAttribValue] Bad attribute idx
02-24 10:42:44.428 913-928/com.kilobolt.zombiebird.android E/EGL_genymotion﹕ tid 928: eglGetConfigAttrib(575): error 0x3004 (EGL_BAD_ATTRIBUTE)
02-24 10:42:44.428 913-928/com.kilobolt.zombiebird.android E/EGL_genymotion﹕ [getAttribValue] Bad attribute idx
02-24 10:42:44.428 913-928/com.kilobolt.zombiebird.android E/EGL_genymotion﹕ tid 928: eglGetConfigAttrib(575): error 0x3004 (EGL_BAD_ATTRIBUTE)

Ошибка при запуске с родного эмулятора аналогична.

Есть предположение, что не хватает библиотеки (или библиотек) для работы проекта с эмулятором.
Заранее спасибо за ответы. 

Это сообщение отредактировал(а) lihusha - 24.2.2015, 19:09
Вопрос: Нет New Android Studio project при открытии

Всем добрый день. Только установил Android Studio и сразу же проблема.
По скриншотам видно, в чем проблема.
Кликните здесь для просмотра всего текста


Вместо создания нового андроид приложения
Кликните здесь для просмотра всего текста


Появляется такой экран
Кликните здесь для просмотра всего текста


Ну и структура проекта выглядит так
Кликните здесь для просмотра всего текста


Вместо
Кликните здесь для просмотра всего текста


Во время установки никаких проблем не было, sdk установлен, JAVA_HOME прописан, все sdk элементы установлены, нигде нет кириллицы. Уже и переустанавливал всё. Подскажите пожалуйста, в чем проблема?
Ответ: Cпасибо, проблема действительно кроется здесь. Но теперь появилась другая проблема:
При попытке прописать путь (а он аналогичен вашему и находится в D:\Android\android-sdk)
Появляется такая ошибка:
Кликните здесь для просмотра всего текста

Погуглил, многие ссылаются на java_home. Путь прописывал такой: C:\Program Files\Java\jdk1.8.0_45
Вопрос: Android Studio: не пойму как размещать layouts и виджеты

Начинаю знакомство с программированием android в Android Studio.
Начинаются проблемы с созданием макета.
Я понял, что группы виджетов, объеденных какой-то логикой, нужно объеденять в layout`ы и в макете просто размещать эти layout`ы относительно друг друга. Так же есть разные виды layout`ов, которые устанавливают правила размещение в нем виджетов. Вроде все понятно, но на практике ничего не получается:
1. Когда переношу любой layout на макет, он вообще отказывается изменять свои размеры, так как я хочу. При любом растягивании мышкой он просто начинает растягиваться либо на весь либо на пол экрана, занимая все пространство. Не получается разместить его, где я хочу и придать размеров, которых я хочу.(вроде фиксится ручным прописыванием в XML файле, но как это можно делать мышкой ??)
2. С размещением виджетов(например, кнопок) внутри layout`а практически идентичные проблемы. Не могу разместить его там, где я хочу(просто не перетаскивается) и при растягивании размер не меняет. В некоторых видах layout`ов, типа relative размер можно изменять, но там с размещением начинаются проблемы, он размещается относительно других, в итоге точного размещение не происходит.
Дайте совет, где я могу допускать ошибки. Не получается кастомизировать макеты, так как я хочу.
Ответ:
но как это можно делать мышкой ??
не очень-то и надо делать мышкой. ну зачем например задавать какую-то свою высоту для кнопки или ширину?
если у нее layout_width=wrap_content и layout_height=wrap_content то она сама примет нужный размер чтобы текст умещался и тыкать было удобно, а ты хочешь испортить?
судя по всему просто не умеешь пользоваться лейаут-менеджерами этими. советую сперва освоить LinearLayout я в начале все только на них и делал.
например, надо сделать типо браузер - вверху адресная строка по ширине экрана, справа кнопка небольшая, а все остальное (по ширине и высоте) занимает WebView.
я тупо брал LinearLayout как основной, ориентация вертикальная, и в нем две дочки - первое еще один LinearLayout но уже с горизонтальной ориентацией и width=fill_parent а height=wrap_content, и второе - WebView у которого и width и height стоят fill_parent.
затем в том LinearLayout, который вверху, я размещал EditText с width=fill_parent (а height=wrap_content - не надо его трогать зря!), и Button с width=wrap_content и height=wrap_content.
вот и вся структура, еще вроде weight надо ставить 1 у тех у кого fill_parent, ну и для "последнего штриха" еще паддинги-маргины можно настроить, хотя с ними осторожней, их наличие мешает тыкать, лучше чтобы паддинги были в самих контролах а не в layout-менеджерах, а в целом и без них нормально) и заметь ни одного фиксированного размера - на андроид они мало где нужны, вместо них принято юзать менеджеры
кстати ты бы тоже лучше конкретные примеры проблем привел, чем ныть
Вопрос: Android Studio - строковые ресурсы

Всем доброго времени суток)
Вопрос по строковым ресурсам. Есть поле textView. Если просто задать для него "текст", то это будет хардкодингом. Надо создать строковый ресурс со значением "текст", а потом уже для textView задать значение @string/primer. Так? А обязательно ли это? Если у меня текст статичный, и приложение из порядка 100 страниц, на каждой из которых минимум по 4 textView из одного слова, мне надо все это описывать в строковых ресурсах? Или же я могу просто написать текст в textView и все?
Ответ:
Сообщение от Tilesto
я могу просто написать текст в textView
конечно можешь, ООП это не любят но работать будет точно также
Вопрос: Задача по API VK в Android Studio

Здравствуйте все, я пытаюсь решить такую задачу, может кто подскажет: нужно получить текст вики-страницы Вконтакте средствами java (применительно к андроид студии с подключенным vk sdk). Нигде не нашел реализации чего-то подобного в коде, знаю, что есть класс VKApiWikiPage и похоже на то, что в нем есть нужные методы (может быть, тот же parse()), но конкретно разобраться не получается, т. к. в java я новичок. Спасибо за идеи.
Ответ:
Почему то пытался ввести Ваши данные в пробном запросе (ниже от метода, мне все равно ошибка 100 выскочила, проверьте еще раз.)
Так же хочу Вам посоветовать:
1. Напишите в специальной группе в вк, по свешенной разработке ()
2. Если совсем все плохо - пишите в поддержку, но там очень долго отвечают.
Спасибо за группу, как раз искал что-то подобное. А с методом я наконец-таки разобрался, теперь он возвращает текст и успешно выводит его в textView. Проблема была в owner_id - как выяснилось, это не id страницы создателя wiki page, а то, что написано в id самой страницы до символа _. Вот как теперь выглядит весь класс
Кликните здесь для просмотра всего текста
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
public class MainActivity extends AppCompatActivity {
 
    private String LOG_TAG;
    private TextView textView;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        //Авторизация пользователя
        VKSdk.login(this, VKScope.WALL, VKScope.GROUPS, VKScope.PAGES, VKScope.FRIENDS);
    }
 
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        if (!VKSdk.onActivityResult(requestCode, resultCode, data, new VKCallback<VKAccessToken>() {
            @Override
            public void onResult(VKAccessToken res) {
                //Пользователь успешно авторизовался
 
                textView = (TextView) findViewById(R.id.textView);
 
                VKRequest request = new VKRequest("pages.get", VKParameters.from("owner_id", -140471971, "page_id", 52394462, "global", 0, "site_preview", 0, "need_source", 1, "need_html", 0));
 
                Log.d(LOG_TAG, request.toString());
 
                request.executeWithListener(new VKRequest.VKRequestListener() {
                    @Override
                    public void onComplete(VKResponse response) {
                        super.onComplete(response);
 
                        Log.d(LOG_TAG, response.responseString);
 
                        try {
                            JSONObject jsonObject = response.json.getJSONObject("response");
                            VKApiWikiPage vkApiWikiPage = new VKApiWikiPage();
                            vkApiWikiPage.parse(jsonObject);
 
                            textView.setText(vkApiWikiPage.source);
                        } catch (JSONException e) {
                            e.printStackTrace();
                        }
                    }
 
                    @Override
                    public void onError(VKError error) {
                        super.onError(error);
 
                        Log.d(LOG_TAG, error.toString());
                    }
                });
            }
 
            @Override
            public void onError(VKError error) {
                //Ошибка авторизации
            }
        })) {
            super.onActivityResult(requestCode, resultCode, data);
        }
    }


Осталась, пожалуй, одна загвоздка - как сделать, чтобы приложение могло использовать параметр need_source без прав администратора. Мне нужно, чтобы любой участник группы, в которой находится вики-страница, мог получить ее текст в source. На деле я могу получить source только своей вики-страницы, у этого параметра есть проверка на права админа.
Вопрос: Перенос проекта в Android Studio

Добрый день! Никак не могу найти как перенести проект со студии на одном компьютере на студию на другом. Возможно ли это? Влияет ли различие версий Android Studio на компьютерах?
В сети есть рекомендации использовать импорт из вкладки non-android studio project, но в последних версиях студии такой вкладки нет.
Спасибо!
Ответ: Pir12345, да, конечно. И на втором тоже скомпилировать и выполнить. Если после такого копирования проект на втором компе работает, значит, всё-таки, в том проекте, что вы нам показали, не только кнопки и текст.
Вопрос: Android studio как перенести на другой жёсткий диск

как перенести на другой жёсткий диск программу android studio не хватило место на жёстком решил перенести в другой раздел но после открытия программа начала ругатся как можно исправить
Ответ:
Сообщение от emin313
какой другой комп?
Ну скачайте дистрибутив на работе, а потом установите. Или переделите жёсткий диск (но это опасно). Или слазайте в настройки. Ну не знаю.
Вопрос: Android studio and TFS: связующий плагин (есть ли такой?)

Могу написать чушь сейчас, поправьте, пож, если так будет.

Есть система контроля версий TFS Microsoft visual studio 2010. С функциями взять файл, изменить файл, вернуть файл в общую ветку и тп.
И есть, собственно, Android studio.

Есть ли какой нибудь плагин, что бы при рефакторинге названия файла в Android studio, TFS на лету понимал какой файл как переименовали и учитывал это изменеие?
Иначе, сейчас приходится либо извращаться, либо просто удалять старый файл из TFS'a и добавлять новый (но при этом, естественно, теряется по истории связь нового файла со старым).

Заранее большое спасибо за любую информацию.
Ответ: Согласен.
Но мне нужна связь именно с этой системой контроля версий.
Причина: в этой системе лежит множество проектов, и для этого множества проектов дополнительно реализуется мой проект на Android Studio. Создавать отдельно для моего проекта другую систему контроля версий - это крайний шаг. Пока ищу варианты синергизма.
Вопрос: Сапер в Android Studio

Всем привет, я пишу на Android Studio 2 день и толком его не знаю пока, я пишу на нем игру "сапер"
Идея заключается в том что будет создано 9 кнопок 3х3 и игрок будет на свою удачу нажимать на эти кнопки,
в какой то одной из кнопок будет располагаться сам проигрышь (пока не решил что именно за проигрышь будет, то либо какая то картинка, либо просто надпись где будет просто написано типа "ты проиграл"), проблема заключается в том, что нужен алгоритм где будет выбираться рандомом одна из кнопок, и привязки этой одной из кнопок соответсвующий проигрышь, если у кого нибудь есть какие либо идеи, либо есть какие либо видеоуроки на данную тему, дайте знать


поскриптум: извените если я попал не в ту тему
Ответ: Было бы неплохо узнать чего уже смогли добиться вы сами. Не совсем ясно, чем вам помочь, толи научить рандомом пользоваться, толи кнопки создавать.
Если уж совсем для начала, как сказал CoolMind, просто сделайте форму с 9 кнопками, назовите их соответсовенно от 1 до 9. При старте игры, генерируете номер проигрышной кнопки, например так:
Java
1
2
Random rand = new Random();
int  n = rand.nextInt(9) + 1;
в n попадет число от 1 до 9. А в обработчике проверяйте id кнопки и этого числа, если совпало, значит проиграли.
Вопрос: Где хранятся файлы с БД SQLite в Android Studio?

Такая проблема, создал БД, создал колонки с именами, но потом начал переименовывать и ошибка (код ниже). Пишет не создано колонки с именем, как я понял. Создал новый проект, там программа запускается и выполняет все операции. Скажите, могу я удалить какой-то файл (или часть файла), чтобы таблица создавалась всегда заного (после моего удаления). Класс DBHelper прописан в МейнАктивити.
Кликните здесь для просмотра всего текста
Код ActionScript 3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
04-06 14:56:02.785    1843-1843/ru.site.myapplication33 E/SQLiteLog﹕ (1) table mytable has no column named family
04-06 14:56:02.786    1843-1843/ru.site.myapplication33 E/SQLiteDatabase﹕ Error inserting name=1 family=1
    android.database.sqlite.SQLiteException: table mytable has no column named family (code 1): , while compiling: INSERT INTO mytable(name,family) VALUES (?,?)
            at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)
            at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:889)
            at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:500)
            at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588)
            at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:58)
            at android.database.sqlite.SQLiteStatement.<init>(SQLiteStatement.java:31)
            at android.database.sqlite.SQLiteDatabase.insertWithOnConflict(SQLiteDatabase.java:1469)
            at android.database.sqlite.SQLiteDatabase.insert(SQLiteDatabase.java:1341)
            at ru.site.myapplication33.RedactStudentov.onClick(RedactStudentov.java:74)
            at android.view.View.performClick(View.java:4756)
            at android.view.View$PerformClick.run(View.java:19749)
            at android.os.Handler.handleCallback(Handler.java:739)
            at android.os.Handler.dispatchMessage(Handler.java:95)
            at android.os.Looper.loop(Looper.java:135)
            at android.app.ActivityThread.main(ActivityThread.java:5221)
            at java.lang.reflect.Method.invoke(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:372)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
04-06 14:56:02.786    1843-1843/ru.site.myapplication33 D/myLogs﹕ row inserted, ID = -1
device not found
Ответ: liroykaz, БД в Android Studio предпочтительно хранить в папке assets/ (некоторые по старинке хранят ещё и в assets/databases/). После начала работы программы БД копируется в папку data/имя_пакета/ (как сам настроишь).
Если вам нужны старые данные пользователя перед изменением БД, лучше сначала сделать временную таблицу, а потом уже удалять старую. Если старые данные не нужны, проще удалить БД и скопировать заново, но тут тонкий момент, некоторые смартфоны могут глючить.